From 75aaaa2066e77c4c595ef541a675d4dae7de312a Mon Sep 17 00:00:00 2001 From: Spencer Florence Date: Sun, 5 Apr 2015 17:33:26 -0400 Subject: [PATCH] hide byte offset api --- main.rkt | 1 - private/format-utils.rkt | 8 ++------ private/html/html.rkt | 16 +++++++++++----- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/main.rkt b/main.rkt index d951225..dc087de 100644 --- a/main.rkt +++ b/main.rkt @@ -35,7 +35,6 @@ [make-covered? (-> file-coverage/c path-string? (->* (exact-positive-integer?) - (#:byte? boolean?) (or/c 'covered 'uncovered 'irrelevant)))] [generate-coveralls-coverage coverage-gen/c] diff --git a/private/format-utils.rkt b/private/format-utils.rkt index c2d9cc0..466bddf 100644 --- a/private/format-utils.rkt +++ b/private/format-utils.rkt @@ -31,11 +31,10 @@ (define submods (irrelevant-submodules)) (define vec (list->vector (string->list (file->string path)))) - (define file/byte->str-offset (make-byte->str-offset vec)) (define file-location-coverage-cache (coverage-cache-file path c submods)) - (lambda (loc #:byte? [byte? #f]) - (hash-ref file-location-coverage-cache (if (not byte?) loc (- loc (file/byte->str-offset loc))) + (lambda (loc) + (hash-ref file-location-coverage-cache loc 'missing))) ;; (or/c #f (listof symbol)) @@ -170,12 +169,9 @@ (define coverage (hash-ref (get-test-coverage) f)) (define covered? (make-covered? coverage f)) (check-equal? (covered? 14) 'irrelevant) - (check-equal? (covered? 14 #:byte? #t) 'irrelevant) (check-equal? (covered? 17) 'irrelevant) (check-equal? (covered? 28) 'irrelevant) (check-equal? (covered? 35) 'covered) - (check-equal? (covered? 50) 'uncovered) - (check-equal? (covered? 51 #:byte? #t) 'uncovered) (check-equal? (covered? 52) 'irrelevant) (check-equal? (covered? 53) 'irrelevant) (check-equal? (covered? 54) 'irrelevant))))) diff --git a/private/html/html.rkt b/private/html/html.rkt index 0ddaca5..c5a8667 100644 --- a/private/html/html.rkt +++ b/private/html/html.rkt @@ -58,7 +58,7 @@ (define output-file (apply build-path (append coverage-dir-list (list relative-output-file)))) (define output-dir (apply build-path coverage-dir-list)) - (define assets-path + (define assets-path (path->string (apply build-path (append (build-list (sub1 (length coverage-dir-list)) (const "..")) @@ -352,27 +352,33 @@ ;; we don't need to look at the span because the coverage is expression based (define p (syntax-position e)) (if p - (covered? p #:byte? #t) + (covered? p) 'missing)) (define e (with-module-reading-parameterization - (thunk (with-input-from-file path read-syntax)))) + (thunk (with-input-from-file path + (lambda () + (port-count-lines! (current-input-port)) + (read-syntax)))))) + (define (ret e) (values (e->n e) (a->n e))) (define (a->n e) (case (is-covered? e) [(covered uncovered) 1] [else 0])) (define (e->n e) (if (eq? (is-covered? e) 'covered) 1 0)) + (define-values (covered total) (let recur ([e e]) (syntax-parse e [(v ...) (for/fold ([covered (e->n e)] [count (a->n e)]) - ([e (in-syntax e)]) - (define-values (cov cnt) (recur e)) + ([v (in-syntax e)]) + (define-values (cov cnt) (recur v)) (values (+ covered cov) (+ count cnt)))] [e:expr (ret #'e)] [_ (values 0 0)]))) + (list covered total))