1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-29 14:30:34 +02:00

test-suite: support SRFI-64 based tests

Add support for SRFI-64 based test-suite tests. When a SCM_TESTS test
ends in .sr64, run it using a new automake "Parallel Test Harness"
compatible driver (see the automake info pages) provided by (srfi
srfi-64 automake). For now, provide .trs file and standard output
results like guile-test's, but write SRFI-64's default test runner
output to the log file.

./check-guile, which the existing automake test-suite/driver relies on,
can now handle .sr64 files, though for the time being, it does not allow
mixing (test-suite lib) and SRFI-64 tests in the same invocation since
doing so correctly would require some way of merging the trs (and log)
output from the currently separate domains. This restriction does not
affect automake (make check) because it runs each test separately with
its own ouput files (e.g. test-suite/tests/numbers.{log,trs}) and
compiles the results.

Don't export anything from (srfi srfi-64 automake) until/unless we're
ready to commit to the API(s). For now, just provide support for
check-guile via (private) main.

* check-guile.in: Process *all* options; handle SRFI-64 tests.
* module/srfi/srfi-64/automake.scm: Add automake SRFI-64 test support.
* test-suite/Makefile.am: Add SRFI-64 test support.
This commit is contained in:
Rob Browning 2025-06-04 20:13:27 -05:00
parent a74987beba
commit c858253288
3 changed files with 303 additions and 20 deletions

View file

@ -251,15 +251,17 @@ LALR_EXTRA += \
lalr/run-guile-test.sh
TESTS = $(LALR_TESTS) $(SCM_TESTS)
TEST_EXTENSIONS = .scm .test
TEST_EXTENSIONS = .scm .sr64 .test
AM_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
# Run *.scm tests with meta/guile
SCM_LOG_COMPILER = $(top_builddir)/meta/guile
AM_SCM_LOG_FLAGS = --no-auto-compile
# Use a custom driver for *.test (assume they use (test-suite lib)).
# See the automake info pages regarding "Custom Test Drivers".
# See "Custom Test Drivers" in the Automake info pages and ./check-guile.in.
# *.sr64 files use (srfi srfi-64 automake)
# *.test files use (test-suite lib)
SR64_LOG_DRIVER = $(srcdir)/driver
TEST_LOG_DRIVER = $(srcdir)/driver
EXTRA_DIST += $(LALR_EXTRA) $(LALR_TESTS) tests/sxml-match-tests.ss driver