75 |
75 |
BUILDTIME_DIR_AUTOCREATE = \
|
76 |
76 |
scripts \
|
77 |
77 |
doc/api \
|
78 |
|
doc/coverage
|
|
78 |
doc/py-coverage \
|
|
79 |
doc/hs-coverage \
|
|
80 |
.hpc
|
79 |
81 |
|
80 |
82 |
BUILDTIME_DIRS = \
|
81 |
83 |
$(BUILDTIME_DIR_AUTOCREATE) \
|
... | ... | |
122 |
124 |
tools/kvm-ifup \
|
123 |
125 |
stamp-srclinks \
|
124 |
126 |
$(nodist_pkgpython_PYTHON) \
|
125 |
|
$(HALLPROGS) $(HSRCS2)
|
|
127 |
$(HALLPROGS) $(HSRCS2) \
|
|
128 |
.hpc/*.mix htools/*.tix
|
126 |
129 |
|
127 |
130 |
# BUILT_SOURCES should only be used as a dependency on phony targets. Otherwise
|
128 |
131 |
# it'll cause the target to rebuild every time.
|
... | ... | |
283 |
286 |
HSRCPROGS = $(patsubst %,%.hs,$(HALLPROGS))
|
284 |
287 |
# we don't add -Werror by default
|
285 |
288 |
HFLAGS = -O -Wall -fwarn-monomorphism-restriction -fwarn-tabs -ihtools
|
|
289 |
# extra flags that can be overriden on the command line
|
286 |
290 |
HEXTRA =
|
|
291 |
# exclude options for coverage reports
|
|
292 |
HPCEXCL = --exclude Main --exclude Ganeti.HTools.QC
|
287 |
293 |
|
288 |
294 |
HSRCS = \
|
289 |
295 |
htools/Ganeti/HTools/CLI.hs \
|
... | ... | |
418 |
424 |
-osuf $$BINARY.o -hisuf $$BINARY.hi \
|
419 |
425 |
$@
|
420 |
426 |
|
|
427 |
# for the htools/test binary, we need to enable profiling/coverage
|
|
428 |
htools/test: HEXTRA=-fhpc -Wwarn -fno-warn-missing-signatures \
|
|
429 |
-fno-warn-monomorphism-restriction -fno-warn-orphans \
|
|
430 |
-fno-warn-missing-methods -fno-warn-unused-imports
|
|
431 |
|
421 |
432 |
dist_sbin_SCRIPTS = \
|
422 |
433 |
tools/ganeti-listrunner
|
423 |
434 |
|
... | ... | |
600 |
611 |
test/docs_unittest.py \
|
601 |
612 |
test/tempfile_fork_unittest.py
|
602 |
613 |
|
|
614 |
haskell_tests = htools/test
|
|
615 |
|
603 |
616 |
dist_TESTS = \
|
604 |
617 |
test/check-cert-expired_unittest.bash \
|
605 |
618 |
test/daemon-util_unittest.bash \
|
... | ... | |
608 |
621 |
$(python_tests)
|
609 |
622 |
|
610 |
623 |
nodist_TESTS =
|
|
624 |
if WANT_HTOOLS
|
|
625 |
nodist_TESTS += $(haskell_tests)
|
|
626 |
endif
|
611 |
627 |
|
612 |
628 |
TESTS = $(dist_TESTS) $(nodist_TESTS)
|
613 |
629 |
|
... | ... | |
997 |
1013 |
etags -l python -
|
998 |
1014 |
|
999 |
1015 |
.PHONY: coverage
|
1000 |
|
coverage: $(BUILT_SOURCES) $(python_tests)
|
|
1016 |
if WANT_HTOOLS
|
|
1017 |
coverage: py-coverage hs-coverage
|
|
1018 |
else
|
|
1019 |
coverage: py-coverage
|
|
1020 |
endif
|
|
1021 |
|
|
1022 |
.PHONY: py-coverage
|
|
1023 |
py-coverage: $(BUILT_SOURCES) $(python_tests)
|
1001 |
1024 |
set -e; \
|
1002 |
|
COVERAGE_FILE=$(CURDIR)/doc/coverage/data \
|
1003 |
|
TEXT_COVERAGE=$(CURDIR)/doc/coverage/report.txt \
|
1004 |
|
HTML_COVERAGE=$(CURDIR)/doc/coverage \
|
|
1025 |
COVERAGE_FILE=$(CURDIR)/doc/py-coverage/data \
|
|
1026 |
TEXT_COVERAGE=$(CURDIR)/doc/py-coverage/report.txt \
|
|
1027 |
HTML_COVERAGE=$(CURDIR)/doc/py-coverage \
|
1005 |
1028 |
$(PLAIN_TESTS_ENVIRONMENT) $(abs_top_srcdir)/autotools/gen-coverage \
|
1006 |
1029 |
$(python_tests)
|
1007 |
1030 |
|
|
1031 |
.PHONY: hs-coverage
|
|
1032 |
hs-coverage: $(haskell_tests)
|
|
1033 |
cd htools && rm -f *.tix *.mix && ./test
|
|
1034 |
mkdir -p doc/hs-coverage
|
|
1035 |
hpc markup --destdir=doc/hs-coverage htools/test $(HPCEXCL)
|
|
1036 |
hpc report htools/test $(HPCEXCL)
|
|
1037 |
|
|
1038 |
|
1008 |
1039 |
commit-check: distcheck lint apidoc
|
1009 |
1040 |
|
1010 |
1041 |
-include ./Makefile.local
|