URL: <https://savannah.gnu.org/support/?110985>
Summary: "Substitute and define special characters" test fails on NetBSD 9 Group: Autoconf Submitter: zackw Submitted: Wed 20 Dec 2023 01:59:11 PM UTC Priority: 5 - Unprioritized Severity: 2 - Minor Status: Need Info Privacy: Public Assigned to: None Originator Email: Open/Closed: Open Discussion Lock: Any Operating System: None _______________________________________________________ Follow-up Comments: ------------------------------------------------------- Date: Wed 20 Dec 2023 01:59:11 PM UTC By: Zack Weinberg <zackw> On x86_64-unknown-netbsd9.3, running Autoconf's test suite consistently produces this failure: Failed tests: NUM: FILE-NAME:LINE TEST-GROUP-NAME 270: torture.at:913 Substitute and define special characters This test checks whether it is possible to pass a string through AC_SUBST that includes a byte with every possible value except 0x00. The log for the testsuite says configure: creating ./config.status config.status: creating Foo config.status: creating Zardoz config.status: creating config.h ./torture.at:987: cat Foo ./torture.at:1000: cmp allowed-chars Zardoz --- /dev/null 2023-12-19 14:19:58.701932966 -0500 +++ /net/u/1/z/zackw/autoconf-2.72d.16-9800e-dirty/tests/testsuite.dir/at-groups /270/stdout 2023-12-19 14:19:58.910181000 -0500 @@ -0,0 +1 @@ +allowed-chars Zardoz differ: char 256, line 2 ./torture.at:1000: exit code was 1, expected 0 Comparing hex dumps of the files "allowed-chars" and "Zardoz" shows that the problem is that an extra byte (with value 0x81) has been inserted before each byte with a value in the range 0x81 through 0x8b. The extra bytes are *not* present in the value of @zardoz@ recorded in config.status, but they *are* present in the temporary file `subs1.awk` used by config.status (to see this file run `./config.status -d` and then look in the directory named confXXXXXX, where XXXXXX is some random sequence of alphanumerics). Thus, this appears to be a bug in the handling of here documents in this system's /bin/sh. However, the obvious cut-down version of the code in config.status does _not_ show the bug: $ printf 'xxd <<\\EOF\n\x80\x81\x82\x83\x84\x85\x86\x87\n\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\nEOF\n' > test.sh $ /bin/sh test.sh 00000000: 8081 8283 8485 8687 0a88 898a 8b8c 8d8e ................ 00000010: 8f0a .. We need to pin down exactly what the bug is before we can do anything about it. If you encounter a failure in this test on any platform _besides_ *-unknown-netbsd9*, please post a comment here. Please attach a tarball of the directory tests/testsuite.dir/270 (note: the number may be different if you are testing a version of Autoconf other than 2.72). _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Wed 20 Dec 2023 01:59:11 PM UTC Name: failed-test-270.tar.gz Size: 133KiB By: zackw <http://savannah.gnu.org/support/download.php?file_id=55471> _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/support/?110985> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/