diff options
Diffstat (limited to 'build-aux')
-rw-r--r-- | build-aux/test-corpus.scm (renamed from build-aux/test-corpus.scm.in) | 3 | ||||
-rw-r--r-- | build-aux/test-driver.scm (renamed from build-aux/test-driver.scm.in) | 38 |
2 files changed, 9 insertions, 32 deletions
diff --git a/build-aux/test-corpus.scm.in b/build-aux/test-corpus.scm index b069186..83a359f 100644 --- a/build-aux/test-corpus.scm.in +++ b/build-aux/test-corpus.scm @@ -1,6 +1,3 @@ -#! @GUILE@ --*- scheme -*- -!# ;;; guile-email --- Guile email parser ;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; diff --git a/build-aux/test-driver.scm.in b/build-aux/test-driver.scm index 96d84e0..8d60cd4 100644 --- a/build-aux/test-driver.scm.in +++ b/build-aux/test-driver.scm @@ -18,49 +18,29 @@ ;;; <http://www.gnu.org/licenses/>. (use-modules (ice-9 format) - (ice-9 getopt-long) - (srfi srfi-26) + (ice-9 match) (srfi srfi-64)) -;; Currently, only log-file and trs-file are understood. Everything -;; else is ignored. -(define %options - '((test-name (value #t)) - (log-file (value #t)) - (trs-file (value #t)) - (color-tests (value #t)) - (expect-failure (value #t)) - (enable-hard-errors (value #t)))) - -(define (my-gnu-runner log-port trs-port) +(define %my-gnu-runner (let ((runner (test-runner-simple))) (test-runner-on-group-begin! runner (lambda (runner suite-name count) - (format #t "%%%% Starting test ~a~%" suite-name) - (format log-port "%%%% Starting test ~a~%" suite-name) - ;; Set log-port in the aux-value field for use by other parts - ;; of test-runner-simple - (test-runner-aux-value! runner log-port) - (format #t " (Writing full log to \"~a\")~%" (port-filename log-port)))) + (format (current-error-port) + "%%%% Starting test ~a~%" suite-name))) (test-runner-on-group-end! runner (const #f)) (test-runner-on-test-end! runner (lambda (runner) (let ((name (test-runner-test-name runner)) (result (string-upcase (symbol->string (test-result-kind runner))))) - (format trs-port ":test-result: ~a ~a~%" result name) (format (current-error-port) "\x1b[~:[31~;32~]m~a\x1b[0m ~a~%" (eq? (test-result-kind runner) 'pass) result name)))) runner)) -(let ((opts (getopt-long (command-line) %options))) - (call-with-output-file (string-append "@abs_top_builddir@/" - (option-ref opts 'log-file #f)) - (lambda (log-port) - (call-with-output-file (option-ref opts 'trs-file #f) - (lambda (trs-port) - (chdir "@abs_top_srcdir@") - (test-with-runner (my-gnu-runner log-port trs-port) - (load-from-path (option-ref opts 'test-name #f)))))))) +(match (command-line) + ((_ test-files ...) + (test-with-runner %my-gnu-runner + (for-each load test-files)) + (exit (zero? (test-runner-fail-count %my-gnu-runner))))) |