diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ba3576c0..1f8197c2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,6 +7,7 @@ stages: - build - WIDEIO - DDR3 + - Coverage cache: paths: @@ -22,7 +23,13 @@ build: - cd build - qmake ../DRAMSys/DRAMSys.pro - make -j4 - + + coverage: + stage: coverage + coverage: '/^TOTAL.*\s+(\d+\%)$/' + script: + - gcovr -r build/ + include: - '/DRAMSys/tests/DDR3/ci.yml' - '/DRAMSys/tests/WIDEIO/ci.yml' diff --git a/DRAMSys/library/library.pro b/DRAMSys/library/library.pro index 84267536..58d3037b 100644 --- a/DRAMSys/library/library.pro +++ b/DRAMSys/library/library.pro @@ -58,11 +58,15 @@ DEFINES += SC_INCLUDE_DYNAMIC_PROCESSES unix:!macx { QMAKE_CXXFLAGS += -std=c++11 -O0 -g + QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage -fPIC -O0 + QMAKE_LFLAGS += -lgcov --coverage } macx: { CONFIG += c++11 QMAKE_CXXFLAGS += -std=c++0x -stdlib=libc++ -O0 -g + QMAKE_CXXFLAGS += --coverage + QMAKE_LFLAGS += --coverage } QMAKE_CXXFLAGS += -isystem $${systemc_home}/include diff --git a/DRAMSys/library/src/common/third_party/googletest b/DRAMSys/library/src/common/third_party/googletest new file mode 160000 index 00000000..6ef59138 --- /dev/null +++ b/DRAMSys/library/src/common/third_party/googletest @@ -0,0 +1 @@ +Subproject commit 6ef59138137280ffb3c01f41f527abc2bd3249d0 diff --git a/DRAMSys/simulator/simulator.pro b/DRAMSys/simulator/simulator.pro index b5b297cf..dd592f3d 100644 --- a/DRAMSys/simulator/simulator.pro +++ b/DRAMSys/simulator/simulator.pro @@ -29,11 +29,15 @@ DEFINES += SC_INCLUDE_DYNAMIC_PROCESSES unix:!macx { QMAKE_CXXFLAGS += -std=c++11 -O0 -g + QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage -fPIC -O0 + QMAKE_LFLAGS += -lgcov --coverage } macx: { CONFIG += c++11 QMAKE_CXXFLAGS += -std=c++0x -stdlib=libc++ -O0 -g + QMAKE_CXXFLAGS += --coverage + QMAKE_LFLAGS += --coverage } INCLUDEPATH += ../library/src/simulation/