X-Git-Url: http://git.draconx.ca/gitweb/dxcommon.git/blobdiff_plain/c3f53b697f5dd5ecd5a5f74e94ec0fd55b0f2764..cba6ab66683d20b46def45f691fa7c750f3f9a2b:/tests/scripts.at diff --git a/tests/scripts.at b/tests/scripts.at index 7a873a9..1748070 100644 --- a/tests/scripts.at +++ b/tests/scripts.at @@ -1,4 +1,4 @@ -dnl Copyright © 2021-2023 Nick Bowler +dnl Copyright © 2021-2024 Nick Bowler dnl dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2. dnl This is free software: you are free to do what the fuck you want to. @@ -93,7 +93,8 @@ int main(void) return 0; } ]]) -AT_CHECK([$CC -o test0$EXEEXT test0.c && ./test0$EXEEXT], [0], [], [ignore]) +AT_CHECK([$CC -o test0$EXEEXT test0.c 1>&2 && ./test0$EXEEXT], + [0], [], [ignore]) # test 1: long option names and help text AT_DATA([test1.c], @@ -144,7 +145,7 @@ AT_DATA([lopthelp.awk], ]]) $AWK -f lopthelp.awk options.def >expout -AT_CHECK([$CC -o test1$EXEEXT test1.c && ./test1$EXEEXT], +AT_CHECK([$CC -o test1$EXEEXT test1.c 1>&2 && ./test1$EXEEXT], [0], [expout], [ignore]) # test 2: short option string @@ -191,7 +192,7 @@ AT_DATA([soptstr.awk], ]]) $AWK -f soptstr.awk options.def >expout -AT_CHECK([$CC -o test2$EXEEXT test2.c && ./test2$EXEEXT], +AT_CHECK([$CC -o test2$EXEEXT test2.c 1>&2 && ./test2$EXEEXT], [0], [expout], [ignore]) AT_CLEANUP @@ -312,23 +313,23 @@ int main(void) TEST_GEN_OPTIONS([[--single-option ]], [single.dat]) -AT_CHECK([$CC -o single$EXEEXT test.c && ./single$EXEEXT], [0], +AT_CHECK([$CC -o single$EXEEXT test.c 1>&2 && ./single$EXEEXT], [0], [[0 --single-option, 0, 0 -]]) +]], [ignore]) TEST_GEN_OPTIONS([[-a, --the-first-option -b, --the-second-option=ARG -c, --the-third-option[=ARG] -d, --the-fourth-option ]], [16bit.dat]) -AT_CHECK([$CC -o 16bit$EXEEXT test.c && ./16bit$EXEEXT], [0], +AT_CHECK([$CC -o 16bit$EXEEXT test.c 1>&2 && ./16bit$EXEEXT], [0], [[2 --the-first-option, 0, 'a' --the-second-option, 1, 'b' --the-third-option, 2, 'c' --the-fourth-option, 0, 'd' -]]) +]], [ignore]) AT_CLEANUP @@ -377,7 +378,7 @@ AS_ECHO([' return 0;']) AS_ECHO(['}']) } test0.c -AT_CHECK([$CC -o test0$EXEEXT test0.c && ./test0$EXEEXT], [0], [--- +AT_CHECK([$CC -o test0$EXEEXT test0.c 1>&2 && ./test0$EXEEXT], [0], [--- world --- hello world @@ -433,12 +434,12 @@ AT_DATA([test.c], #include HEADER int main(void) { printf("%d %s\n", hello, strtab+hello); return 0; } ]]) -AT_CHECK([$CC -DHEADER='"test0.h"' -o test0$EXEEXT test.c && ./test0$EXEEXT], - [0], [[0 hello -]]) -AT_CHECK([$CC -DHEADER='"test1.h"' -o test1$EXEEXT test.c && ./test1$EXEEXT], - [0], [[1 hello -]]) +AT_CHECK([$CC -DHEADER='"test0.h"' -o test0$EXEEXT test.c 1>&2 && + ./test0$EXEEXT], [0], [[0 hello +]], [ignore]) +AT_CHECK([$CC -DHEADER='"test1.h"' -o test1$EXEEXT test.c 1>&2 && + ./test1$EXEEXT], [0], [[1 hello +]], [ignore]) AT_CLEANUP @@ -465,11 +466,11 @@ int main(void) return 0; } ]]) -AT_CHECK([$CC -o test0$EXEEXT test0.c && ./test0$EXEEXT], [0], +AT_CHECK([$CC -o test0$EXEEXT test0.c 1>&2 && ./test0$EXEEXT], [0], [[foobar bar baz -]]) +]], [ignore]) AT_CLEANUP @@ -514,13 +515,13 @@ int main(void) } ]]) -AT_CHECK([$CC -DHEADER='"test0.h"' -o test0$EXEEXT test.c && ./test0$EXEEXT], - [0], [[hello world world goodbye -]]) +AT_CHECK([$CC -DHEADER='"test0.h"' -o test0$EXEEXT test.c 1>&2 && + ./test0$EXEEXT], [0], [[hello world world goodbye +]], [ignore]) -AT_CHECK([$CC -DHEADER='"test1.h"' -o test1$EXEEXT test.c && ./test1$EXEEXT], - [0], [[hello world world goodbye -]]) +AT_CHECK([$CC -DHEADER='"test1.h"' -o test1$EXEEXT test.c 1>&2 && + ./test1$EXEEXT], [0], [[hello world world goodbye +]], [ignore]) AT_CLEANUP @@ -593,7 +594,8 @@ int main(void) } ]]) sed '/^#/d' tree.def >expout -AT_CHECK([$CC -o test0$EXEEXT test0.c && ./test0$EXEEXT], [0], [expout]) +AT_CHECK([$CC -o test0$EXEEXT test0.c 1>&2 && ./test0$EXEEXT], + [0], [expout], [ignore]) AT_CLEANUP @@ -635,7 +637,7 @@ int main(void) } ]]) -AT_CHECK([$CC -o test0$EXEEXT test0.c && ./test0$EXEEXT], [0], +AT_CHECK([$CC -o test0$EXEEXT test0.c 1>&2 && ./test0$EXEEXT], [0], [[1, 3 2, 6 0, 0 @@ -645,7 +647,7 @@ AT_CHECK([$CC -o test0$EXEEXT test0.c && ./test0$EXEEXT], [0], 1, 0 2, 0 0, 0 -]]) +]], [ignore]) AT_DATA([flat.def], [[FLAT @@ -657,12 +659,12 @@ AT_DATA([flat.def], AT_CHECK([$AWK -f "$srcdir/scripts/gen-tree.awk" flat.h]) sed -e 's/tree\.h/flat.h/' -e 's/ROOT/FLAT/' test0.c >test1.c -AT_CHECK([$CC -o test1$EXEEXT test1.c && ./test1$EXEEXT], [0], +AT_CHECK([$CC -o test1$EXEEXT test1.c 1>&2 && ./test1$EXEEXT], [0], [[1, 0 2, 0 3, 0 0, 0 -]]) +]], [ignore]) AT_CLEANUP @@ -910,38 +912,6 @@ grep SED_HEADER test.mk], [0], [expout]) AT_CLEANUP -AT_SETUP([fix-gnulib.pl %reldir% substitution]) -AT_KEYWORDS([fix-gnulib perl script scripts]) - -test_gnulib_mk sys_types >test.mk.in -AT_CHECK([grep '%reldir%' test.mk.in >/dev/null || exit 99]) - -sed -n expout ' -$G -$p -$b -/^## begin gnulib/,/^## end gnulib/!b -/^#/{ -p -b -} -s|(srcdir)|(top_srcdir)| -s|%reldir%|lib| -s|BUILT_SOURCES|gnulib_core_headers| -s|sys[[/_]]|lib/&|g -/^MOSTLYCLEANFILES/{ -h -b -} -p' - -AT_CHECK([test_fix_gnulib -i test.mk.in -o test.mk || exit -sed -n -e '/^## begin gnulib/,/^## end gnulib/p' \ - -e '/CLEANFILES/p' test.mk], -[0], [expout]) - -AT_CLEANUP - AT_SETUP([fix-gnulib.pl warning removal]) AT_KEYWORDS([fix-gnulib perl script scripts]) @@ -965,34 +935,31 @@ AT_CLEANUP AT_SETUP([fix-gnulib.pl header directory creation]) AT_KEYWORDS([fix-gnulib perl script scripts]) -AT_DATA([extract.sed], -[[/AM_V_GEN/b ok -/gl_V_at/b ok -s/:.*/:/ -h -b -:ok -s/'//g -x -G -p -n -s/[)].*/)/ -p +AT_DATA([extract.awk], +[[$0 !~ /^\t/ && $1 ~ /:$/ { + target=$1; + + for (i = 2; i <= NF; i++) { + if ($i ~ /am__dirstamp/) + target = target " " $i; + } + + next; +} + +target != "" && sub(/[$][({](AM_V_GEN|gl_V_at)[})].*$/, "[OK]") { + print target, $1; +} + +{ target=""; } ]]) test_gnulib_mk alloca-opt sys_types stddef >test.mk.in AT_CHECK([test_fix_gnulib -i test.mk.in -o test.mk || exit -sed -n -f extract.sed test.mk], [0], -[[lib/alloca.h: - $(AM_V_GEN)$(MKDIR_P) lib - $(AM_V_at) -lib/sys/types.h: - $(AM_V_GEN)$(MKDIR_P) lib/sys - $(AM_V_at) -lib/stddef.h: - $(AM_V_GEN)$(MKDIR_P) lib - $(AM_V_at) +$AWK -f extract.awk test.mk], [0], +[[lib/alloca.h: lib/$(am__dirstamp) [OK] +lib/sys/types.h: lib/sys/$(am__dirstamp) [OK] +lib/stddef.h: lib/$(am__dirstamp) [OK] ]]) AT_CLEANUP