First iteration
This commit is contained in:
34
test/run-tests.scm
Normal file
34
test/run-tests.scm
Normal file
@@ -0,0 +1,34 @@
|
||||
#!/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"))
|
||||
Reference in New Issue
Block a user