Skip to content

How to Test

This wiki page describes how to build and run tests on Linux. It should eventually provide guidance on how to add tests for a new feature.

Build Tests

Can be built with the -t flag for build_linux.sh:

build_linux.sh -t

(or -ter or -stb etc).

When running build_linux.sh with -t, make sure you always include the -e or -b flag if you built the binary with them, otherwise you'll rebuild all of OrcaSlicer again before the tests are ready.

Test binaries will then appear under build/tests or build-dbginfo/tests or build-dbg/tests. As of this writing, not all tests will be built.

Faster Test Write-Build-Run Loop

For rebuilding after changes, you can look into build_linux.sh for the cmake command which triggers the build and adapt it to running independently. You'll be able to use something like:

# Obviously only use the appropriate one
BUILD_CONFIG=Release
BUILD_CONFIG=RelWithDebInfo
cd $BUILD_DIR # build or build-dbginfo probably

cmake --build . --config $BUILD_CONFIG --target tests/all
# or
cmake --build . --config $BUILD_CONFIG --target libslic3r_tests
# etc

If you change any CMakeLists.txt file, you'll need to rerun the configuration generation first. Change to the build directory and run cmake .. hopefully works without destroying the cache. Rerunning build_linux.sh -t{eb} is the most comprehensive way, but then everything has to be rebuilt. You'll need this if you added a new cpp file, for example.

Run Unit Tests

Run All

cd $BUILD_DIR # build or build-dbginfo probably
ctest --test-dir tests

Run a Specific Set

cd $BUILD_DIR # build or build-dbginfo probably
ctest --test-dir tests/slic3rutils