From 5441160b13ff05a0cd5b98cb572698426694ec70 Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Mon, 17 Dec 2018 11:08:49 +0100 Subject: [PATCH 01/15] Added Code coverage --- .gitlab-ci.yml | 9 ++++++++- DRAMSys/library/library.pro | 4 ++++ DRAMSys/library/src/common/third_party/googletest | 1 + DRAMSys/simulator/simulator.pro | 4 ++++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 160000 DRAMSys/library/src/common/third_party/googletest 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/ From dbdb4026ece5e72d9b96ae123644f445117b6268 Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Mon, 17 Dec 2018 11:12:14 +0100 Subject: [PATCH 02/15] Fixed typos in gitlab-ci --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1f8197c2..ac93cca1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,8 +24,8 @@ build: - qmake ../DRAMSys/DRAMSys.pro - make -j4 - coverage: - stage: coverage +coverage: + stage: Coverage coverage: '/^TOTAL.*\s+(\d+\%)$/' script: - gcovr -r build/ From 002925bc25b7a2ff658d6d456901e19eca992209 Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Mon, 17 Dec 2018 11:20:20 +0100 Subject: [PATCH 03/15] Removed google unit test framework --- DRAMSys/library/src/common/third_party/googletest | 1 - 1 file changed, 1 deletion(-) delete mode 160000 DRAMSys/library/src/common/third_party/googletest diff --git a/DRAMSys/library/src/common/third_party/googletest b/DRAMSys/library/src/common/third_party/googletest deleted file mode 160000 index 6ef59138..00000000 --- a/DRAMSys/library/src/common/third_party/googletest +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6ef59138137280ffb3c01f41f527abc2bd3249d0 From 037a9686a717c0a08ef413524f40c37de9a378fa Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 09:39:48 +0100 Subject: [PATCH 04/15] Parallel Code Coverage for CI --- .gitlab-ci.yml | 7 ++++++- DRAMSys/tests/DDR3/ci.yml | 13 +++++++++++++ DRAMSys/tests/WIDEIO/ci.yml | 5 ++++- README.md | 2 +- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ac93cca1..df341f76 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,12 +23,17 @@ build: - cd build - qmake ../DRAMSys/DRAMSys.pro - make -j4 + - mkdir -p coverage coverage: stage: Coverage coverage: '/^TOTAL.*\s+(\d+\%)$/' script: - - gcovr -r build/ + - lcov `find coverage -type f -exec echo "-a {}" \;` -o coverage/final.out + artifacts: + paths: + - coverage/final.out + include: - '/DRAMSys/tests/DDR3/ci.yml' diff --git a/DRAMSys/tests/DDR3/ci.yml b/DRAMSys/tests/DDR3/ci.yml index 06cdadfa..7462848f 100644 --- a/DRAMSys/tests/DDR3/ci.yml +++ b/DRAMSys/tests/DDR3/ci.yml @@ -10,9 +10,12 @@ example_ddr3: - perl -e 'if(`sqldiff ../../DRAMSys/tests/DDR3/expected/ddr3-example_ddr3_ch0.tdb ddr3-example_ddr3_ch0.tdb` eq "") {exit(0)} else {exit(-1)}' - cd ../traceAnalyzer - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/ddr3-example_ddr3_ch0.tdb | if ! grep "failed"; then exit 0; else exit 1; fi + # Run Code Coverage + - lcov -c -d build/ -o coverage/{$CI_JOB_NAME}.out artifacts: paths: - build/simulator/ddr3-example_ddr3_ch0.tdb + - coverage/{$CI_JOB_NAME}.out expire_in: 2 days # Testing Reordering with FR_FCFS Scheduling Algorithm: @@ -27,12 +30,15 @@ fr_fcfs: - perl -e 'if(`sqldiff ../../DRAMSys/tests/DDR3/expected/ddr3-fr_fcfs_ddr3_ch0.tdb ddr3-fr_fcfs_ddr3_ch0.tdb` eq "") {exit(0)} else {exit(-1)}' - cd ../traceAnalyzer - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/ddr3-fr_fcfs_ddr3_ch0.tdb | if ! grep "failed"; then exit 0; else exit 1; fi + # Run Code Coverage + - lcov -c -d build/ -o coverage/{$CI_JOB_NAME}.out allow_failure: true # TODO should be removed after first tests artifacts: paths: - build/simulator/ddr3-fr_fcfs_ddr3_ch0.tdb + - coverage/{$CI_JOB_NAME}.out expire_in: 2 days # Testing with TLM Protocol Cchecker @@ -42,3 +48,10 @@ protocol_checker: - cd build/simulator - ./DRAMSys ../../DRAMSys/tests/DDR3/simulations/ddr3-protocol_checker.xml ../../DRAMSys/tests/DDR3/ - echo "TODO" + # Run Code Coverage + - lcov -c -d build/ -o coverage/{$CI_JOB_NAME}.out + + artifacts: + paths: + - coverage/{$CI_JOB_NAME}.out + expire_in: 2 days diff --git a/DRAMSys/tests/WIDEIO/ci.yml b/DRAMSys/tests/WIDEIO/ci.yml index 76ca5555..445a8596 100644 --- a/DRAMSys/tests/WIDEIO/ci.yml +++ b/DRAMSys/tests/WIDEIO/ci.yml @@ -15,7 +15,9 @@ example_wideio: - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/wideio-example_wideio_ch1.tdb | if ! grep "failed"; then exit 0; else exit 1; fi - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/wideio-example_wideio_ch2.tdb | if ! grep "failed"; then exit 0; else exit 1; fi - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/wideio-example_wideio_ch3.tdb | if ! grep "failed"; then exit 0; else exit 1; fi - + # Run Code Coverage + - lcov -c -d build/ -o coverage/{$CI_JOB_NAME}.out + allow_failure: true # TODO: should be removed once the problems are fixed! artifacts: @@ -24,5 +26,6 @@ example_wideio: - build/simulator/wideio-example_wideio_ch1.tdb - build/simulator/wideio-example_wideio_ch2.tdb - build/simulator/wideio-example_wideio_ch3.tdb + - coverage/{$CI_JOB_NAME}.out expire_in: 2 days diff --git a/README.md b/README.md index 22db70c4..ac7101e3 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ framework that consists of models reflecting the DRAM functionality, power consumption, temperature behaviour and retention time errors. Pipeline Status: [![pipeline status](https://git.eit.uni-kl.de/ems/astdm/dram.sys/badges/master/pipeline.svg)](https://git.eit.uni-kl.de/ems/astdm/dram.sys/commits/master) - +[![Coverage report](https://git.eit.uni-kl.de/ems/astdm/dram.sys/badges/master/coverage.svg?job=coverage)](https://git.eit.uni-kl.de/ems/astdm/dram.sys/commits/master) ## Basic Setup Open a terminal window, go to your home directory, create a directory for your From 732ae97bb3764ab68e5da46e2ecd553ff66e15aa Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 09:52:10 +0100 Subject: [PATCH 05/15] Fixed Variable usage in CC --- DRAMSys/tests/DDR3/ci.yml | 12 ++++++------ DRAMSys/tests/WIDEIO/ci.yml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/DRAMSys/tests/DDR3/ci.yml b/DRAMSys/tests/DDR3/ci.yml index 7462848f..a0270dc4 100644 --- a/DRAMSys/tests/DDR3/ci.yml +++ b/DRAMSys/tests/DDR3/ci.yml @@ -11,11 +11,11 @@ example_ddr3: - cd ../traceAnalyzer - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/ddr3-example_ddr3_ch0.tdb | if ! grep "failed"; then exit 0; else exit 1; fi # Run Code Coverage - - lcov -c -d build/ -o coverage/{$CI_JOB_NAME}.out + - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out artifacts: paths: - build/simulator/ddr3-example_ddr3_ch0.tdb - - coverage/{$CI_JOB_NAME}.out + - coverage/${CI_JOB_NAME}.out expire_in: 2 days # Testing Reordering with FR_FCFS Scheduling Algorithm: @@ -31,14 +31,14 @@ fr_fcfs: - cd ../traceAnalyzer - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/ddr3-fr_fcfs_ddr3_ch0.tdb | if ! grep "failed"; then exit 0; else exit 1; fi # Run Code Coverage - - lcov -c -d build/ -o coverage/{$CI_JOB_NAME}.out + - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out allow_failure: true # TODO should be removed after first tests artifacts: paths: - build/simulator/ddr3-fr_fcfs_ddr3_ch0.tdb - - coverage/{$CI_JOB_NAME}.out + - coverage/${CI_JOB_NAME}.out expire_in: 2 days # Testing with TLM Protocol Cchecker @@ -49,9 +49,9 @@ protocol_checker: - ./DRAMSys ../../DRAMSys/tests/DDR3/simulations/ddr3-protocol_checker.xml ../../DRAMSys/tests/DDR3/ - echo "TODO" # Run Code Coverage - - lcov -c -d build/ -o coverage/{$CI_JOB_NAME}.out + - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out artifacts: paths: - - coverage/{$CI_JOB_NAME}.out + - coverage/${CI_JOB_NAME}.out expire_in: 2 days diff --git a/DRAMSys/tests/WIDEIO/ci.yml b/DRAMSys/tests/WIDEIO/ci.yml index 445a8596..834eceb8 100644 --- a/DRAMSys/tests/WIDEIO/ci.yml +++ b/DRAMSys/tests/WIDEIO/ci.yml @@ -16,7 +16,7 @@ example_wideio: - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/wideio-example_wideio_ch2.tdb | if ! grep "failed"; then exit 0; else exit 1; fi - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/wideio-example_wideio_ch3.tdb | if ! grep "failed"; then exit 0; else exit 1; fi # Run Code Coverage - - lcov -c -d build/ -o coverage/{$CI_JOB_NAME}.out + - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out allow_failure: true # TODO: should be removed once the problems are fixed! @@ -26,6 +26,6 @@ example_wideio: - build/simulator/wideio-example_wideio_ch1.tdb - build/simulator/wideio-example_wideio_ch2.tdb - build/simulator/wideio-example_wideio_ch3.tdb - - coverage/{$CI_JOB_NAME}.out + - coverage/${CI_JOB_NAME}.out expire_in: 2 days From 40b1690ddf338b9115e6a68a09fef9b270a2aaa9 Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 10:04:22 +0100 Subject: [PATCH 06/15] Fixed coverage directory --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index df341f76..7714db08 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,7 +23,7 @@ build: - cd build - qmake ../DRAMSys/DRAMSys.pro - make -j4 - - mkdir -p coverage + - mkdir -p ${CI_PROJECT_DIR}/coverage coverage: stage: Coverage From d7c6628eaa29b34d39a03c578230ce1af562c2fd Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 10:21:12 +0100 Subject: [PATCH 07/15] Moved creation of directory coverage to jobs --- .gitlab-ci.yml | 3 +-- DRAMSys/tests/DDR3/ci.yml | 3 +++ DRAMSys/tests/WIDEIO/ci.yml | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7714db08..cdbd9165 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,11 +23,10 @@ build: - cd build - qmake ../DRAMSys/DRAMSys.pro - make -j4 - - mkdir -p ${CI_PROJECT_DIR}/coverage coverage: stage: Coverage - coverage: '/^TOTAL.*\s+(\d+\%)$/' + coverage: '/^\s*lines\s*\d+.\d+\%/' script: - lcov `find coverage -type f -exec echo "-a {}" \;` -o coverage/final.out artifacts: diff --git a/DRAMSys/tests/DDR3/ci.yml b/DRAMSys/tests/DDR3/ci.yml index a0270dc4..1ed5cf78 100644 --- a/DRAMSys/tests/DDR3/ci.yml +++ b/DRAMSys/tests/DDR3/ci.yml @@ -11,6 +11,7 @@ example_ddr3: - cd ../traceAnalyzer - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/ddr3-example_ddr3_ch0.tdb | if ! grep "failed"; then exit 0; else exit 1; fi # Run Code Coverage + - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out artifacts: paths: @@ -31,6 +32,7 @@ fr_fcfs: - cd ../traceAnalyzer - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/ddr3-fr_fcfs_ddr3_ch0.tdb | if ! grep "failed"; then exit 0; else exit 1; fi # Run Code Coverage + - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out allow_failure: true # TODO should be removed after first tests @@ -49,6 +51,7 @@ protocol_checker: - ./DRAMSys ../../DRAMSys/tests/DDR3/simulations/ddr3-protocol_checker.xml ../../DRAMSys/tests/DDR3/ - echo "TODO" # Run Code Coverage + - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out artifacts: diff --git a/DRAMSys/tests/WIDEIO/ci.yml b/DRAMSys/tests/WIDEIO/ci.yml index 834eceb8..02b5482e 100644 --- a/DRAMSys/tests/WIDEIO/ci.yml +++ b/DRAMSys/tests/WIDEIO/ci.yml @@ -16,6 +16,7 @@ example_wideio: - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/wideio-example_wideio_ch2.tdb | if ! grep "failed"; then exit 0; else exit 1; fi - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/wideio-example_wideio_ch3.tdb | if ! grep "failed"; then exit 0; else exit 1; fi # Run Code Coverage + - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out allow_failure: true # TODO: should be removed once the problems are fixed! From c3393e6d6439f2a6c4d68699e7d0573d45c4f7a8 Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 10:52:45 +0100 Subject: [PATCH 08/15] After_script added to remove junk --- .gitlab-ci.yml | 4 +++- DRAMSys/tests/DDR3/ci.yml | 13 +++++++++++++ DRAMSys/tests/WIDEIO/ci.yml | 6 +++++- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cdbd9165..3c464a75 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,6 +12,7 @@ stages: cache: paths: - build/ + - coverage/ build: stage: build @@ -23,7 +24,8 @@ build: - cd build - qmake ../DRAMSys/DRAMSys.pro - make -j4 - + - rm -r *.o + coverage: stage: Coverage coverage: '/^\s*lines\s*\d+.\d+\%/' diff --git a/DRAMSys/tests/DDR3/ci.yml b/DRAMSys/tests/DDR3/ci.yml index 1ed5cf78..e5cc8163 100644 --- a/DRAMSys/tests/DDR3/ci.yml +++ b/DRAMSys/tests/DDR3/ci.yml @@ -13,6 +13,11 @@ example_ddr3: # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out + after_script: + - cd build/ + - rm -r *.gcno + - rm -r *.gcda + artifacts: paths: - build/simulator/ddr3-example_ddr3_ch0.tdb @@ -34,6 +39,10 @@ fr_fcfs: # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out + after_script: + - cd build/ + - rm -r *.gcno + - rm -r *.gcda allow_failure: true # TODO should be removed after first tests @@ -53,6 +62,10 @@ protocol_checker: # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out + after_script: + - cd build/ + - rm -r *.gcno + - rm -r *.gcda artifacts: paths: diff --git a/DRAMSys/tests/WIDEIO/ci.yml b/DRAMSys/tests/WIDEIO/ci.yml index 02b5482e..ba468038 100644 --- a/DRAMSys/tests/WIDEIO/ci.yml +++ b/DRAMSys/tests/WIDEIO/ci.yml @@ -18,7 +18,11 @@ example_wideio: # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out - + after_script: + - cd build/ + - rm -r *.gcno + - rm -r *.gcda + allow_failure: true # TODO: should be removed once the problems are fixed! artifacts: From f34a257ce7b32c247dbe343754b3a66f1ba15359 Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 10:57:49 +0100 Subject: [PATCH 09/15] Bugfix recursive deletion of files --- .gitlab-ci.yml | 2 +- DRAMSys/tests/DDR3/ci.yml | 12 ++++++------ DRAMSys/tests/WIDEIO/ci.yml | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3c464a75..03ea6838 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,7 +24,7 @@ build: - cd build - qmake ../DRAMSys/DRAMSys.pro - make -j4 - - rm -r *.o + - find . -name "*.o" -type f -delete coverage: stage: Coverage diff --git a/DRAMSys/tests/DDR3/ci.yml b/DRAMSys/tests/DDR3/ci.yml index e5cc8163..c25333ee 100644 --- a/DRAMSys/tests/DDR3/ci.yml +++ b/DRAMSys/tests/DDR3/ci.yml @@ -15,8 +15,8 @@ example_ddr3: - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out after_script: - cd build/ - - rm -r *.gcno - - rm -r *.gcda + - find . -name "*.gcno" -type f -delete + - find . -name "*.gcda" -type f -delete artifacts: paths: @@ -41,8 +41,8 @@ fr_fcfs: - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out after_script: - cd build/ - - rm -r *.gcno - - rm -r *.gcda + - find . -name "*.gcno" -type f -delete + - find . -name "*.gcda" -type f -delete allow_failure: true # TODO should be removed after first tests @@ -64,8 +64,8 @@ protocol_checker: - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out after_script: - cd build/ - - rm -r *.gcno - - rm -r *.gcda + - find . -name "*.gcno" -type f -delete + - find . -name "*.gcda" -type f -delete artifacts: paths: diff --git a/DRAMSys/tests/WIDEIO/ci.yml b/DRAMSys/tests/WIDEIO/ci.yml index ba468038..2afe10a9 100644 --- a/DRAMSys/tests/WIDEIO/ci.yml +++ b/DRAMSys/tests/WIDEIO/ci.yml @@ -20,8 +20,8 @@ example_wideio: - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out after_script: - cd build/ - - rm -r *.gcno - - rm -r *.gcda + - find . -name "*.gcno" -type f -delete + - find . -name "*.gcda" -type f -delete allow_failure: true # TODO: should be removed once the problems are fixed! From d293fe976339c48b1eb782a43c82a982b1bc2975 Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 11:14:05 +0100 Subject: [PATCH 10/15] Redirected output of protocol checker to file --- .gitlab-ci.yml | 1 - DRAMSys/tests/DDR3/ci.yml | 8 ++++---- DRAMSys/tests/WIDEIO/ci.yml | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 03ea6838..30cc3412 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,7 +12,6 @@ stages: cache: paths: - build/ - - coverage/ build: stage: build diff --git a/DRAMSys/tests/DDR3/ci.yml b/DRAMSys/tests/DDR3/ci.yml index c25333ee..46a896dd 100644 --- a/DRAMSys/tests/DDR3/ci.yml +++ b/DRAMSys/tests/DDR3/ci.yml @@ -12,7 +12,7 @@ example_ddr3: - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/ddr3-example_ddr3_ch0.tdb | if ! grep "failed"; then exit 0; else exit 1; fi # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out + - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out after_script: - cd build/ - find . -name "*.gcno" -type f -delete @@ -38,7 +38,7 @@ fr_fcfs: - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/ddr3-fr_fcfs_ddr3_ch0.tdb | if ! grep "failed"; then exit 0; else exit 1; fi # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out + - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out after_script: - cd build/ - find . -name "*.gcno" -type f -delete @@ -57,11 +57,11 @@ protocol_checker: stage: DDR3 script: - cd build/simulator - - ./DRAMSys ../../DRAMSys/tests/DDR3/simulations/ddr3-protocol_checker.xml ../../DRAMSys/tests/DDR3/ + - ./DRAMSys ../../DRAMSys/tests/DDR3/simulations/ddr3-protocol_checker.xml ../../DRAMSys/tests/DDR3/ > output.txt - echo "TODO" # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out + - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out after_script: - cd build/ - find . -name "*.gcno" -type f -delete diff --git a/DRAMSys/tests/WIDEIO/ci.yml b/DRAMSys/tests/WIDEIO/ci.yml index 2afe10a9..b585010a 100644 --- a/DRAMSys/tests/WIDEIO/ci.yml +++ b/DRAMSys/tests/WIDEIO/ci.yml @@ -17,7 +17,7 @@ example_wideio: - python3 ../../DRAMSys/traceAnalyzer/scripts/tests.py ../simulator/wideio-example_wideio_ch3.tdb | if ! grep "failed"; then exit 0; else exit 1; fi # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - - lcov -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out + - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out after_script: - cd build/ - find . -name "*.gcno" -type f -delete From 9b6a092892b0c8215e25c4f740b3981dec800927 Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 11:38:44 +0100 Subject: [PATCH 11/15] *.gcno files will not be deleted anymore. --- .gitlab-ci.yml | 4 ++-- DRAMSys/tests/DDR3/ci.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 30cc3412..f051ca39 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ variables: stages: - build - - WIDEIO +# - WIDEIO - DDR3 - Coverage @@ -37,4 +37,4 @@ coverage: include: - '/DRAMSys/tests/DDR3/ci.yml' - - '/DRAMSys/tests/WIDEIO/ci.yml' +# - '/DRAMSys/tests/WIDEIO/ci.yml' diff --git a/DRAMSys/tests/DDR3/ci.yml b/DRAMSys/tests/DDR3/ci.yml index 46a896dd..4d7b4d25 100644 --- a/DRAMSys/tests/DDR3/ci.yml +++ b/DRAMSys/tests/DDR3/ci.yml @@ -15,7 +15,7 @@ example_ddr3: - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out after_script: - cd build/ - - find . -name "*.gcno" -type f -delete +# - find . -name "*.gcno" -type f -delete - find . -name "*.gcda" -type f -delete artifacts: @@ -41,7 +41,7 @@ fr_fcfs: - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out after_script: - cd build/ - - find . -name "*.gcno" -type f -delete +# - find . -name "*.gcno" -type f -delete - find . -name "*.gcda" -type f -delete allow_failure: true # TODO should be removed after first tests @@ -64,7 +64,7 @@ protocol_checker: - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out after_script: - cd build/ - - find . -name "*.gcno" -type f -delete +# - find . -name "*.gcno" -type f -delete - find . -name "*.gcda" -type f -delete artifacts: From 8d0e08d0a372a6740473f0491c2a85c7bc5ed871 Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 12:01:39 +0100 Subject: [PATCH 12/15] Using local caches to reduce runtime --- .gitlab-ci.yml | 11 ++++++++--- DRAMSys/tests/DDR3/ci.yml | 36 +++++++++++++++++++++++++++--------- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f051ca39..36b696fb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,9 +9,9 @@ stages: - DDR3 - Coverage -cache: - paths: - - build/ +#cache: +# paths: +# - build/ build: stage: build @@ -24,6 +24,11 @@ build: - qmake ../DRAMSys/DRAMSys.pro - make -j4 - find . -name "*.o" -type f -delete + cache: + key: build + paths: + - build/ + policy: push coverage: stage: Coverage diff --git a/DRAMSys/tests/DDR3/ci.yml b/DRAMSys/tests/DDR3/ci.yml index 4d7b4d25..6829d561 100644 --- a/DRAMSys/tests/DDR3/ci.yml +++ b/DRAMSys/tests/DDR3/ci.yml @@ -13,10 +13,16 @@ example_ddr3: # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out - after_script: - - cd build/ +# after_script: +# - cd build/ # - find . -name "*.gcno" -type f -delete - - find . -name "*.gcda" -type f -delete +# - find . -name "*.gcda" -type f -delete + + cache: + key: build + paths: + - build/ + policy: pull artifacts: paths: @@ -39,10 +45,16 @@ fr_fcfs: # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out - after_script: - - cd build/ +# after_script: +# - cd build/ # - find . -name "*.gcno" -type f -delete - - find . -name "*.gcda" -type f -delete +# - find . -name "*.gcda" -type f -delete + + cache: + key: build + paths: + - build/ + policy: pull allow_failure: true # TODO should be removed after first tests @@ -62,10 +74,16 @@ protocol_checker: # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out - after_script: - - cd build/ +# after_script: +# - cd build/ # - find . -name "*.gcno" -type f -delete - - find . -name "*.gcda" -type f -delete +# - find . -name "*.gcda" -type f -delete + + cache: + key: build + paths: + - build/ + policy: pull artifacts: paths: From b1188981114223d3c43d25beb1b5110a5718c5f2 Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 13:16:56 +0100 Subject: [PATCH 13/15] Empty files in coverage/ will be deleted --- .gitlab-ci.yml | 2 ++ DRAMSys/tests/DDR3/ci.yml | 1 + 2 files changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 36b696fb..7e40509c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,6 +34,8 @@ coverage: stage: Coverage coverage: '/^\s*lines\s*\d+.\d+\%/' script: + # delete all empty files since they produce errors + - find coverage -size 0 -type f -delete - lcov `find coverage -type f -exec echo "-a {}" \;` -o coverage/final.out artifacts: paths: diff --git a/DRAMSys/tests/DDR3/ci.yml b/DRAMSys/tests/DDR3/ci.yml index 6829d561..4905c2ed 100644 --- a/DRAMSys/tests/DDR3/ci.yml +++ b/DRAMSys/tests/DDR3/ci.yml @@ -71,6 +71,7 @@ protocol_checker: - cd build/simulator - ./DRAMSys ../../DRAMSys/tests/DDR3/simulations/ddr3-protocol_checker.xml ../../DRAMSys/tests/DDR3/ > output.txt - echo "TODO" + - ls -lah # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out From 2061877afa73cee4b85cd79e60a90a2480df748b Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 13:48:37 +0100 Subject: [PATCH 14/15] CI Scripts cleaned up. ls output added. --- .gitlab-ci.yml | 11 ++++------- DRAMSys/tests/DDR3/ci.yml | 12 ------------ DRAMSys/tests/WIDEIO/ci.yml | 10 ++++++---- 3 files changed, 10 insertions(+), 23 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7e40509c..f6382baa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,14 +5,10 @@ variables: stages: - build -# - WIDEIO + - WIDEIO - DDR3 - Coverage -#cache: -# paths: -# - build/ - build: stage: build script: @@ -32,10 +28,11 @@ build: coverage: stage: Coverage - coverage: '/^\s*lines\s*\d+.\d+\%/' + coverage: '/^\s*lines(.)*:\s*\d+.\d+\%/' script: # delete all empty files since they produce errors - find coverage -size 0 -type f -delete + - ls -lah - lcov `find coverage -type f -exec echo "-a {}" \;` -o coverage/final.out artifacts: paths: @@ -44,4 +41,4 @@ coverage: include: - '/DRAMSys/tests/DDR3/ci.yml' -# - '/DRAMSys/tests/WIDEIO/ci.yml' + - '/DRAMSys/tests/WIDEIO/ci.yml' diff --git a/DRAMSys/tests/DDR3/ci.yml b/DRAMSys/tests/DDR3/ci.yml index 4905c2ed..b92199d0 100644 --- a/DRAMSys/tests/DDR3/ci.yml +++ b/DRAMSys/tests/DDR3/ci.yml @@ -13,10 +13,6 @@ example_ddr3: # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out -# after_script: -# - cd build/ -# - find . -name "*.gcno" -type f -delete -# - find . -name "*.gcda" -type f -delete cache: key: build @@ -45,10 +41,6 @@ fr_fcfs: # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out -# after_script: -# - cd build/ -# - find . -name "*.gcno" -type f -delete -# - find . -name "*.gcda" -type f -delete cache: key: build @@ -75,10 +67,6 @@ protocol_checker: # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out -# after_script: -# - cd build/ -# - find . -name "*.gcno" -type f -delete -# - find . -name "*.gcda" -type f -delete cache: key: build diff --git a/DRAMSys/tests/WIDEIO/ci.yml b/DRAMSys/tests/WIDEIO/ci.yml index b585010a..7fc1ee7b 100644 --- a/DRAMSys/tests/WIDEIO/ci.yml +++ b/DRAMSys/tests/WIDEIO/ci.yml @@ -18,10 +18,12 @@ example_wideio: # Run Code Coverage - mkdir -p ${CI_PROJECT_DIR}/coverage - lcov -q -c -d ${CI_PROJECT_DIR}/build/ -o ${CI_PROJECT_DIR}/coverage/${CI_JOB_NAME}.out - after_script: - - cd build/ - - find . -name "*.gcno" -type f -delete - - find . -name "*.gcda" -type f -delete + + cache: + key: build + paths: + - build/ + policy: pull allow_failure: true # TODO: should be removed once the problems are fixed! From 61342897ab0d58cdcef6690a2d151c778d9b9916 Mon Sep 17 00:00:00 2001 From: Johannes Feldmann Date: Tue, 18 Dec 2018 17:24:15 +0100 Subject: [PATCH 15/15] Changed code coverage output and regex --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f6382baa..b9e0622e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,12 +28,13 @@ build: coverage: stage: Coverage - coverage: '/^\s*lines(.)*:\s*\d+.\d+\%/' + coverage: '/Total:\|(\d+\.?\d+\%)/' script: # delete all empty files since they produce errors - find coverage -size 0 -type f -delete - - ls -lah + - ls coverage/ -lah - lcov `find coverage -type f -exec echo "-a {}" \;` -o coverage/final.out + - lcov --list coverage/final.out artifacts: paths: - coverage/final.out