mirror of
https://github.com/catchorg/Catch2.git
synced 2025-08-02 13:25:41 +02:00

committed by
Martin Hořeňovský

parent
c1720d0c42
commit
d084162b2f
35
examples/300-FilteredSection.cpp
Normal file
35
examples/300-FilteredSection.cpp
Normal file
@@ -0,0 +1,35 @@
|
||||
// Provide a basis to check whether section selection via the `-c` command line
|
||||
// option works as intended.
|
||||
|
||||
#define CATCH_CONFIG_MAIN
|
||||
#include <catch2/catch.hpp>
|
||||
|
||||
bool previouslyRun = false;
|
||||
bool previouslyRunNested = false;
|
||||
|
||||
TEST_CASE( "#1394" ) {
|
||||
// -- Don't re-run after specified section is done
|
||||
REQUIRE(previouslyRun == false);
|
||||
|
||||
SECTION( "RunSection" ) {
|
||||
previouslyRun = true;
|
||||
}
|
||||
SECTION( "SkipSection" ) {
|
||||
// cause an error if this section is called because it shouldn't be
|
||||
REQUIRE(1 == 0);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE( "#1394 nested" ) {
|
||||
REQUIRE(previouslyRunNested == false);
|
||||
|
||||
SECTION( "NestedRunSection" ) {
|
||||
SECTION( "s1" ) {
|
||||
previouslyRunNested = true;
|
||||
}
|
||||
}
|
||||
SECTION( "NestedSkipSection" ) {
|
||||
// cause an error if this section is called because it shouldn't be
|
||||
REQUIRE(1 == 0);
|
||||
}
|
||||
}
|
@@ -21,6 +21,7 @@ set( REPORTER_HEADER_DIR ${CATCH_DIR}/include/reporters )
|
||||
set( SOURCES_SINGLE_FILE
|
||||
010-TestCase.cpp
|
||||
231-Cfg-OutputStreams.cpp
|
||||
300-FilteredSection.cpp
|
||||
)
|
||||
|
||||
# multiple-file modules:
|
||||
|
8
examples/runFilteredSection.sh
Executable file
8
examples/runFilteredSection.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# make sure single-file header was regenerated
|
||||
../scripts/generateSingleHeader.py
|
||||
|
||||
# run Test case with specified section to trigger bug #1394
|
||||
../cmake-build-debug/examples/300-FilteredSection \#1394 -c RunSection
|
||||
../cmake-build-debug/examples/300-FilteredSection \#1394\ nested -c NestedRunSection -c s1
|
Reference in New Issue
Block a user