123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357 |
- #! /bin/sh
- . test-init.sh
- br='============================================================================'
- case $use_colors in
- yes|no) ;;
- *) fatal_ "invalid \$use_colors value '$use_colors'"
- esac
- fetch_tap_driver
- cat > configure.ac <<END
- AC_INIT([GNU AutoTAP], [5.12], [bug-automake@gnu.org])
- AM_INIT_AUTOMAKE
- AC_CONFIG_FILES([Makefile])
- AC_OUTPUT
- END
- cat > Makefile.am << 'END'
- TEST_LOG_DRIVER = $(srcdir)/tap-driver
- TEST_LOG_COMPILER = cat
- TESTS = all.test
- END
- do_check ()
- {
- case $#,$1 in
- 1,--pass) expect_failure=no;;
- 1,--fail) expect_failure=yes;;
- *) fatal_ "invalid usage of 'do_check'";;
- esac
- shift
- cat > summary.exp
- cat all.test
- if test $use_colors = yes; then
-
-
- make_args='TERM=dumb AM_COLOR_TESTS=always'
- else
- make_args=
- fi
- run_make -O -e IGNORE $make_args check
- if test $expect_failure = yes; then
- test $am_make_rc -gt 0 || exit 1
- else
- test $am_make_rc -eq 0 || exit 1
- fi
- $PERL "$am_testaux_srcdir"/extract-testsuite-summary.pl stdout >summary.got \
- || fatal_ "cannot extract testsuite summary"
- cat summary.exp
- cat summary.got
- if test $use_colors = yes; then
-
- compare=cmp
- else
- compare=diff
- fi
- $compare summary.exp summary.got || exit 1
- }
- if test $use_colors = yes; then
- red="$esc[0;31m"
- grn="$esc[0;32m"
- lgn="$esc[1;32m"
- blu="$esc[1;34m"
- mgn="$esc[0;35m"
- brg="$esc[1m"
- std="$esc[m"
- else
- red= grn= lgn= blu= mgn= brg= std=
- fi
- success_header="\
- ${grn}${br}${std}
- ${grn}Testsuite summary for GNU AutoTAP 5.12${std}
- ${grn}${br}${std}"
- success_footer=${grn}${br}${std}
- failure_header="\
- ${red}${br}${std}
- ${red}Testsuite summary for GNU AutoTAP 5.12${std}
- ${red}${br}${std}"
- failure_footer="\
- ${red}${br}${std}
- ${red}See ./test-suite.log${std}
- ${red}Please report to bug-automake@gnu.org${std}
- ${red}${br}${std}"
- $ACLOCAL
- $AUTOCONF
- $AUTOMAKE --add-missing
- ./configure
- { echo 1..1 && echo ok; } > all.test
- do_check --pass <<END
- $success_header
- ${brg}
- ${grn}
- $success_footer
- END
- { echo 1..1 && echo 'ok # SKIP'; } > all.test
- do_check --pass <<END
- $success_header
- ${brg}
- ${blu}
- $success_footer
- END
- { echo 1..1 && echo 'not ok # TODO'; } > all.test
- do_check --pass <<END
- $success_header
- ${brg}
- ${lgn}
- $success_footer
- END
- { echo 1..1 && echo not ok; } > all.test
- do_check --fail <<END
- $failure_header
- ${brg}
- ${red}
- $failure_footer
- END
- { echo 1..1 && echo 'ok # TODO'; } > all.test
- do_check --fail <<END
- $failure_header
- ${brg}
- ${red}
- $failure_footer
- END
- { echo 1..1 && echo 'Bail out!'; } > all.test
- do_check --fail <<END
- $failure_header
- ${brg}
- ${mgn}
- $failure_footer
- END
- cat > all.test <<END
- 1..3
- ok
- not ok
- ok
- END
- do_check --pass <<END
- $success_header
- ${brg}
- ${grn}
- ${blu}
- ${lgn}
- $success_footer
- END
- cat > all.test <<END
- 1..3
- ok
- ok
- not ok
- END
- do_check --fail <<END
- $failure_header
- ${brg}
- ${grn}
- ${blu}
- ${red}
- $failure_footer
- END
- cat > all.test <<END
- 1..3
- ok
- ok
- not ok
- END
- do_check --fail <<END
- $failure_header
- ${brg}
- ${grn}
- ${lgn}
- ${red}
- $failure_footer
- END
- cat > all.test <<END
- 1..3
- ok
- not ok
- Bail out!
- END
- do_check --fail <<END
- $failure_header
- ${brg}
- ${blu}
- ${lgn}
- ${mgn}
- $failure_footer
- END
- cat > all.test <<END
- 1..6
- ok
- not ok
- ok
- not ok
- ok
- Bail out!
- END
- do_check --fail <<END
- $failure_header
- ${brg}
- ${grn}
- ${blu}
- ${lgn}
- ${red}
- ${red}
- ${mgn}
- $failure_footer
- END
- for i in 0 1 2 3 4 5 6 7 8 9; do
- for j in 0 1 2 3 4 5 6 7 8 9; do
- echo "ok"
- echo "not ok # TODO"
- echo "ok # SKIP"
- done
- done > tap
- (cat tap && cat tap && cat tap) > all.test
- test $(wc -l <all.test) -eq 900 || exit 99
- echo 1..900 >> all.test
- do_check --pass <<END
- $success_header
- ${brg}
- ${grn}
- ${blu}
- ${lgn}
- $success_footer
- END
- (cat tap && echo "not ok" && cat tap) > all.test
- test $(wc -l <all.test) -eq 601 || exit 99
- echo 1..601 >> all.test
- do_check --fail <<END
- $failure_header
- ${brg}
- ${grn}
- ${blu}
- ${lgn}
- ${red}
- $failure_footer
- END
- (cat tap && sed 30q tap && echo 'Bail out!') > all.test
- test $(wc -l <all.test) -eq 331 || exit 99
- echo 1..331 >> all.test
- do_check --fail <<END
- $failure_header
- ${brg}
- ${grn}
- ${blu}
- ${lgn}
- ${mgn}
- $failure_footer
- END
- :
|