From 342dbfb705f1b0bae9ea3196607924c0ab2a88a3 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 10:39:47 -0600 Subject: [PATCH 01/17] Prep for coveralls Signed-off-by: Jacob Torrey --- .travis.yml | 5 ++++- README.md | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index beea1dfab..89a3bd5c3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,9 +27,12 @@ addons: before_install: - sudo add-apt-repository -y ppa:kojoley/boost - sudo apt-get -q update +- pip install --user cpp-coveralls install: - sudo apt-get -y install libboost-{chrono,program-options,date-time,thread,system,filesystem,regex,serialization}1.58{-dev,.0} -script: make -j2 && HAVE_DOT=YES doxygen Doxyfile +script: +- make -j2 && HAVE_DOT=YES doxygen Doxyfile +#- ./configure --enable-gcov && make && make check notifications: email: false irc: diff --git a/README.md b/README.md index 394bee2d6..83377dac1 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ Copyright (c) 2014-2016, The Monero Project [![Build Status](https://travis-ci.org/monero-project/bitmonero.svg?branch=master)](https://travis-ci.org/monero-project/bitmonero) +[![Coverage Status](https://coveralls.io/repos/github/ranok/bitmonero/badge.svg?branch=master)](https://coveralls.io/github/ranok/bitmonero?branch=master) ## Development Resources From 7351a1174bbe67b54f124dc879b52517a2e14670 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 13:56:59 -0600 Subject: [PATCH 02/17] Converted to a build matrix for testing and release Signed-off-by: Jacob Torrey --- .travis.yml | 129 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 87 insertions(+), 42 deletions(-) diff --git a/.travis.yml b/.travis.yml index 89a3bd5c3..c59ca85ec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,45 +1,90 @@ sudo: required dist: trusty language: cpp -compiler: -- gcc -- clang -addons: - apt: - packages: - - build-essential - - cmake - - doxygen - - g++ - - gcc - - clang - - graphviz - - libdb++-dev - - libdb-dev - - libgtest-dev - - libminiupnpc-dev - - libssl-dev - - libssl1.0.0 - - libunbound-dev - - libunwind8-dev - sources: - - ubuntu-toolchain-r-test -before_install: -- sudo add-apt-repository -y ppa:kojoley/boost -- sudo apt-get -q update -- pip install --user cpp-coveralls -install: -- sudo apt-get -y install libboost-{chrono,program-options,date-time,thread,system,filesystem,regex,serialization}1.58{-dev,.0} -script: -- make -j2 && HAVE_DOT=YES doxygen Doxyfile -#- ./configure --enable-gcov && make && make check -notifications: - email: false - irc: - on_success: change - on_failure: change - channels: - - "chat.freenode.net#monero-dev" - nick: monero - template: - - "%{result} | %{repository}#%{build_number} (%{commit} : %{author}) | Build details : %{build_url}" + +matrix: + include: + + # + # Coveralls.io + # + - os: linux + compiler: + - gcc + addons: + apt: + packages: + - build-essential + - cmake + - doxygen + - g++ + - gcc + - clang + - graphviz + - libdb++-dev + - libdb-dev + - libgtest-dev + - libminiupnpc-dev + - libssl-dev + - libssl1.0.0 + - libunbound-dev + - libunwind8-dev + sources: + - ubuntu-toolchain-r-test + before_install: + - sudo add-apt-repository -y ppa:kojoley/boost + - sudo apt-get -q update + - pip install --user cpp-coveralls + install: + - sudo apt-get -y install libboost-{chrono,program-options,date-time,thread,system,filesystem,regex,serialization}1.58{-dev,.0} + script: + - ./configure --enable-gcov && make && make check + after_success: + - coveralls --exclude external --exclude tests -e cmake -e contrib -e translations -e utils --gcov-options '\-lp' + + # + # Monero release-all + # + - os: linux + compiler: + - gcc + - clang + addons: + apt: + packages: + - build-essential + - cmake + - doxygen + - g++ + - gcc + - clang + - graphviz + - libdb++-dev + - libdb-dev + - libgtest-dev + - libminiupnpc-dev + - libssl-dev + - libssl1.0.0 + - libunbound-dev + - libunwind8-dev + sources: + - ubuntu-toolchain-r-test + before_install: + - sudo add-apt-repository -y ppa:kojoley/boost + - sudo apt-get -q update + install: + - sudo apt-get -y install libboost-{chrono,program-options,date-time,thread,system,filesystem,regex,serialization}1.58{-dev,.0} + script: + - make -j2 && HAVE_DOT=YES doxygen Doxyfile + + +#notifications: +# email: false +# irc: +# on_success: change +# on_failure: change +# channels: +# - "chat.freenode.net#monero-dev" +# nick: monero +# template: +# - "%{result} | %{repository}#%{build_number} (%{commit} : %{author}) | Build details : %{build_url}" From abcac26e9b280994954eb64700baa6654cc657c7 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 14:33:32 -0600 Subject: [PATCH 03/17] Fixed tab/space issue on YAML Signed-off-by: Jacob Torrey --- .travis.yml | 72 ++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/.travis.yml b/.travis.yml index c59ca85ec..0f84fe1b4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,24 +13,24 @@ matrix: - gcc addons: apt: - packages: - - build-essential - - cmake - - doxygen - - g++ - - gcc - - clang - - graphviz - - libdb++-dev - - libdb-dev - - libgtest-dev - - libminiupnpc-dev - - libssl-dev - - libssl1.0.0 - - libunbound-dev - - libunwind8-dev - sources: - - ubuntu-toolchain-r-test + packages: + - build-essential + - cmake + - doxygen + - g++ + - gcc + - clang + - graphviz + - libdb++-dev + - libdb-dev + - libgtest-dev + - libminiupnpc-dev + - libssl-dev + - libssl1.0.0 + - libunbound-dev + - libunwind8-dev + sources: + - ubuntu-toolchain-r-test before_install: - sudo add-apt-repository -y ppa:kojoley/boost - sudo apt-get -q update @@ -51,24 +51,24 @@ matrix: - clang addons: apt: - packages: - - build-essential - - cmake - - doxygen - - g++ - - gcc - - clang - - graphviz - - libdb++-dev - - libdb-dev - - libgtest-dev - - libminiupnpc-dev - - libssl-dev - - libssl1.0.0 - - libunbound-dev - - libunwind8-dev - sources: - - ubuntu-toolchain-r-test + packages: + - build-essential + - cmake + - doxygen + - g++ + - gcc + - clang + - graphviz + - libdb++-dev + - libdb-dev + - libgtest-dev + - libminiupnpc-dev + - libssl-dev + - libssl1.0.0 + - libunbound-dev + - libunwind8-dev + sources: + - ubuntu-toolchain-r-test before_install: - sudo add-apt-repository -y ppa:kojoley/boost - sudo apt-get -q update From 678467d5b07d40df0ff705f2abd47757c616ef73 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 14:34:31 -0600 Subject: [PATCH 04/17] Update for the current make environment --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0f84fe1b4..9ac347ab0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,7 @@ matrix: install: - sudo apt-get -y install libboost-{chrono,program-options,date-time,thread,system,filesystem,regex,serialization}1.58{-dev,.0} script: - - ./configure --enable-gcov && make && make check + - make debug-test after_success: - coveralls --exclude external --exclude tests -e cmake -e contrib -e translations -e utils --gcov-options '\-lp' From 497b24f25f5cf56c1dbec81cd13d27ad7d8d14ae Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 15:18:57 -0600 Subject: [PATCH 05/17] Update .travis.yml --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 9ac347ab0..1c68cd280 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,6 +38,7 @@ matrix: install: - sudo apt-get -y install libboost-{chrono,program-options,date-time,thread,system,filesystem,regex,serialization}1.58{-dev,.0} script: + - make debug - make debug-test after_success: - coveralls --exclude external --exclude tests -e cmake -e contrib -e translations -e utils --gcov-options '\-lp' From fe4992b1dc6cc90f02d698a17cdfae02ef67f41a Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 15:26:52 -0600 Subject: [PATCH 06/17] Added coverage g++ commands Signed-off-by: Jacob Torrey --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ac4a2f95..de0bb3a5e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -392,9 +392,9 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGTEST_HAS_TR1_TUPLE=0") endif() if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT (CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8)) - set(DEBUG_FLAGS "-g3 -Og") + set(DEBUG_FLAGS "-g3 -Og -Wall -fprofile-arcs -ftest-coverage --coverage") else() - set(DEBUG_FLAGS "-g3 -O0") + set(DEBUG_FLAGS "-g3 -O0 -Wall -fprofile-arcs -ftest-coverage --coverage") endif() if(NOT DEFINED USE_LTO_DEFAULT) From 14915c24d730c45a9440ec9eb080929e3ed0d06b Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 16:40:02 -0600 Subject: [PATCH 07/17] Ensure tests are built prior to testing --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1c68cd280..17aa983ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,7 @@ matrix: install: - sudo apt-get -y install libboost-{chrono,program-options,date-time,thread,system,filesystem,regex,serialization}1.58{-dev,.0} script: - - make debug + - make debug-all - make debug-test after_success: - coveralls --exclude external --exclude tests -e cmake -e contrib -e translations -e utils --gcov-options '\-lp' From 256dec06016650128ca3d59d541a1a335b948331 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 17:43:43 -0600 Subject: [PATCH 08/17] Streamline test building target Signed-off-by: Jacob Torrey --- .travis.yml | 1 - Makefile | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 17aa983ef..9ac347ab0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,6 @@ matrix: install: - sudo apt-get -y install libboost-{chrono,program-options,date-time,thread,system,filesystem,regex,serialization}1.58{-dev,.0} script: - - make debug-all - make debug-test after_success: - coveralls --exclude external --exclude tests -e cmake -e contrib -e translations -e utils --gcov-options '\-lp' diff --git a/Makefile b/Makefile index 69d1127de..cade2b8aa 100644 --- a/Makefile +++ b/Makefile @@ -35,9 +35,9 @@ cmake-debug: debug: cmake-debug cd build/debug && $(MAKE) -debug-test: debug +debug-test: mkdir -p build/debug - cd build/debug && cmake -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Debug ../.. && $(MAKE) test + cd build/debug && cmake -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Debug ../.. && $(MAKE) && $(MAKE) test debug-all: mkdir -p build/debug From 650afacc1fd3e18033e86b95d03856dcdba4065f Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 18:11:36 -0600 Subject: [PATCH 09/17] Added -j2 to Makefile and clean up matrix Signed-off-by: Jacob Torrey --- .travis.yml | 42 +++++++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9ac347ab0..ffc1df2a4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,8 +9,7 @@ matrix: # Coveralls.io # - os: linux - compiler: - - gcc + compiler: gcc addons: apt: packages: @@ -38,17 +37,15 @@ matrix: install: - sudo apt-get -y install libboost-{chrono,program-options,date-time,thread,system,filesystem,regex,serialization}1.58{-dev,.0} script: - - make debug-test + - make -j2 debug-test after_success: - coveralls --exclude external --exclude tests -e cmake -e contrib -e translations -e utils --gcov-options '\-lp' # - # Monero release-all + # Monero release-all (gcc) # - os: linux - compiler: - - gcc - - clang + compiler: gcc addons: apt: packages: @@ -77,6 +74,37 @@ matrix: script: - make -j2 && HAVE_DOT=YES doxygen Doxyfile + # + # Monero release-all (clang) + # + - os: linux + compiler: clang + addons: + apt: + packages: + - build-essential + - cmake + - doxygen + - clang + - graphviz + - libdb++-dev + - libdb-dev + - libgtest-dev + - libminiupnpc-dev + - libssl-dev + - libssl1.0.0 + - libunbound-dev + - libunwind8-dev + sources: + - ubuntu-toolchain-r-test + before_install: + - sudo add-apt-repository -y ppa:kojoley/boost + - sudo apt-get -q update + install: + - sudo apt-get -y install libboost-{chrono,program-options,date-time,thread,system,filesystem,regex,serialization}1.58{-dev,.0} + script: + - make -j2 && HAVE_DOT=YES doxygen Doxyfile + #notifications: # email: false From a4501384bf67360e2aee345c4ffe3819d4bbcb37 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 18:41:17 -0600 Subject: [PATCH 10/17] Disable core_tests on Travis-CI Signed-off-by: Jacob Torrey --- tests/CMakeLists.txt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index d1be97afc..03b8b169d 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -54,7 +54,10 @@ else () endif() endif () -add_subdirectory(core_tests) +# Skip the core_tests if we are running in Travis-CI because they will take too long +if (NOT DEFINED ENV{TRAVIS}) + add_subdirectory(core_tests) +endif () add_subdirectory(crypto) add_subdirectory(functional_tests) add_subdirectory(performance_tests) @@ -86,5 +89,11 @@ add_test( NAME hash-target COMMAND hash-target-tests) -add_custom_target(tests DEPENDS coretests difficulty hash performance_tests core_proxy unit_tests) +# Skip the core_tests if we are running in Travis-CI because they will take too long +if (DEFINED ENV{TRAVIS}) + add_custom_target(tests DEPENDS difficulty hash performance_tests core_proxy unit_tests) +else () + add_custom_target(tests DEPENDS coretests difficulty hash performance_tests core_proxy unit_tests) +endif () + set_property(TARGET gtest gtest_main hash-target-tests tests PROPERTY FOLDER "tests") From 65041fbbf86c02d44f0824cf9b49329629438ab5 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 20:17:57 -0600 Subject: [PATCH 11/17] Disabled libwallet_api_test until Issue #895 resolved Signed-off-by: Jacob Torrey --- tests/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 03b8b169d..c7279e358 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -66,7 +66,9 @@ add_subdirectory(unit_tests) add_subdirectory(difficulty) add_subdirectory(hash) add_subdirectory(net_load_tests) -add_subdirectory(libwallet_api_tests) + +# Disabled until issue #895 is resolved +#add_subdirectory(libwallet_api_tests) # add_subdirectory(daemon_tests) From 9c71b9e9ceebccae522a70de2c95577cb390a3d3 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Mon, 22 Aug 2016 21:10:33 -0600 Subject: [PATCH 12/17] Silence coveralls to prevent 4MB logs Signed-off-by: Jacob Torrey --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ffc1df2a4..19a586d60 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,7 +39,7 @@ matrix: script: - make -j2 debug-test after_success: - - coveralls --exclude external --exclude tests -e cmake -e contrib -e translations -e utils --gcov-options '\-lp' + - travis_wait coveralls -e external -e tests -e cmake -e contrib -e translations -e utils --gcov-options '\-lp' &> /dev/null # # Monero release-all (gcc) From d1dc2c31c70c587f95fd08103dad4431d9d8fbf5 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Fri, 26 Aug 2016 13:46:29 -0600 Subject: [PATCH 13/17] Re-enable Travis IRC notifications --- .travis.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 19a586d60..0d59c33fb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -105,14 +105,13 @@ matrix: script: - make -j2 && HAVE_DOT=YES doxygen Doxyfile - -#notifications: -# email: false -# irc: -# on_success: change -# on_failure: change -# channels: -# - "chat.freenode.net#monero-dev" -# nick: monero -# template: -# - "%{result} | %{repository}#%{build_number} (%{commit} : %{author}) | Build details : %{build_url}" +notifications: + email: false + irc: + on_success: change + on_failure: change + channels: + - "chat.freenode.net#monero-dev" + nick: monero + template: + - "%{result} | %{repository}#%{build_number} (%{commit} : %{author}) | Build details : %{build_url}" From baf4574ad5f3198276c8552f109ecff02efdcfee Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Fri, 26 Aug 2016 13:48:03 -0600 Subject: [PATCH 14/17] Update badge to point to monero's coveralls --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 83377dac1..ea0e18963 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Copyright (c) 2014-2016, The Monero Project [![Build Status](https://travis-ci.org/monero-project/bitmonero.svg?branch=master)](https://travis-ci.org/monero-project/bitmonero) -[![Coverage Status](https://coveralls.io/repos/github/ranok/bitmonero/badge.svg?branch=master)](https://coveralls.io/github/ranok/bitmonero?branch=master) +[![Coverage Status](https://coveralls.io/repos/github/monero-project/bitmonero/badge.svg?branch=master)](https://coveralls.io/github/monero-project/bitmonero?branch=master) ## Development Resources From e0bf02a6ce17bbcd8a91743dd3273a6d33040598 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Fri, 26 Aug 2016 13:50:03 -0600 Subject: [PATCH 15/17] Streamline release-test target When Travis builds and tests, time is limited per build, so the overhead of re-calling CMake can push it over the limit. --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index cade2b8aa..5817a8a6b 100644 --- a/Makefile +++ b/Makefile @@ -50,9 +50,9 @@ cmake-release: release: cmake-release cd build/release && $(MAKE) -release-test: release +release-test: mkdir -p build/release - cd build/release && cmake -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release ../.. && $(MAKE) test + cd build/release && cmake -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release ../.. && $(MAKE) && $(MAKE) test release-all: mkdir -p build/release From f017fecde96d1370f99cdab41a65c109bd9682f8 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Sat, 27 Aug 2016 06:22:57 -0600 Subject: [PATCH 16/17] Build the core_tests under Travis --- tests/CMakeLists.txt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c7279e358..daaa078db 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -54,10 +54,7 @@ else () endif() endif () -# Skip the core_tests if we are running in Travis-CI because they will take too long -if (NOT DEFINED ENV{TRAVIS}) - add_subdirectory(core_tests) -endif () +add_subdirectory(core_tests) add_subdirectory(crypto) add_subdirectory(functional_tests) add_subdirectory(performance_tests) From f1ba51cf8902b8470e7b176eb3c54925abecefd9 Mon Sep 17 00:00:00 2001 From: Jacob Torrey Date: Sat, 27 Aug 2016 06:29:19 -0600 Subject: [PATCH 17/17] remove -Wall from coverage arguments --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index de0bb3a5e..b5589450b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -392,9 +392,9 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGTEST_HAS_TR1_TUPLE=0") endif() if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT (CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8)) - set(DEBUG_FLAGS "-g3 -Og -Wall -fprofile-arcs -ftest-coverage --coverage") + set(DEBUG_FLAGS "-g3 -Og -fprofile-arcs -ftest-coverage --coverage") else() - set(DEBUG_FLAGS "-g3 -O0 -Wall -fprofile-arcs -ftest-coverage --coverage") + set(DEBUG_FLAGS "-g3 -O0 -fprofile-arcs -ftest-coverage --coverage") endif() if(NOT DEFINED USE_LTO_DEFAULT)