~ chicken-core (chicken-5) f5506a132c2a9b64946c6d59c2adbc592cd30846
commit f5506a132c2a9b64946c6d59c2adbc592cd30846
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Mar 23 10:19:55 2011 -0400
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Wed Mar 23 10:19:55 2011 -0400
fixed functor tests; fixed bug in exports-validation; everything works; the sun is shining
diff --git a/modules.scm b/modules.scm
index c0a90fdb..cbc802c3 100644
--- a/modules.scm
+++ b/modules.scm
@@ -724,7 +724,11 @@
(if (and (pair? (cdr x)) (symbol? (cadr x)))
(iface (cadr x))
(err "invalid interface specification" x exps)))
- (else (err "invalid export" x exps))))))))))
+ (else
+ (let loop2 ((lst x))
+ (cond ((null? lst) (cons x (loop (cdr xps))))
+ ((symbol? (car lst)) (loop2 (cdr lst)))
+ (else (err "invalid export" x exps)))))))))))))
(define (##sys#register-functor name fargs fexps body)
(putp name '##core#functor (cons fargs (cons fexps body))))
diff --git a/tests/QUEUE.scm b/tests/QUEUE.scm
index b9f79868..59d9eee4 100644
--- a/tests/QUEUE.scm
+++ b/tests/QUEUE.scm
@@ -2,8 +2,8 @@
(define-interface QUEUE
- empty-queue
- enqueue
- head
- empty?
- dequeue)
+ (empty-queue
+ enqueue
+ head
+ empty?
+ dequeue))
diff --git a/tests/embedded3.c b/tests/embedded3.c
index 301a2e7f..ebf328c4 100644
--- a/tests/embedded3.c
+++ b/tests/embedded3.c
@@ -26,7 +26,7 @@ int main() {
assert(!status);
CHICKEN_get_error_message(buffer, 255);
- printf("ouch: %s\n", buffer);
+ printf("ouch (expected): %s\n", buffer);
status = CHICKEN_eval_string_to_string("(bar 23)", buffer, 255);
assert(status);
diff --git a/tests/functor-tests.scm b/tests/functor-tests.scm
index 0cbfde2b..18d39689 100644
--- a/tests/functor-tests.scm
+++ b/tests/functor-tests.scm
@@ -1,7 +1,7 @@
;;;; functor-tests.scm
-(use srfi-1 data-structures)
+(use srfi-1 data-structures extras)
(include "test-queue")
@@ -33,7 +33,9 @@
(if (empty? q2) (entry-x q) (head q2))))
(define (dequeue q)
(let ((q2 (entry-q q)))
- (if (empty? q2) empty-queue (make-queue (dequeue q) x)))) )
+ (if (empty? q2)
+ empty-queue
+ (make-entry (dequeue q2) (entry-x q)))) ))
(module queue3 QUEUE
@@ -61,14 +63,14 @@
(import (rename test-q2 (list->queue l2q2) (queue->list q2l2)))
(import (rename test-q3 (list->queue l2q3) (queue->list q2l3)))
-(define long-list (list-tabulate 10000 identity))
+(define long-list (list-tabulate 1000 identity))
(print "Queue representation #1:")
(time (q2l1 (l2q1 long-list)))
(print "Queue representation #2:")
(time (q2l2 (l2q2 long-list)))
(print "Queue representation #3:")
-(time (q2l3 (q2l3 long-list)))
+(time (q2l3 (l2q3 long-list)))
(module breadth = (breadth-first queue3))
(import breadth)
@@ -79,4 +81,5 @@
(define (show n csq)
(map list->string (take csq 1)))
+;;XXX shows (""), which looks wrong:
(pp (show 8 (search next-char '()))) ;XXX assert
diff --git a/tests/runtests.sh b/tests/runtests.sh
index 2e730e6d..43dfb09f 100644
--- a/tests/runtests.sh
+++ b/tests/runtests.sh
@@ -109,14 +109,6 @@ diff -bu dwindtst.expected dwindtst.out
echo "*** Skipping \"feeley-dynwind\" for now ***"
# $interpret -s feeley-dynwind.scm
-echo "======================================== lolevel tests ..."
-$interpret -s lolevel-tests.scm
-$compile lolevel-tests.scm
-./a.out
-
-echo "======================================== arithmetic tests ..."
-$interpret -D check -s arithmetic-test.scm
-
echo "======================================== syntax tests ..."
$interpret -s syntax-tests.scm
@@ -150,11 +142,12 @@ $interpret -bnq simple-functors-test.scm
$compile simple-functors-test.scm
./a.out
$interpret -bnq functor-tests.scm
-$compile -bnq functor-tests.scm
+$compile functor-tests.scm
./a.out
$compile -s square-functor.scm -J
$compile -s square-functor.import.scm
-$compile run-square-functor.scm
+$interpret -bnq use-square-functor.scm
+$compile use-square-functor.scm
./a.out
echo "======================================== compiler syntax tests ..."
@@ -226,6 +219,9 @@ $interpret -bnq ec.so ec-tests.scm
# $compile ec-tests.scm
# ./a.out # takes ages to compile
+echo "======================================== arithmetic tests ..."
+$interpret -D check -s arithmetic-test.scm
+
echo "======================================== hash-table tests ..."
$interpret -s hash-table-tests.scm
@@ -258,6 +254,11 @@ touch tmpdir/.dotfile
ln -s /usr tmpdir/symlink
$interpret -R posix -e '(delete-directory "tmpdir" #t)'
+echo "======================================== lolevel tests ..."
+$interpret -s lolevel-tests.scm
+$compile lolevel-tests.scm
+./a.out
+
echo "======================================== regular expression tests ..."
$interpret -bnq test-irregex.scm
$interpret -bnq test-glob.scm
diff --git a/tests/simple-functors-test.scm b/tests/simple-functors-test.scm
index 11f01776..f72e9662 100644
--- a/tests/simple-functors-test.scm
+++ b/tests/simple-functors-test.scm
@@ -18,5 +18,5 @@
(module bar = (do-things f))
(import bar)
-(assert (equal? '(1 2) (doit)))
+(assert (equal? '(1 2) (do-it)))
diff --git a/tests/test-queue.scm b/tests/test-queue.scm
index aaed0972..00e53242 100644
--- a/tests/test-queue.scm
+++ b/tests/test-queue.scm
@@ -9,7 +9,7 @@
(use srfi-1)
(define (list->queue lst)
- (fold (lambda (x q) (enqueue q x)) empty-queue l))
+ (fold (lambda (x q) (enqueue q x)) empty-queue lst))
(define (queue->list q)
(if (empty? q)
Trap