On Sonntag, 9. Oktober 2022 00:47:41 CEST Paul Eggert wrote: > Looks like you're using a shell that invokes 'tar' and passes the > fully-qualified file name as argv[0]. You might try using a shell that > doesn't do that; 'tar' (and most other programs) expect $0 to be the > name used to invoke the program.
I just had a glimpse at this, but yeah, seems Paul is right. The test (e.g. tests/opcomp01.at) fails because it compares the actually generated error message *exactly* with the expected error message, i.e.: Expected error message: tar: '--occurrence' cannot be used with '-c' Try 'tar --help' or 'tar --usage' for more information. Actual error message: /home/arthur/cpu2017/tools/src/tar-1.28/src/tar: '--occurrence' cannot be used with '-c' Try '/home/arthur/cpu2017/tools/src/tar-1.28/src/tar --help' or '/home/arthur/cpu2017/tools/src/tar-1.28/src/tar --usage' for more information. So Paul's point was argv[0] should not be the fully qualified path to the `tar` binary. POSIX says [1]: "The argument arg0 should point to a filename string that is associated with the process being started by one of the exec functions." And defines "Filename" as [2]: "A sequence of bytes consisting of 1 to {NAME_MAX} bytes used to name a file. The bytes composing the name shall not contain the <NUL> or <slash> characters." [1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html [2] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html The shell used seems to be Bash AFAICS. You might want to check why it doesn't strip away all path components. Best regards, Christian Schoenebeck