-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.
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],
]])
$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
]])
$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
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
AS_ECHO(['}'])
} <identifiers >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
#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
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
}
]])
-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
}
]])
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
}
]])
-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
1, 0
2, 0
0, 0
-]])
+]], [ignore])
AT_DATA([flat.def],
[[FLAT
AT_CHECK([$AWK -f "$srcdir/scripts/gen-tree.awk" <flat.def >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
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 <test.mk.in >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])
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