diff --git a/docs/contributing.md b/docs/contributing.md index 020dbfca..1d3143fb 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -78,23 +78,30 @@ the invocation of CMake configuration step. Bringing this all together, the steps below should configure, build, and run all tests in the `Debug` compilation. -1. Regenerate the amalgamated distribution + + +```sh +# 1. Regenerate the amalgamated distribution +./tools/scripts/generateAmalgamatedFiles.py + +# 2. Configure the full test build +cmake -Bdebug-build -H. -DCMAKE_BUILD_TYPE=Debug -DCATCH_BUILD_EXAMPLES=ON -DCATCH_BUILD_EXTRA_TESTS=ON + +# 3. Run the actual build +cmake --build debug-build + +# 4. Run the tests using CTest +cd debug-build +ctest -j 4 --output-on-failure -C Debug ``` -$ cd Catch2 -$ ./tools/scripts/generateAmalgamatedFiles.py -``` -2. Configure the full test build -``` -$ cmake -Bdebug-build -H. -DCMAKE_BUILD_TYPE=Debug -DCATCH_BUILD_EXAMPLES=ON -DCATCH_BUILD_EXTRA_TESTS=ON -``` -3. Run the actual build -``` -$ cmake --build debug-build -``` -4. Run the tests using CTest -``` -$ cd debug-build -$ ctest -j 4 --output-on-failure -C Debug +snippet source | anchor + + +For convenience, the above commands are in the script `tools/scripts/buildAndTest.sh`, and can be run like this: + +```bash +cd Catch2 +./tools/scripts/buildAndTest.sh ``` If you added new tests, you will likely see `ApprovalTests` failure. diff --git a/tools/scripts/buildAndTest.sh b/tools/scripts/buildAndTest.sh index 42a7f6e1..d5bca96d 100755 --- a/tools/scripts/buildAndTest.sh +++ b/tools/scripts/buildAndTest.sh @@ -3,6 +3,7 @@ # Start at the root of the Catch project directory, for example: # cd Catch2 +# begin-snippet: catch2-build-and-test # 1. Regenerate the amalgamated distribution ./tools/scripts/generateAmalgamatedFiles.py @@ -15,3 +16,4 @@ cmake --build debug-build # 4. Run the tests using CTest cd debug-build ctest -j 4 --output-on-failure -C Debug +# end-snippet