Module Name: src Committed By: christos Date: Sun Oct 11 17:17:39 UTC 2020
Modified Files: src/tests/games: t_factor.sh Log Message: Add tests for h and x flags To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/tests/games/t_factor.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/games/t_factor.sh diff -u src/tests/games/t_factor.sh:1.9 src/tests/games/t_factor.sh:1.10 --- src/tests/games/t_factor.sh:1.9 Mon Jun 27 01:29:32 2016 +++ src/tests/games/t_factor.sh Sun Oct 11 13:17:39 2020 @@ -1,4 +1,4 @@ -# $NetBSD: t_factor.sh,v 1.9 2016/06/27 05:29:32 pgoyette Exp $ +# $NetBSD: t_factor.sh,v 1.10 2020/10/11 17:17:39 christos Exp $ # # Copyright (c) 2007, 2008, 2009 The NetBSD Foundation, Inc. # All rights reserved. @@ -26,12 +26,12 @@ # expect() { - echo "${2}" >expout + echo "${3}" >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_check -s eq:0 -o file:expout -e empty /usr/games/factor ${1} ${2} } atf_test_case overflow1 @@ -40,7 +40,7 @@ overflow1_head() { atf_set "require.progs" "/usr/games/factor" } overflow1_body() { - expect '8675309' '8675309: 8675309' + expect "" '8675309' '8675309: 8675309' } atf_test_case overflow2 @@ -49,7 +49,7 @@ overflow2_head() { atf_set "require.progs" "/usr/games/factor" } overflow2_body() { - expect '6172538568' '6172538568: 2 2 2 3 7 17 2161253' + expect "" '6172538568' '6172538568: 2 2 2 3 7 17 2161253' } atf_test_case loop1 @@ -59,7 +59,7 @@ loop1_head() { atf_set "require.progs" "/usr/games/factor" } loop1_body() { - expect '2147483647111311' '2147483647111311: 3 3 3 131 607148331103' + expect "" '2147483647111311' '2147483647111311: 3 3 3 131 607148331103' } atf_test_case loop2 @@ -69,7 +69,85 @@ loop2_head() { atf_set "require.progs" "/usr/games/factor" } loop2_body() { - expect '99999999999991' '99999999999991: 7 13 769231 1428571' Need_Crypto + expect "" '99999999999991' '99999999999991: 7 13 769231 1428571' Need_Crypto +} + + +atf_test_case h_overflow1 +h_overflow1_head() { + atf_set "descr" "Tests for h_overflow conditions" + atf_set "require.progs" "/usr/games/factor" +} +h_overflow1_body() { + expect -h '8675309' '8675309: 8675309' +} + +atf_test_case h_overflow2 +h_overflow2_head() { + atf_set "descr" "Tests for h_overflow conditions" + atf_set "require.progs" "/usr/games/factor" +} +h_overflow2_body() { + expect -h '6172538568' '6172538568: 2^3 3 7 17 2161253' +} + +atf_test_case h_loop1 +h_loop1_head() { + atf_set "descr" "Tests some cases that once locked the program" \ + "in an infinite h_loop" + atf_set "require.progs" "/usr/games/factor" +} +h_loop1_body() { + expect -h '2147483647111311' '2147483647111311: 3^3 131 607148331103' +} + +atf_test_case h_loop2 +h_loop2_head() { + atf_set "descr" "Tests some cases that once locked the program" \ + "in an infinite h_loop" + atf_set "require.progs" "/usr/games/factor" +} +h_loop2_body() { + expect -h '99999999999991' '99999999999991: 7 13 769231 1428571' Need_Crypto +} + + +atf_test_case hx_overflow1 +hx_overflow1_head() { + atf_set "descr" "Tests for hx_overflow conditions" + atf_set "require.progs" "/usr/games/factor" +} +hx_overflow1_body() { + expect -hx '8675309' '0x845FED: 0x845FED' +} + +atf_test_case hx_overflow2 +hx_overflow2_head() { + atf_set "descr" "Tests for hx_overflow conditions" + atf_set "require.progs" "/usr/games/factor" +} +hx_overflow2_body() { + expect -hx '6172538568' '0x16FE976C8: 0x2^3 0x3 0x7 0x11 0x20FA65' +} + +atf_test_case hx_loop1 +hx_loop1_head() { + atf_set "descr" "Tests some cases that once locked the program" \ + "in an infinite hx_loop" + atf_set "require.progs" "/usr/games/factor" +} +hx_loop1_body() { + expect -hx '2147483647111311' '0x7A11FFFF2708F: 0x3^3 0x83 0x8D5CDC505F' +} + +atf_test_case hx_loop2 +hx_loop2_head() { + atf_set "descr" "Tests some cases that once locked the program" \ + "in an infinite hx_loop" + atf_set "require.progs" "/usr/games/factor" +} +hx_loop2_body() { + expect -hx '99999999999991' '0x5AF3107A3FF7: 0x7 0xd 0xBBCCF 0x15CC5B' Need_Crypto } atf_init_test_cases() @@ -78,4 +156,14 @@ atf_init_test_cases() atf_add_test_case overflow2 atf_add_test_case loop1 atf_add_test_case loop2 + + atf_add_test_case h_overflow1 + atf_add_test_case h_overflow2 + atf_add_test_case h_loop1 + atf_add_test_case h_loop2 + + atf_add_test_case hx_overflow1 + atf_add_test_case hx_overflow2 + atf_add_test_case hx_loop1 + atf_add_test_case hx_loop2 }