Skip to content

Commit bb33790

Browse files
authored
[circle-mlir] Revise README and Makefile about coverage (#14850)
This will revise README and Makefile.sample file about test coverage report. ONE-DCO-1.0-Signed-off-by: SaeHie Park <saehie.park@gmail.com>
1 parent fd1eff1 commit bb33790

2 files changed

Lines changed: 62 additions & 0 deletions

File tree

circle-mlir/Makefile.sample

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ PYTHON3_PATH=$(shell dirname $(PYTHON3_CMD))
1717

1818
CIRCLEMLIR_BUILD_DEBUG?=build/debug
1919
CIRCLEMLIR_BUILD_REL?=build/release
20+
CIRCLEMLIR_BUILD_COV?=build/coverage
2021
CIRCLEMLIR_EXTS_DEBUG?=build/externals/debug
2122
CIRCLEMLIR_EXTS_REL?=build/externals/release
2223

@@ -40,6 +41,12 @@ help:
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

circle-mlir/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,28 @@ Test build
9999
make testr
100100
```
101101

102+
### Test coverage
103+
104+
To get test coverage report, run as following commands.
105+
- assume you already have done `make overlay` and `make prepcov`
106+
- you can skip `make prepcov` step if you are using local installation with `CIRCLE_MLIR_LOCALINST`
107+
```
108+
make cfgcov
109+
110+
make debugcov
111+
make testcov
112+
make gencov
113+
```
114+
115+
Open `converage/html/index.html` file in web browser to see the reports.
116+
117+
To generate from second run and so on in your local machine, you need to
118+
remove existing files before running `gencov`
119+
```
120+
rm -rf coverage
121+
make gencov
122+
```
123+
102124
## TensorFlow source code
103125

104126
Some source codes are referenced from TensorFlow and the file path is added to

0 commit comments

Comments
 (0)