diff --git a/private/format-utils.rkt b/private/format-utils.rkt index 520b611..9dc2077 100644 --- a/private/format-utils.rkt +++ b/private/format-utils.rkt @@ -75,13 +75,13 @@ (define (make-irrelevant? lexer f submods) (define s (mutable-set)) (define-values (for-lex for-str) (replicate-file-port f (current-input-port))) + (port-count-lines! for-lex) (define str (apply vector (string->list (port->string for-str)))) (define init-offset (- (string-length (file->string f)) (vector-length str))) (define offset (make-byte->str-offset str)) - (let loop ([mode #f]) (define-values (v type _m start end backup-dist new-mode/ds) (lexer for-lex 0 mode)) diff --git a/tests/main.rkt b/tests/main.rkt index ae16891..8c5e88c 100644 --- a/tests/main.rkt +++ b/tests/main.rkt @@ -29,15 +29,16 @@ (with-input-from-file cover (lambda () (values (ranges->numbers (read)) (ranges->numbers (read)))))) (define covered? (make-covered? actual-coverage program)) + (define (test-range range type) + (for ([i range]) + (define v (covered? i)) + (unless (eq? v 'irrelevant) + (check-equal? v type + (format "expected char ~a to be covered, but it was not, in: ~s" + i program))))) (test-begin - (for ([i expected-coverage]) - (check-equal? (covered? i) 'covered - (format "expected char ~a to be covered, but it was not, in: ~s" - i program))) - (for ([i expected-uncoverage]) - (check-equal? (covered? i) 'uncovered - (format "expected char ~a to be uncovered, but it was, in: ~s" - i program))))) + (test-range expected-coverage 'covered) + (test-range expected-uncoverage 'uncovered))) (clear-coverage!))