Skip to content

Commit 3b90166

Browse files
authored
Merge pull request #16 from cschreib/update
Refactor tests
2 parents c82b3cd + f82e691 commit 3b90166

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+5075
-5009
lines changed

.github/workflows/cmake.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
platform:
16-
- { name: Ubuntu GCC, os: ubuntu-latest, compiler: g++, arch: "64", cmakepp: "", flags: "-DCMAKE_CXX_COMPILER=g++ -DCMAKE_CXX_FLAGS=--coverage"}
17-
- { name: Ubuntu Clang, os: ubuntu-latest, compiler: clang++, arch: "64", cmakepp: "", flags: "-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS=-stdlib=libc++"}
16+
- { name: Ubuntu GCC, os: ubuntu-latest, compiler: g++, arch: "64", cmakepp: "", flags: "-DCMAKE_CXX_COMPILER=g++ -DCMAKE_CXX_FLAGS='--coverage'"}
17+
- { name: Ubuntu Clang, os: ubuntu-latest, compiler: clang++, arch: "64", cmakepp: "", flags: "-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS='-stdlib=libc++'"}
1818
- { name: Windows 32, os: windows-latest, compiler: vs2019, arch: "32", cmakepp: "", flags: "-A Win32"}
1919
- { name: Windows 64, os: windows-latest, compiler: vs2019, arch: "64", cmakepp: "", flags: "-A x64"}
2020
- { name: MacOS, os: macos-latest, compiler: clang++, arch: "64", cmakepp: "", flags: ""}
21-
- { name: WebAssembly, os: ubuntu-latest, compiler: em++, arch: "32", cmakepp: "emcmake", flags: "-DCMAKE_CXX_FLAGS=\"-s DISABLE_EXCEPTION_CATCHING=0\" -DCMAKE_CROSSCOMPILING_EMULATOR=node"}
21+
- { name: WebAssembly, os: ubuntu-latest, compiler: em++, arch: "32", cmakepp: "emcmake", flags: "-DCMAKE_CXX_FLAGS='-s DISABLE_EXCEPTION_CATCHING=0' -DCMAKE_CROSSCOMPILING_EMULATOR=node"}
2222
build-type:
2323
- Release
2424
- Debug
@@ -51,6 +51,14 @@ jobs:
5151
version: ${{env.EM_VERSION}}
5252
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
5353

54+
# GCC 9 has a bug which prevents compilation of the testing framework, so switch to GCC 10.
55+
- name: Setup GCC
56+
if: matrix.platform.compiler == 'g++'
57+
run: |
58+
sudo apt install g++-10
59+
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10
60+
sudo update-alternatives --set gcc /usr/bin/gcc-10
61+
5462
- name: Create Build Environment
5563
run: cmake -E make_directory ${{github.workspace}}/build
5664

@@ -67,11 +75,11 @@ jobs:
6775
- name: Test
6876
shell: bash
6977
working-directory: ${{github.workspace}}/build
70-
run: ctest --output-on-failure
78+
run: cmake --build . --config ${{matrix.build-type}} --target oup_runtime_tests_run
7179

7280
- name: Compute Code Coverage
7381
if: runner.os == 'Linux' && matrix.platform.compiler == 'g++' && matrix.build-type == 'Debug'
7482
run: |
75-
gcov ${{github.workspace}}/build/tests/CMakeFiles/oup_tests.dir/runtime_tests.cpp.gcda
83+
gcov ${{github.workspace}}/build/tests/CMakeFiles/oup_runtime_tests.dir/*.gcda
7684
ls | grep '.gcov' | grep -v observable_unique_ptr | xargs -d"\n" rm
7785
bash <(curl -s https://codecov.io/bash)

0 commit comments

Comments
 (0)