Add R7RS XFAILs due to https://bugs.gnu.org/38236 (datum labels)
authorAndy Wingo <wingo@pobox.com>
Sat, 16 Nov 2019 21:06:06 +0000 (22:06 +0100)
committerAndy Wingo <wingo@pobox.com>
Sat, 16 Nov 2019 21:07:04 +0000 (22:07 +0100)
* test-suite/tests/r7rs.test (failing-test-with-exception): New form.
  ("https://bugs.gnu.org/38236"): Mark a couple more xfails.

test-suite/tests/r7rs.test

index 85fdcc2af6a85abaf0f8f38a8dfa25aad69b452b..6c5cc7d0d6c6b02b7874ffabb17a7420de384d6f 100644 (file)
@@ -87,6 +87,9 @@
 ;; This form is used for those R7RS tests that do not yet pass in Guile.
 (define-syntax-rule (failing-test url expected expr)
   (expect-fail url (%test-equal? expr expected)))
+(define-syntax-rule (failing-test-with-exception url expected expr)
+  (expect-fail url (guard (exn (else #f))
+                     (%test-equal? expr expected))))
 
 (define-syntax-rule (test-values expected expr)
   (pass-if-equal (call-with-values (lambda () expected) list)
     (get-output-bytevector out)))
 
 (test #t
   (and (member
-          (let ((out (open-output-string))
-                (x (list 1)))
-            (set-cdr! x x)
-            (write x out)
-            (get-output-string out))
-          ;; labels not guaranteed to be 0 indexed, spacing may differ
-          '("#0=(1 . #0#)" "#1=(1 . #1#)"))
-         #t))
+ (and (member
+       (let ((out (open-output-string))
+             (x (list 1)))
+         (set-cdr! x x)
+         (write x out)
+         (get-output-string out))
+       ;; labels not guaranteed to be 0 indexed, spacing may differ
+       '("#0=(1 . #0#)" "#1=(1 . #1#)"))
+      #t))
 
 (test "((1 2 3) (1 2 3))"
     (let ((out (open-output-string))
 (test '(1 . 2) (read (open-input-string "(1 . 2)")))
 (test '(1 2) (read (open-input-string "(1 . (2))")))
 (test '(1 2 3 4 5) (read (open-input-string "(1 . (2 3 4 . (5)))")))
-(test '1 (cadr (read (open-input-string "#0=(1 . #0#)"))))
-(test '(1 2 3) (cadr (read (open-input-string "(#0=(1 2 3) #0#)"))))
+(failing-test-with-exception
+ "https://bugs.gnu.org/38236"
+ '1 (cadr (read (open-input-string "#0=(1 . #0#)"))))
+(failing-test-with-exception
+ "https://bugs.gnu.org/38236"
+ '(1 2 3) (cadr (read (open-input-string "(#0=(1 2 3) #0#)"))))
 
 (test '(quote (1 2)) (read (open-input-string "'(1 2)")))
 (test '(quote (1 (unquote 2))) (read (open-input-string "'(1 ,2)")))