explicitly testing uncovered positions

This commit is contained in:
Spencer Florence 2014-12-27 18:27:54 -06:00
parent dbd6d92710
commit b900980727
4 changed files with 13 additions and 4 deletions

View File

@ -1,2 +1,2 @@
#lang racket #lang racket
(if #f 1 2) (if #f 10 2)

View File

@ -1 +1,2 @@
((1 19) (21 24)) ((1 20) (24 25))
((21 23))

View File

@ -1 +1,2 @@
((1 21)) ((1 21))
()

View File

@ -21,11 +21,18 @@
(define coverage (get-test-coverage)) (define coverage (get-test-coverage))
(for ([(program cover) covered]) (for ([(program cover) covered])
(define actual-coverage (hash-ref coverage program)) (define actual-coverage (hash-ref coverage program))
(define expected-coverage (ranges->numbers (with-input-from-file cover read))) (define-values
(expected-coverage expected-uncoverage)
(with-input-from-file cover (lambda () (values (ranges->numbers (read))
(ranges->numbers (read))))))
(test-begin (test-begin
(for ([i expected-coverage]) (for ([i expected-coverage])
(check-true (covered? i actual-coverage) (check-true (covered? i actual-coverage)
(format "expected char ~a to be covered, but it was not, in: ~s" (format "expected char ~a to be covered, but it was not, in: ~s"
i program)))
(for ([i expected-uncoverage])
(check-true (not (covered? i actual-coverage))
(format "expected char ~a to be uncovered, but it was, in: ~s"
i program))))) i program)))))
(clear-coverage!)) (clear-coverage!))
@ -48,7 +55,7 @@
(define (within? i src) (define (within? i src)
(match src (match src
[(srcloc _ _ _ start range) [(srcloc _ _ _ start range)
(>= start i (+ start range))])) (<= start i (+ start range))]))
(module+ test (module+ test
(define-runtime-path-list test-dirs '("basic" "simple-multi")) (define-runtime-path-list test-dirs '("basic" "simple-multi"))