From 6ab44f06a3bfefe71f0428e0a8a8592304b3180e Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Thu, 17 Jun 2010 23:04:16 -0400 Subject: [PATCH] Windows: Fix tests in lib/asn1 --- lib/asn1/NTMakefile | 35 ++++++++++++++++++++++++++++++++++- lib/asn1/check-common.c | 14 +++++++++++++- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/lib/asn1/NTMakefile b/lib/asn1/NTMakefile index ee58ad5d3..6a4c5f8ba 100644 --- a/lib/asn1/NTMakefile +++ b/lib/asn1/NTMakefile @@ -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) diff --git a/lib/asn1/check-common.c b/lib/asn1/check-common.c index 15b3869bc..886be89e3 100644 --- a/lib/asn1/check-common.c +++ b/lib/asn1/check-common.c @@ -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;