mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-27 21:23:30 +01:00
44722f9ed3
This also goes for pkg-config installed by our CMake installation. This includes * Updating CMake version on Travis * Adding a `Catch2` subfolder to the `single_include/` folder to provide this include path both _inside_ the repository, and _outside_. * Updated examples to build with the new paths * Other general CMake cleanup
36 lines
1.2 KiB
C++
36 lines
1.2 KiB
C++
// 020-TestCase-1.cpp
|
|
|
|
// In a Catch project with multiple files, dedicate one file to compile the
|
|
// source code of Catch itself and reuse the resulting object file for linking.
|
|
|
|
// Let Catch provide main():
|
|
#define CATCH_CONFIG_MAIN
|
|
|
|
#include <catch2/catch.hpp>
|
|
|
|
TEST_CASE( "1: All test cases reside in other .cpp files (empty)", "[multi-file:1]" ) {
|
|
}
|
|
|
|
// ^^^
|
|
// Normally no TEST_CASEs in this file.
|
|
// Here just to show there are two source files via option --list-tests.
|
|
|
|
// Compile & run:
|
|
// - g++ -std=c++11 -Wall -I$(CATCH_SINGLE_INCLUDE) -c 020-TestCase-1.cpp
|
|
// - g++ -std=c++11 -Wall -I$(CATCH_SINGLE_INCLUDE) -o 020-TestCase TestCase-1.o 020-TestCase-2.cpp && 020-TestCase --success
|
|
//
|
|
// - cl -EHsc -I%CATCH_SINGLE_INCLUDE% -c 020-TestCase-1.cpp
|
|
// - cl -EHsc -I%CATCH_SINGLE_INCLUDE% -Fe020-TestCase.exe 020-TestCase-1.obj 020-TestCase-2.cpp && 020-TestCase --success
|
|
|
|
// Expected test case listing:
|
|
//
|
|
// prompt> 020-TestCase --list-tests *
|
|
// Matching test cases:
|
|
// 1: All test cases reside in other .cpp files (empty)
|
|
// [multi-file:1]
|
|
// 2: Factorial of 0 is computed (fail)
|
|
// [multi-file:2]
|
|
// 2: Factorials of 1 and higher are computed (pass)
|
|
// [multi-file:2]
|
|
// 3 matching test cases
|