diff --git a/collects/tests/r6rs/README.txt b/collects/tests/r6rs/README.txt index 35dd4025db..47909ad736 100644 --- a/collects/tests/r6rs/README.txt +++ b/collects/tests/r6rs/README.txt @@ -38,10 +38,10 @@ however, is that if an R6RS implementation doesn't supply one binding or does not support a bit of syntax used in a set of tests, then the whole set of tests fails to load. -A related problem is that each set of sets is placed into one function -that runs all the tests. This format creates a block of code that is -much larger than in a typical program, which might give some compilers -trouble. +A related problem is that each set of tests is placed into one +function that runs all the tests. This format creates a block of code +that is much larger than in a typical program, which might give some +compilers trouble. In any case, reports of bugs (in the tests) and new tests would be very much appreciated. File either as a PLT Scheme bug report at @@ -65,9 +65,10 @@ or run an individual library's test, such as "run/program.sps" as cd ikarus --r6rs-script tests/r6rs/run/program.sps -As of Ikarus 0.3.0+ (revision 1548), many libraries fail to load, -mostly because condition names like &error cannot be used as -expressions. +As of Ikarus 0.3.0+ (revision 1548), a few libraries fail to load --- +mostly because some syntax (such as complex numbers) isn't supported, +or some unimplemented feature is used in the set-up for a test (so it +isn't protected by an exception handler). Larceny ------- diff --git a/collects/tests/r6rs/conditions.sls b/collects/tests/r6rs/conditions.sls index 6452ab2e2b..2c8152068d 100644 --- a/collects/tests/r6rs/conditions.sls +++ b/collects/tests/r6rs/conditions.sls @@ -14,8 +14,8 @@ (let ([v (make arg ...)]) (test (sel v) arg) ... 'ok) - (test ((record-predicate &parent) (make arg ...)) #t) - (test (record-type-parent &c) &parent))])) + (test ((record-predicate (record-type-descriptor &parent)) (make arg ...)) #t) + (test (record-type-parent (record-type-descriptor &c)) (record-type-descriptor &parent)))])) ;; ---------------------------------------- diff --git a/collects/tests/r6rs/test.sls b/collects/tests/r6rs/test.sls index 58861fabbc..590801e603 100644 --- a/collects/tests/r6rs/test.sls +++ b/collects/tests/r6rs/test.sls @@ -44,7 +44,7 @@ (define-syntax test/exn (syntax-rules () [(_ expr condition) - (test (guard (c [((condition-predicate condition) c) + (test (guard (c [((condition-predicate (record-type-descriptor condition)) c) (make-expected-exception)]) expr) (make-expected-exception))]))