aboutsummaryrefslogtreecommitdiff
path: root/tests/run-tests.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-04-12 13:26:16 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2022-04-21 21:16:45 +0200
commit1111c1d50491e9365059cecf598e2149c7dd8a2e (patch)
treee6b477d346c853352bc9598ddeb462fc3cb2c25f /tests/run-tests.scm
parentAdd procedure file-hidden?. (diff)
downloadcalp-1111c1d50491e9365059cecf598e2149c7dd8a2e.tar.gz
calp-1111c1d50491e9365059cecf598e2149c7dd8a2e.tar.xz
Allow tests in subdirs.
Diffstat (limited to 'tests/run-tests.scm')
-rwxr-xr-xtests/run-tests.scm25
1 files changed, 10 insertions, 15 deletions
diff --git a/tests/run-tests.scm b/tests/run-tests.scm
index 968100fd..d2ddb032 100755
--- a/tests/run-tests.scm
+++ b/tests/run-tests.scm
@@ -15,16 +15,19 @@ fi
(format #t "current-filename = ~s~%" (current-filename))
(define here (dirname (current-filename)))
+(use-modules (hnh util path))
+(add-to-load-path (path-append (dirname here) "scripts"))
(use-modules (srfi srfi-1)
(srfi srfi-64)
(srfi srfi-88)
(hnh util)
- (hnh util path)
(ice-9 ftw)
(ice-9 format)
(ice-9 getopt-long)
+ (ice-9 match)
(system vm coverage)
+ ((all-modules) :select (fs-find))
)
@@ -145,19 +148,12 @@ fi
-(define dir (path-append here "test"))
-
-(define (file-extension? ext)
- (lambda (filename)
- (and (<= (string-length ext) (string-length filename))
- (string=? (string-append "." ext)
- (string-take-right
- filename (1+ (string-length ext)))))))
-
-(define files (map (lambda (p) (path-append dir p))
- (scandir dir (lambda (fname)
- (and ((file-extension? "scm") fname)
- (not (char=? #\. (string-ref fname 0))))))))
+(define re (make-regexp "\\.scm$"))
+(define files (map car
+ (filter (match-lambda ((filename _ 'regular)
+ (regexp-exec re filename))
+ (_ #f))
+ (fs-find (path-append here "test")))))
;; (format #t "Running on:~%~y~%" files)
@@ -173,7 +169,6 @@ fi
(if coverage-dest
(lambda (thunk)
(define-values (coverage _) (with-code-coverage thunk))
- (add-to-load-path (path-append (dirname here) "scripts"))
(let ((limited-coverage (rework-coverage coverage)))
(call-with-output-file coverage-dest