mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 23:21:52 +01:00 
			
		
		
		
	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
 |