@@ -17,6 +17,7 @@ PYTHON3_PATH=$(shell dirname $(PYTHON3_CMD))
1717
1818CIRCLEMLIR_BUILD_DEBUG?=build/debug
1919CIRCLEMLIR_BUILD_REL?=build/release
20+ CIRCLEMLIR_BUILD_COV?=build/coverage
2021CIRCLEMLIR_EXTS_DEBUG?=build/externals/debug
2122CIRCLEMLIR_EXTS_REL?=build/externals/release
2223
4041 @echo "make prepr : prepare externals for release (needed only once)"
4142 @echo "make cfgr : configure circle-mlir for release build"
4243 @echo "make rel : build for release"
44+ @echo "make prepcov : prepare submodules for coverage test (needed only once)"
45+ @echo "make cfgcov : configure circle-mlir for debug build with coverage test"
46+ @echo "make debugcov : build for test coverage"
47+ @echo "make testcov : run coverage test"
48+ @echo "make gencov : generate test coverage report"
49+ @echo "make cleancov : clean test coverage build"
4350 @echo "make testr : test for release"
4451 @echo "make cleanr : clean release build"
4552 @echo "make cleanall : clean all build including overlay, externals"
@@ -52,6 +59,9 @@ all: cfg debug
5259_mkbuild:
5360 mkdir -p $(CIRCLEMLIR_BUILD_DEBUG)
5461
62+ _mkbuildcov:
63+ mkdir -p $(CIRCLEMLIR_BUILD_COV)
64+
5565_mkbuildr:
5666 mkdir -p $(CIRCLEMLIR_BUILD_REL)
5767
@@ -86,6 +96,36 @@ clean:
8696 rm -f $(CIRCLEMLIR_BUILD_DEBUG)/CMakeCache.txt
8797 rm -rf $(CIRCLEMLIR_BUILD_DEBUG)/circle-mlir/
8898
99+ #-------------------------------------------------------------------------------
100+ # for debug test coverage
101+
102+ prepcov: _mkbuildcov
103+ Python3_ROOT_DIR=$(CIRCLEMLIR_PY3_ROOT) \
104+ cmake -B $(CIRCLEMLIR_EXTS_DEBUG) -S ./externals -DCMAKE_BUILD_TYPE=Release
105+ cmake --build $(CIRCLEMLIR_EXTS_DEBUG) -j$(CIRCLEMLIR_BUILD_JOBS)
106+
107+ cfgcov: _mkbuildcov
108+ cmake -B $(CIRCLEMLIR_BUILD_COV) -S ./ \
109+ -DCIRCLE_MLIR_EXTERNALS=$(CIRCLEMLIR_EXTS_DEBUG) \
110+ -DONNX2CIRCLE_TEST_MODELS_SINGLE=ON \
111+ -DENABLE_COVERAGE=ON
112+
113+ debugcov:
114+ CM_PASS_DUMP=2 \
115+ cmake --build $(CIRCLEMLIR_BUILD_COV) -j$(CIRCLEMLIR_BUILD_JOBS)
116+
117+ testcov:
118+ CM_PASS_DUMP=2 \
119+ CTEST_OUTPUT_ON_FAILURE=1 \
120+ cmake --build $(CIRCLEMLIR_BUILD_COV) --verbose -- test
121+
122+ gencov:
123+ bash infra/tools/gen-coverage-report circle-mlir
124+
125+ cleancov:
126+ rm -f $(CIRCLEMLIR_BUILD_COV)/CMakeCache.txt
127+ rm -rf $(CIRCLEMLIR_BUILD_COV)/circle-mlir/
128+
89129#-------------------------------------------------------------------------------
90130# for release
91131
0 commit comments