Windows: Fix tests in lib/asn1
authorAsanka Herath <asanka@secure-endpoints.com>
Fri, 18 Jun 2010 03:04:16 +0000 (23:04 -0400)
committerAsanka Herath <asanka@secure-endpoints.com>
Fri, 20 Aug 2010 17:06:57 +0000 (13:06 -0400)
lib/asn1/NTMakefile
lib/asn1/check-common.c

index ee58ad5d327ab423dd6e72106f9919d7485a0d68..6a4c5f8bacd872058ba4a8ac81e0fb870e89fb6d 100644 (file)
@@ -735,11 +735,44 @@ all-tools:: $(LIBEXECDIR)\asn1_print.exe $(BINDIR)\asn1_gen.exe
 TEST_BINARIES=\
        $(OBJ)\check-der.exe    \
        $(OBJ)\check-gen.exe    \
-       $(OBJ)\check-timegm.exe
+       $(OBJ)\check-timegm.exe \
+       $(OBJ)\check-ber.exe    \
+       $(OBJ)\check-template.exe \
 
 test-binaries: $(TEST_BINARIES)
 
 test-run:
+       cd $(OBJ)
+       check-der.exe
+       check-gen.exe
+       check-timegm.exe
+       check-ber.exe
+       check-template.exe
+       cd $(SRC)
 
 test:: test-binaries test-run
 
+$(OBJ)\check-ber.exe: $(OBJ)\check-ber.obj \
+               $(LIBHEIMDAL) $(LIBROKEN)
+       $(EXECONLINK)
+       $(EXEPREP_NODIST)
+
+$(OBJ)\check-der.exe: $(OBJ)\check-der.obj $(OBJ)\check-common.obj \
+               $(LIBHEIMDAL) $(LIBROKEN)
+       $(EXECONLINK)
+       $(EXEPREP_NODIST)
+
+$(OBJ)\check-gen.exe: $(OBJ)\check-gen.obj $(OBJ)\check-common.obj \
+               $(LIBHEIMDAL) $(LIBROKEN) $(gen_files_test:.x=.obj)
+       $(EXECONLINK)
+       $(EXEPREP_NODIST)
+
+$(OBJ)\check-timegm.exe: $(OBJ)\check-timegm.obj \
+               $(LIBHEIMDAL) $(LIBROKEN)
+       $(EXECONLINK)
+       $(EXEPREP_NODIST)
+
+$(OBJ)\check-template.exe: $(OBJ)\check-template.obj $(OBJ)\check-common.obj \
+               $(LIBHEIMDAL) $(LIBROKEN) $(gen_files_test:.x=.obj)
+       $(EXECONLINK)
+       $(EXEPREP_NODIST)
index 15b3869bc23270d192d30f099836b6ecad7f8c46..886be89e3a5f5e0a4b6431af24b48845aa7d5982 100644 (file)
@@ -208,7 +208,9 @@ generic_test (const struct test_case *tests,
     void *data;
     struct map_page *data_map, *buf_map, *buf2_map;
 
+#ifdef HAVE_SIGACTION
     struct sigaction sa, osa;
+#endif
 
     for (i = 0; i < ntests; ++i) {
        int ret;
@@ -219,6 +221,7 @@ generic_test (const struct test_case *tests,
 
        current_state = "init";
 
+#ifdef HAVE_SIGACTION
        sigemptyset (&sa.sa_mask);
        sa.sa_flags = 0;
 #ifdef SA_RESETHAND
@@ -226,6 +229,7 @@ generic_test (const struct test_case *tests,
 #endif
        sa.sa_handler = segv_handler;
        sigaction (SIGSEGV, &sa, &osa);
+#endif
 
        data = map_alloc(OVERRUN, NULL, data_size, &data_map);
 
@@ -241,7 +245,7 @@ generic_test (const struct test_case *tests,
            continue;
        }
        if (sz != tests[i].byte_len) {
-           printf ("encoding of %s has wrong len (%lu != %lu)\n",
+           printf ("encoding of %s has wrong len (%lu != %lu)\n",
                    tests[i].name,
                    (unsigned long)sz, (unsigned long)tests[i].byte_len);
            ++failures;
@@ -329,7 +333,9 @@ generic_test (const struct test_case *tests,
        map_free(buf2_map, tests[i].name, "decode");
        map_free(data_map, tests[i].name, "data");
 
+#ifdef HAVE_SIGACTION
        sigaction (SIGSEGV, &osa, NULL);
+#endif
     }
     current_state = "done";
     return failures;
@@ -355,7 +361,9 @@ generic_decode_fail (const struct test_case *tests,
     void *data;
     struct map_page *data_map, *buf_map;
 
+#ifdef HAVE_SIGACTION
     struct sigaction sa, osa;
+#endif
 
     for (i = 0; i < ntests; ++i) {
        int ret;
@@ -366,6 +374,7 @@ generic_decode_fail (const struct test_case *tests,
 
        current_state = "init";
 
+#ifdef HAVE_SIGACTION
        sigemptyset (&sa.sa_mask);
        sa.sa_flags = 0;
 #ifdef SA_RESETHAND
@@ -373,6 +382,7 @@ generic_decode_fail (const struct test_case *tests,
 #endif
        sa.sa_handler = segv_handler;
        sigaction (SIGSEGV, &sa, &osa);
+#endif
 
        data = map_alloc(OVERRUN, NULL, data_size, &data_map);
 
@@ -402,7 +412,9 @@ generic_decode_fail (const struct test_case *tests,
            map_free(buf_map, tests[i].name, "encode");
        map_free(data_map, tests[i].name, "data");
 
+#ifdef HAVE_SIGACTION
        sigaction (SIGSEGV, &osa, NULL);
+#endif
     }
     current_state = "done";
     return failures;