diff options
Diffstat (limited to 'contrib/netbsd-tests/games/t_factor.sh')
-rwxr-xr-x | contrib/netbsd-tests/games/t_factor.sh | 43 |
1 files changed, 33 insertions, 10 deletions
diff --git a/contrib/netbsd-tests/games/t_factor.sh b/contrib/netbsd-tests/games/t_factor.sh index e2320a2..45a54bc 100755 --- a/contrib/netbsd-tests/games/t_factor.sh +++ b/contrib/netbsd-tests/games/t_factor.sh @@ -1,4 +1,4 @@ -# $NetBSD: t_factor.sh,v 1.7 2010/11/19 12:31:36 pgoyette Exp $ +# $NetBSD: t_factor.sh,v 1.9 2016/06/27 05:29:32 pgoyette Exp $ # # Copyright (c) 2007, 2008, 2009 The NetBSD Foundation, Inc. # All rights reserved. @@ -27,32 +27,55 @@ expect() { echo "${2}" >expout + ncrypt=$( ldd /usr/games/factor | grep -c -- -lcrypt ) + if [ "X$3" != "X" -a $ncrypt -eq 0 ] ; then + atf_skip "crypto needed for huge non-prime factors - PR bin/23663" + fi atf_check -s eq:0 -o file:expout -e empty /usr/games/factor ${1} } -atf_test_case overflow -overflow_head() { +atf_test_case overflow1 +overflow1_head() { atf_set "descr" "Tests for overflow conditions" atf_set "require.progs" "/usr/games/factor" } -overflow_body() { +overflow1_body() { expect '8675309' '8675309: 8675309' +} + +atf_test_case overflow2 +overflow2_head() { + atf_set "descr" "Tests for overflow conditions" + atf_set "require.progs" "/usr/games/factor" +} +overflow2_body() { expect '6172538568' '6172538568: 2 2 2 3 7 17 2161253' } -atf_test_case loop -loop_head() { +atf_test_case loop1 +loop1_head() { atf_set "descr" "Tests some cases that once locked the program" \ "in an infinite loop" atf_set "require.progs" "/usr/games/factor" } -loop_body() { - expect '99999999999991' '99999999999991: 7 13 769231 1428571' +loop1_body() { expect '2147483647111311' '2147483647111311: 3 3 3 131 607148331103' } +atf_test_case loop2 +loop2_head() { + atf_set "descr" "Tests some cases that once locked the program" \ + "in an infinite loop" + atf_set "require.progs" "/usr/games/factor" +} +loop2_body() { + expect '99999999999991' '99999999999991: 7 13 769231 1428571' Need_Crypto +} + atf_init_test_cases() { - atf_add_test_case overflow - atf_add_test_case loop + atf_add_test_case overflow1 + atf_add_test_case overflow2 + atf_add_test_case loop1 + atf_add_test_case loop2 } |