[BACK]Return to t_factor.sh CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / tests / games

Annotation of src/tests/games/t_factor.sh, Revision 1.2

1.2     ! jmmv        1: # $NetBSD: t_factor.sh,v 1.1 2007/11/12 15:19:46 jmmv Exp $
1.1       jmmv        2: #
1.2     ! jmmv        3: # Copyright (c) 2007, 2008 The NetBSD Foundation, Inc.
1.1       jmmv        4: # All rights reserved.
                      5: #
                      6: # Redistribution and use in source and binary forms, with or without
                      7: # modification, are permitted provided that the following conditions
                      8: # are met:
                      9: # 1. Redistributions of source code must retain the above copyright
                     10: #    notice, this list of conditions and the following disclaimer.
                     11: # 2. Redistributions in binary form must reproduce the above copyright
                     12: #    notice, this list of conditions and the following disclaimer in the
                     13: #    documentation and/or other materials provided with the distribution.
                     14: # 3. All advertising materials mentioning features or use of this software
                     15: #    must display the following acknowledgement:
                     16: #        This product includes software developed by the NetBSD
                     17: #        Foundation, Inc. and its contributors.
                     18: # 4. Neither the name of The NetBSD Foundation nor the names of its
                     19: #    contributors may be used to endorse or promote products derived
                     20: #    from this software without specific prior written permission.
                     21: #
                     22: # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
                     23: # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
                     24: # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                     25: # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
                     26: # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                     27: # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                     28: # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                     29: # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                     30: # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                     31: # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     32: # POSSIBILITY OF SUCH DAMAGE.
                     33: #
                     34:
                     35: expect() {
                     36:        echo "${2}" >expout
                     37:        atf_check "factor ${1}" 0 expout null
                     38: }
                     39:
                     40: atf_test_case overflow
                     41: overflow_head() {
                     42:        atf_set "descr" "Tests for overflow conditions"
                     43:        atf_set "require.progs" "factor"
                     44: }
                     45: overflow_body() {
                     46:        expect '8675309' '8675309: 8675309'
                     47:        expect '6172538568' '6172538568: 2 2 2 3 7 17 2161253'
                     48: }
                     49:
                     50: atf_test_case loop
                     51: loop_head() {
                     52:        atf_set "descr" "Tests some cases that once locked the program" \
                     53:                        "in an infinite loop"
                     54:        atf_set "require.progs" "factor"
                     55: }
                     56: loop_body() {
                     57:        expect '99999999999991' '99999999999991: 7 13 769231 1428571'
                     58:        expect '2147483647111311' '2147483647111311: 3 3 3 131 607148331103'
                     59: }
                     60:
                     61: atf_init_test_cases()
                     62: {
                     63:        atf_add_test_case overflow
                     64:        atf_add_test_case loop
                     65: }

CVSweb <webmaster@jp.NetBSD.org>