5 Commits

Author SHA1 Message Date
Kevin Burke 16f11456b3 fix: rewrite GNU testsuite harness to run upstream test scripts directly
The previous harness tried to extract sed commands from GNU test scripts
via regex pattern matching, which produced false negatives (comparing
against empty expected output) and false positives. This led to inflated
test counts and unreliable pass/fail signals.

The new approach:
- Provides a lightweight shim for the gnulib test framework (init.sh)
  with implementations of compare_, returns_, skip_, framework_failure_,
  and all require_* functions
- Executes each .sh test script from the GNU testsuite directly,
  injecting our Rust sed binary via PATH
- Uses a clean srcdir with symlinks to real test data files
- Adds per-test timeout (10s) to catch infinite loops, with SIGTERM
  isolation so timeout signals don't kill the parent script
- Properly propagates exit codes (0=pass, 77=skip, 99=framework failure)

Results are now consistent with CI tracking (~12% pass rate) with
clear PASS/FAIL/SKIP/timeout categorization.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 22:04:56 +01:00
Eisuke Kawashima fc39ff7329 fix(run-gnu-testsuite.sh): unquote sed_script 2026-01-19 15:48:31 +09:00
Eisuke Kawashima f6d26ff00f fix(run-gnu-testsuite.sh): correct input and expected output strings
use ANSI-C strings to interpret `\n`
2026-01-19 14:55:24 +09:00
Sylvestre Ledru b26f59ab2f run testsuite: make sure that everything is run 2026-01-11 22:34:33 +01:00
Sylvestre Ledru 3fa2227ebf Run against the GNU implementation (#223)
* Add a script to run the sed testsuite

* run the gnu testsuite in the ci

* remove useless comment
2025-12-21 13:05:37 +01:00