@@ -49,19 +49,30 @@ qc-hpc: Properties.hs QuickCheckUtils.hs SlowFunctions.hs TestUtils.hs $(lib-src
4949 $(ghc) $(ghc-hpc-flags) $(ghc-test-flags) $(ghc-opt-flags) -ihpcdir \
5050 --make -threaded -o $@ $<
5151
52−Regressions.o: TestUtils.o
53−
54−regressions: Regressions.o TestUtils.o
55− $(ghc) $(ghc-test-flags) -o $@ $^ $(lib)
52+stdio-hpc: StdioCoverage.hs $(lib-srcs:%=../%)
53+ -mkdir -p hpcdir
54+ @rm -f $@.tix
55+ $(ghc) $(ghc-hpc-flags) $(ghc-test-flags) $(ghc-opt-flags) -ihpcdir \
56+ --make -threaded -o $@ $<
5657
57−coverage: qc-hpc-html/hpc_index.html
58+coverage: coverage-html/hpc_index.html
5859
59−qc-hpc-html/hpc_index.html: qc-hpc
60+coverage-html/hpc_index.html: qc-hpc
61+ @rm -f qc-hpc.tix stdio-hpc.tix coverage.tix
6062 ./qc-hpc -a 100 +RTS -N
61− hpc markup qc-hpc --exclude=Main --exclude=Properties \
62− --exclude=Data.Text.Fusion.CaseMapping \
63+ bash ./cover-stdio.sh
64+ hpc combine --output=coverage.tix --exclude=Main \
65+ qc-hpc.tix stdio-hpc.tix
66+ hpc markup coverage --exclude=Main --exclude=Properties --exclude=Main \
67+ --exclude=Data.Text.Fusion.CaseMapping --exclude StdioCoverage \
6368 --exclude=SlowFunctions --exclude=TestUtils \
6469 --exclude=QuickCheckUtils --srcdir=.. --srcdir=. --destdir=$(dir $@)
70+ @echo xdg-open $@
71+
72+Regressions.o: TestUtils.o
73+
74+regressions: Regressions.o TestUtils.o
75+ $(ghc) $(ghc-test-flags) -o $@ $^ $(lib)
6576
6677Benchmarks.o: ghc-opt-flags = -O
6778bm Benchmarks.o: ghc-flags += -package utf8-string
@@ -83,4 +94,4 @@ text-testdata.tar.bz2:
8394 curl -O http://projects.haskell.org/text/text-testdata.tar.bz2
8495
8596clean:
86− -rm -rf *.o *.hi *.tix bm qc qc-hpc hpcdir .hpc qc-hpc-html
97+ -rm -rf *.o *.hi *.tix bm qc qc-hpc stdio-hpc hpcdir .hpc coverage-html