parent
6e958d8339
commit
602c7b0331
|
@ -366,14 +366,15 @@
|
|||
'((1 2 3 4 5 6 7 8 9 10) . val))
|
||||
(test #f hash-iterate-next ht i)
|
||||
|
||||
;; collect key, everything should error
|
||||
(collect-garbage)
|
||||
(test #t boolean? (hash-iterate-first ht))
|
||||
(err/rt-test (hash-iterate-key ht i) exn:fail:contract? err-msg)
|
||||
(err/rt-test (hash-iterate-value ht i) exn:fail:contract? err-msg)
|
||||
(err/rt-test (hash-iterate-pair ht i) exn:fail:contract? err-msg)
|
||||
(err/rt-test (hash-iterate-key+value ht i) exn:fail:contract? err-msg)
|
||||
(test #f hash-iterate-next ht i))
|
||||
(unless (eq? 'cgc (system-type 'gc))
|
||||
;; collect key, everything should error
|
||||
(collect-garbage)
|
||||
(test #t boolean? (hash-iterate-first ht))
|
||||
(err/rt-test (hash-iterate-key ht i) exn:fail:contract? err-msg)
|
||||
(err/rt-test (hash-iterate-value ht i) exn:fail:contract? err-msg)
|
||||
(err/rt-test (hash-iterate-pair ht i) exn:fail:contract? err-msg)
|
||||
(err/rt-test (hash-iterate-key+value ht i) exn:fail:contract? err-msg)
|
||||
(test #f hash-iterate-next ht i)))
|
||||
|
||||
;; Check that unsafe mutable hash table operations do not segfault
|
||||
;; after getting valid index from unsafe-mutable-hash-iterate-first and -next.
|
||||
|
|
|
@ -840,18 +840,19 @@
|
|||
'((1 2 3 4 5 6 7 8 9 10) . val))
|
||||
(test #t boolean? (unsafe-weak-hash-iterate-next ht i))
|
||||
|
||||
;; collect key, everything should error (but not segfault)
|
||||
(collect-garbage)(collect-garbage)(collect-garbage)
|
||||
(test #t boolean? (unsafe-weak-hash-iterate-first ht))
|
||||
(err/rt-test (unsafe-weak-hash-iterate-key ht i) exn:fail:contract? err-msg)
|
||||
(test 'gone unsafe-weak-hash-iterate-key ht i 'gone)
|
||||
(err/rt-test (unsafe-weak-hash-iterate-value ht i) exn:fail:contract? err-msg)
|
||||
(test 'gone unsafe-weak-hash-iterate-value ht i 'gone)
|
||||
(err/rt-test (unsafe-weak-hash-iterate-pair ht i) exn:fail:contract? err-msg)
|
||||
(test '(gone . gone) unsafe-weak-hash-iterate-pair ht i 'gone)
|
||||
(err/rt-test (unsafe-weak-hash-iterate-key+value ht i) exn:fail:contract? err-msg)
|
||||
(test-values '(gone gone) (lambda () (unsafe-weak-hash-iterate-key+value ht i 'gone)))
|
||||
(test #f unsafe-weak-hash-iterate-next ht i))
|
||||
(unless (eq? 'cgc (system-type 'gc))
|
||||
;; collect key, everything should error (but not segfault)
|
||||
(collect-garbage)(collect-garbage)(collect-garbage)
|
||||
(test #t boolean? (unsafe-weak-hash-iterate-first ht))
|
||||
(err/rt-test (unsafe-weak-hash-iterate-key ht i) exn:fail:contract? err-msg)
|
||||
(test 'gone unsafe-weak-hash-iterate-key ht i 'gone)
|
||||
(err/rt-test (unsafe-weak-hash-iterate-value ht i) exn:fail:contract? err-msg)
|
||||
(test 'gone unsafe-weak-hash-iterate-value ht i 'gone)
|
||||
(err/rt-test (unsafe-weak-hash-iterate-pair ht i) exn:fail:contract? err-msg)
|
||||
(test '(gone . gone) unsafe-weak-hash-iterate-pair ht i 'gone)
|
||||
(err/rt-test (unsafe-weak-hash-iterate-key+value ht i) exn:fail:contract? err-msg)
|
||||
(test-values '(gone gone) (lambda () (unsafe-weak-hash-iterate-key+value ht i 'gone)))
|
||||
(test #f unsafe-weak-hash-iterate-next ht i)))
|
||||
|
||||
;; Check that unsafe mutable hash table operations do not segfault
|
||||
;; after getting valid index from unsafe-mutable-hash-iterate-first and -next.
|
||||
|
|
Loading…
Reference in New Issue
Block a user