aboutsummaryrefslogtreecommitdiffstats
path: root/csc/test-main.csc
diff options
context:
space:
mode:
Diffstat (limited to 'csc/test-main.csc')
-rw-r--r--csc/test-main.csc16
1 files changed, 14 insertions, 2 deletions
diff --git a/csc/test-main.csc b/csc/test-main.csc
index 7b45883..184d069 100644
--- a/csc/test-main.csc
+++ b/csc/test-main.csc
@@ -1,6 +1,18 @@
(import (scheme base)
- (only (csc testing) test-main))
+ (only (csc testing)
+ test-main)
+ (only (scheme eval)
+ environment))
-(for-each load (cdr (command-line)))
+(define (filename->library f)
+ (list 'csc (string->symbol (substring f 0 (- (string-length f) 4)))))
+
+
+; Guile's load function allows import forms, but by a strict reading of R7RS,
+; load can only handle expressions and definitions. I'm working around this by
+; defining each test as a library, and using the environment procedure to load
+; the libraries at runtime. Somehow this should be more portable.
+(apply environment
+ (map filename->library (cdr (command-line))))
(test-main)