Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add mutant testing #87

Merged
merged 3 commits into from
Nov 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -229,11 +229,11 @@ clang++ mull:
- apt-get -qq install --no-install-recommends -y --quiet mull-11 libclang-cpp11
- mkdir build && cd build
- mull-runner-11 --version
- CXX=clang++-11 cmake .. -DCMAKE_CXX_FLAGS="-O3 -DNDEBUG -fexperimental-new-pass-manager -fpass-plugin=/usr/lib/mull-ir-frontend-11 -g -grecord-command-line -fprofile-instr-generate -fcoverage-mapping"
- CXX=clang++-11 cmake .. -DCMAKE_CXX_FLAGS="-O1 -fexperimental-new-pass-manager -fpass-plugin=/usr/lib/mull-ir-frontend-11 -g -grecord-command-line -fprofile-instr-generate -fcoverage-mapping"
- cmake --build . --parallel 2 || cmake --build . --parallel 1 --verbose
- ctest -j 2 --output-on-failure --verbose
- cd test
- ls *.x | xargs -n 1 sh -c 'echo $0 && ((mull-runner-11 --ld-search-path=/usr/lib/x86_64-linux-gnu $0 -test-program=ctest -- -j2) || exit 255)'
- ls *.x | xargs -n 1 sh -c 'echo $0 && ((mull-runner-11 --ld-search-path=/usr/lib/x86_64-linux-gnu $0 -test-program=ctest -- -j2 --stop-on-failure) || exit 255)'
needs: ["clang++"]

# deb:
Expand Down
1 change: 1 addition & 0 deletions mull.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ mutators:
- cxx_add_assign_to_sub_assign # Replaces += with -=
- cxx_add_to_sub # Replaces + with -
- cxx_mul_to_div # Replaces / with *
- cxx_lt_to_le # Replaces < with <=
timeout: 10000 # in milliseconds
quiet: true # enables additional logging
11 changes: 4 additions & 7 deletions pre-push
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ export CMAKE_GENERATOR=Ninja
export CMAKE_CUDA_COMPILER_LAUNCHER="ccache"
export CMAKE_CXX_COMPILER_LAUNCHER="ccache"

export CMAKE_EXE_LINKER_FLAGS="-fuse-ld=mold"
export CMAKE_SHARED_LINKER_FLAGS="-fuse-ld=mold"
# export CMAKE_EXE_LINKER_FLAGS="-fuse-ld=mold"
# export CMAKE_SHARED_LINKER_FLAGS="-fuse-ld=mold"

if [[ $(uname -m) != 'arm64' ]]; then

Expand All @@ -46,7 +46,7 @@ export VALGRIND_EXE="valgrind --trace-children=yes --leak-check=full --track-ori
(mkdir -p .build.culang && cd .build.culang && cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=clang++ -DCMAKE_CUDA_HOST_COMPILER=clang++ -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CUDA_ARCHITECTURES=75 && cmake --build . && ctest --parallel --output-on-failure --rerun-failed) || exit 666
(mkdir -p .build.g++.plus && cd .build.g++.plus && CXX=g++ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=23 -DBLA_VENDOR=OpenBLAS `#-DCMAKE_CXX_CPPCHECK="cppcheck;--enable=all;--suppress=missingIncludeSystem;--inline-suppr;--std=c++17;--checkers-report=cppcheck.report;--error-exitcode=1"` -DCMAKE_CXX_FLAGS="-D_GLIBCXX_DEBUG=1" -DCMAKE_CXX_FLAGS="-fimplicit-constexpr -fanalyzer -Wno-analyzer-null-dereference -Wno-analyzer-possible-null-dereference -Wno-analyzer-malloc-leak -Wno-analyzer-use-of-uninitialized-value -Wno-analyzer-use-after-free" && cmake --build . && ctest --parallel --output-on-failure -T memcheck) || exit 666
(mkdir -p .build.clang++.plus && cd .build.clang++.plus && CXX=clang++ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 -DBLA_VENDOR=Generic -DCMAKE_CXX_CLANG_TIDY="clang-tidy" `#-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="iwyu;-Xiwyu;--mapping_file=/home/correaa/boost-multi/.iwyu-test.imp;-Xiwyu;--no_fwd_decls"` && cmake --build . && ASAN_OPTIONS="new_delete_type_mismatch=0" ctest --parallel --output-on-failure) || exit 666
(mkdir -p .build.clang++.mull && cd .build.clang++.mull && CXX=clang++-14 cmake .. -DCMAKE_CXX_FLAGS="-O3 -DNDEBUG -fpass-plugin=/usr/lib/mull-ir-frontend-14 -g -grecord-command-line -fprofile-instr-generate -fcoverage-mapping" -DCMAKE_TEST_LAUNCHER="mull-runner-14;--strict;--ld-search-path=/usr/lib/x86_64-linux-gnu" && cmake --build . && (ls test/*.x | xargs -n 1 sh -c 'echo $0 && ((mull-runner-14 $0 -test-program=ctest -- -j2 ) || exit 255)') ) || exit 666
(mkdir -p .build.clang++.mull && cd .build.clang++.mull && CXX=clang++-14 cmake .. -DCMAKE_CXX_FLAGS="-O1 -fpass-plugin=/usr/lib/mull-ir-frontend-14 -g -grecord-command-line -fprofile-instr-generate -fcoverage-mapping" -DCMAKE_TEST_LAUNCHER="mull-runner-14;--strict;--ld-search-path=/usr/lib/x86_64-linux-gnu" && cmake --build . && (ls test/*.x | xargs -n 1 sh -c 'echo $0 && ((mull-runner-14 $0 -test-program=ctest -- -j2 --stop-on-failure) || exit 255)') ) || exit 666
#(mkdir -p .build.hip && cd .build.hip && CXX=clang++ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_HIP_COMPILER=/opt/rocm/llvm/bin/clang++ -DCMAKE_CXX_FLAGS="-DMULTI_USE_HIP" -DCMAKE_HIP_FLAGS="-DMULTI_USE_HIP" -DENABLE_HIP=1 -DCMAKE_HIP_ARCHITECTURES=gfx90a && cmake --build . ) || exit 666
#(mkdir -p .build.g++-.cov && cd .build.g++-.cov && CXX=g++ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="--coverage -lgcov -fno-inline -fno-inline-small-functions -fno-default-inline" -DCMAKE_EXE_LINKER_FLAGS="-lgcov --coverage" && cmake --build . && ASAN_OPTIONS="new_delete_type_mismatch=0" ctest -j 12 --output-on-failure -T Test `# && lcov --directory . --capture --output-file coverage.info && lcov --remove coverage.info '/usr/*' --output-file coverage.info && lcov --list coverage.info && genhtml coverage.info`) || exit 666

Expand All @@ -60,12 +60,9 @@ export VALGRIND_EXE="valgrind --trace-children=yes --leak-check=full --track-ori
# sudo modprobe -r nvidia_uvm
# sudo modprobe nvidia_uvm
else
export CMAKE_GENERATOR=Ninja
# export CMAKE_CXX_COMPILER_LAUNCHER="ccache"

#(mkdir -p .build.g++-14 && cd .build.g++-14 && CXX=g++-14 cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=23 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.c++.std23 && cd .build.c++.std23 && CXX=c++ CXXFLAGS="-fexperimental-library" cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=23 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.c++.asan && cd .build.c++.asan && CXX=c++ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-D_LIBCPP_DEBUG=1 -fsanitize=undefined -fsanitize=pointer-overflow -fsanitize-trap=pointer-overflow -fsanitize=address -fno-omit-frame-pointer" && cmake --build . && ASAN_OPTIONS="new_delete_type_mismatch=1" ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.c++.asan && cd .build.c++.asan && CXX=c++ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-D_LIBCPP_DEBUG=1 -fsanitize=undefined -fsanitize=pointer-overflow -fsanitize-trap=pointer-overflow -fsanitize=address -fno-omit-frame-pointer -fsanitize=signed-integer-overflow" && cmake --build . && ASAN_OPTIONS="new_delete_type_mismatch=1" ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.c++.m32 && cd .build.c++.m32 && CXX=c++ cmake .. -DCMAKE_BUILD_TYPE=Debug && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.c++.tidy && cd .build.c++.tidy && CXX=c++ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_CLANG_TIDY=clang-tidy -DCMAKE_CXX_CPPLINT="cpplint;--quiet" -DCMAKE_CXX_CPPCHECK="cppcheck;--enable=all;--suppress=missingIncludeSystem;--checkers-report=cppcheck.report;--suppress=checkersReport;--inline-suppr;--std=c++17;--error-exitcode=1" -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-Xiwyu;--mapping_file=/Users/correatedesco1/boost-multi/.iwyu-test.imp;-Xiwyu;--no_fwd_decls;-Xiwyu;--error" && cmake --build . --verbose --parallel && ctest -j 12 --output-on-failure) || exit 666

Expand Down
Loading