Module Name: src Committed By: pgoyette Date: Mon Jan 3 20:51:26 UTC 2011
Modified Files: src/tests/lib/libc/gen: t_ldexp.c t_siginfo.c src/tests/lib/libc/ieeefp: t_except.c Log Message: Don't run FP Exception tests under qemu - they don't work. While here, properly skip certain tests on vax architecture. (It is not legal to have a test-program with zero test cases, so each test case needs to check-and-skip.) To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/gen/t_ldexp.c cvs rdiff -u -r1.7 -r1.8 src/tests/lib/libc/gen/t_siginfo.c cvs rdiff -u -r1.4 -r1.5 src/tests/lib/libc/ieeefp/t_except.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/lib/libc/gen/t_ldexp.c diff -u src/tests/lib/libc/gen/t_ldexp.c:1.2 src/tests/lib/libc/gen/t_ldexp.c:1.3 --- src/tests/lib/libc/gen/t_ldexp.c:1.2 Sat Jan 1 23:45:01 2011 +++ src/tests/lib/libc/gen/t_ldexp.c Mon Jan 3 20:51:26 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: t_ldexp.c,v 1.2 2011/01/01 23:45:01 pgoyette Exp $ */ +/* $NetBSD: t_ldexp.c,v 1.3 2011/01/03 20:51:26 pgoyette Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -182,7 +182,11 @@ } \ ATF_TC_BODY(name, tc) \ { \ + const char *arch; \ \ + arch = atf_config_get("atf_arch"); \ + if (strcmp("vax", arch) == 0) \ + atf_tc_skip("Test not valid for %s", arch); \ run_test(name); \ } @@ -196,19 +200,14 @@ ATF_TP_ADD_TCS(tp) { - const char *arch; - arch = atf_config_get("atf_arch"); - if (strcmp("vax", arch) != 0) { - ATF_TP_ADD_TC(tp, basics); - ATF_TP_ADD_TC(tp, zero); - ATF_TP_ADD_TC(tp, infinity); - ATF_TP_ADD_TC(tp, overflow); - ATF_TP_ADD_TC(tp, denormal); - ATF_TP_ADD_TC(tp, underflow); - ATF_TP_ADD_TC(tp, denormal_large_exp); - } else - printf("Test not valid for %s\n", arch); + ATF_TP_ADD_TC(tp, basics); + ATF_TP_ADD_TC(tp, zero); + ATF_TP_ADD_TC(tp, infinity); + ATF_TP_ADD_TC(tp, overflow); + ATF_TP_ADD_TC(tp, denormal); + ATF_TP_ADD_TC(tp, underflow); + ATF_TP_ADD_TC(tp, denormal_large_exp); return atf_no_error(); } Index: src/tests/lib/libc/gen/t_siginfo.c diff -u src/tests/lib/libc/gen/t_siginfo.c:1.7 src/tests/lib/libc/gen/t_siginfo.c:1.8 --- src/tests/lib/libc/gen/t_siginfo.c:1.7 Sun Jan 2 21:39:24 2011 +++ src/tests/lib/libc/gen/t_siginfo.c Mon Jan 3 20:51:26 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: t_siginfo.c,v 1.7 2011/01/02 21:39:24 pgoyette Exp $ */ +/* $NetBSD: t_siginfo.c,v 1.8 2011/01/03 20:51:26 pgoyette Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -296,6 +296,8 @@ struct sigaction sa; double d = strtod("0", NULL); + if (system("cpuctl identify 0 | grep -q QEMU") == 0) + atf_tc_skip("Test does not run correctly under qemu"); if (sigsetjmp(sigfpe_flt_env, 0) == 0) { sa.sa_flags = SA_SIGINFO; sa.sa_sigaction = sigfpe_flt_action; Index: src/tests/lib/libc/ieeefp/t_except.c diff -u src/tests/lib/libc/ieeefp/t_except.c:1.4 src/tests/lib/libc/ieeefp/t_except.c:1.5 --- src/tests/lib/libc/ieeefp/t_except.c:1.4 Mon Jan 3 09:14:21 2011 +++ src/tests/lib/libc/ieeefp/t_except.c Mon Jan 3 20:51:26 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: t_except.c,v 1.4 2011/01/03 09:14:21 dholland Exp $ */ +/* $NetBSD: t_except.c,v 1.5 2011/01/03 20:51:26 pgoyette Exp $ */ /*- * Copyright (c) 1995 The NetBSD Foundation, Inc. @@ -38,6 +38,9 @@ #include <stdlib.h> #include <string.h> +const char *skip_mesg; +const char *skip_arch; + void sigfpe(int, siginfo_t *, void *); volatile sig_atomic_t signal_caught; volatile int sicode; @@ -282,6 +285,8 @@ ATF_TC_BODY(m##_##t, tc) \ { \ \ + if (skip_mesg != NULL) \ + atf_tc_skip(skip_mesg, skip_arch); \ m(t##_ops); \ } @@ -294,19 +299,22 @@ ATF_TP_ADD_TCS(tp) { - const char *arch; - arch = atf_config_get("atf_machine"); - if (strcmp("vax", arch) == 0 || strcmp("m68000", arch) == 0) - printf("Test not applicable on %s", arch); - else { - ATF_TP_ADD_TC(tp, masked_float); - ATF_TP_ADD_TC(tp, masked_double); - ATF_TP_ADD_TC(tp, masked_long_double); - ATF_TP_ADD_TC(tp, unmasked_float); - ATF_TP_ADD_TC(tp, unmasked_double); - ATF_TP_ADD_TC(tp, unmasked_long_double); - } + skip_arch = atf_config_get("atf_machine"); + if (strcmp("vax", skip_arch) == 0 || strcmp("m68000", skip_arch) == 0) + skip_mesg = "Test not applicable on %s"; + else if (system("cpuctl identify 0 | grep -q QEMU") == 0) { + skip_mesg = "Test does not run correctly under %s"; + skip_arch = "QEMU"; + } else + skip_mesg = NULL; + + ATF_TP_ADD_TC(tp, masked_float); + ATF_TP_ADD_TC(tp, masked_double); + ATF_TP_ADD_TC(tp, masked_long_double); + ATF_TP_ADD_TC(tp, unmasked_float); + ATF_TP_ADD_TC(tp, unmasked_double); + ATF_TP_ADD_TC(tp, unmasked_long_double); return atf_no_error(); }