Files
gulie/test/run-tests.scm
2026-04-01 23:35:50 +02:00

35 lines
1.1 KiB
Scheme

#!/usr/bin/env -S guile --no-auto-compile -s
!#
;;; Test runner for gulie
;; Add project root to load path
(let ((dir (dirname (dirname (current-filename)))))
(set! %load-path (cons dir %load-path)))
(use-modules (srfi srfi-64))
;; Configure test runner for CI-friendly output
(test-runner-current
(let ((runner (test-runner-simple)))
(test-runner-on-final! runner
(lambda (runner)
(let ((pass (test-runner-pass-count runner))
(fail (test-runner-fail-count runner))
(skip (test-runner-skip-count runner)))
(newline)
(format #t "Results: ~a passed, ~a failed, ~a skipped~%"
pass fail skip)
(when (> fail 0)
(exit 1)))))
runner))
;; Load and run all test files (paths relative to project root)
(let ((root (dirname (dirname (current-filename)))))
(define (load-test name)
(load (string-append root "/test/" name)))
(load-test "test-tokenizer.scm")
(load-test "test-cst.scm")
(load-test "test-rules.scm")
(load-test "test-suppression.scm")
(load-test "test-compiler.scm"))