Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tests/games Add tests for h and x flags



details:   https://anonhg.NetBSD.org/src/rev/4bb6a7b7ebef
branches:  trunk
changeset: 955782:4bb6a7b7ebef
user:      christos <christos%NetBSD.org@localhost>
date:      Sun Oct 11 17:17:39 2020 +0000

description:
Add tests for h and x flags

diffstat:

 tests/games/t_factor.sh |  102 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 95 insertions(+), 7 deletions(-)

diffs (153 lines):

diff -r 701221c37007 -r 4bb6a7b7ebef tests/games/t_factor.sh
--- a/tests/games/t_factor.sh   Sun Oct 11 16:22:02 2020 +0000
+++ b/tests/games/t_factor.sh   Sun Oct 11 17:17:39 2020 +0000
@@ -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 @@
        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 @@
        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 @@
        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 @@
        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_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
 }



Home | Main Index | Thread Index | Old Index