mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 12:17:11 +01:00 
			
		
		
		
	Remove obsolete IndexTracker
This commit is contained in:
		| @@ -173,156 +173,6 @@ TEST_CASE( "Tracker" ) { | ||||
|         testCase.close(); | ||||
|         REQUIRE( testCase.isComplete() ); | ||||
|     } | ||||
|  | ||||
|     SECTION( "start a generator" ) { | ||||
|         IndexTracker& g1 = IndexTracker::acquire( ctx, makeNAL( "G1" ), 2 ); | ||||
|         REQUIRE( g1.isOpen() ); | ||||
|         REQUIRE( g1.index() == 0 ); | ||||
|  | ||||
|         REQUIRE( g1.isComplete() == false ); | ||||
|         REQUIRE( s1.isComplete() == false ); | ||||
|  | ||||
|         SECTION( "close outer section" ) | ||||
|         { | ||||
|             s1.close(); | ||||
|             REQUIRE( s1.isComplete() == false ); | ||||
|             testCase.close(); | ||||
|             REQUIRE( testCase.isSuccessfullyCompleted() == false ); | ||||
|  | ||||
|             SECTION( "Re-enter for second generation" ) { | ||||
|                 ctx.startCycle(); | ||||
|                 ITracker& testCase2 = SectionTracker::acquire( ctx, makeNAL( "Testcase" ) ); | ||||
|                 REQUIRE( testCase2.isOpen() ); | ||||
|  | ||||
|                 ITracker& s1b = SectionTracker::acquire( ctx, makeNAL( "S1" ) ); | ||||
|                 REQUIRE( s1b.isOpen() ); | ||||
|  | ||||
|  | ||||
|                 IndexTracker& g1b = IndexTracker::acquire( ctx, makeNAL( "G1" ), 2 ); | ||||
|                 REQUIRE( g1b.isOpen() ); | ||||
|                 REQUIRE( g1b.index() == 1 ); | ||||
|  | ||||
|                 REQUIRE( s1.isComplete() == false ); | ||||
|  | ||||
|                 s1b.close(); | ||||
|                 REQUIRE( s1b.isComplete() ); | ||||
|                 REQUIRE( g1b.isComplete() ); | ||||
|                 testCase2.close(); | ||||
|                 REQUIRE( testCase2.isComplete() ); | ||||
|             } | ||||
|         } | ||||
|         SECTION( "Start a new inner section" ) { | ||||
|             ITracker& s2 = SectionTracker::acquire( ctx, makeNAL( "S2" ) ); | ||||
|             REQUIRE( s2.isOpen() ); | ||||
|  | ||||
|             s2.close(); | ||||
|             REQUIRE( s2.isComplete() ); | ||||
|  | ||||
|             s1.close(); | ||||
|             REQUIRE( s1.isComplete() == false ); | ||||
|  | ||||
|             testCase.close(); | ||||
|             REQUIRE( testCase.isComplete() == false ); | ||||
|  | ||||
|             SECTION( "Re-enter for second generation" ) { | ||||
|                 ctx.startCycle(); | ||||
|                 ITracker& testCase2 = SectionTracker::acquire( ctx, makeNAL( "Testcase" ) ); | ||||
|                 REQUIRE( testCase2.isOpen() ); | ||||
|  | ||||
|                 ITracker& s1b = SectionTracker::acquire( ctx, makeNAL( "S1" ) ); | ||||
|                 REQUIRE( s1b.isOpen() ); | ||||
|  | ||||
|                 // generator - next value | ||||
|                 IndexTracker& g1b = IndexTracker::acquire( ctx, makeNAL( "G1" ), 2 ); | ||||
|                 REQUIRE( g1b.isOpen() ); | ||||
|                 REQUIRE( g1b.index() == 1 ); | ||||
|  | ||||
|                 // inner section again | ||||
|                 ITracker& s2b = SectionTracker::acquire( ctx, makeNAL( "S2" ) ); | ||||
|                 REQUIRE( s2b.isOpen() ); | ||||
|  | ||||
|                 s2b.close(); | ||||
|                 REQUIRE( s2b.isComplete() ); | ||||
|  | ||||
|                 s1b.close(); | ||||
|                 REQUIRE( g1b.isComplete() ); | ||||
|                 REQUIRE( s1b.isComplete() ); | ||||
|  | ||||
|                 testCase2.close(); | ||||
|                 REQUIRE( testCase2.isComplete() ); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         SECTION( "Fail an inner section" ) { | ||||
|             ITracker& s2 = SectionTracker::acquire( ctx, makeNAL( "S2" ) ); | ||||
|             REQUIRE( s2.isOpen() ); | ||||
|  | ||||
|             s2.fail(); | ||||
|             REQUIRE( s2.isComplete() ); | ||||
|             REQUIRE( s2.isSuccessfullyCompleted() == false ); | ||||
|  | ||||
|             s1.close(); | ||||
|             REQUIRE( s1.isComplete() == false ); | ||||
|  | ||||
|             testCase.close(); | ||||
|             REQUIRE( testCase.isComplete() == false ); | ||||
|  | ||||
|             SECTION( "Re-enter for second generation" ) { | ||||
|                 ctx.startCycle(); | ||||
|                 ITracker& testCase2 = SectionTracker::acquire( ctx, makeNAL( "Testcase" ) ); | ||||
|                 REQUIRE( testCase2.isOpen() ); | ||||
|  | ||||
|                 ITracker& s1b = SectionTracker::acquire( ctx, makeNAL( "S1" ) ); | ||||
|                 REQUIRE( s1b.isOpen() ); | ||||
|  | ||||
|                 // generator - still same value | ||||
|                 IndexTracker& g1b = IndexTracker::acquire( ctx, makeNAL( "G1" ), 2 ); | ||||
|                 REQUIRE( g1b.isOpen() ); | ||||
|                 REQUIRE( g1b.index() == 0 ); | ||||
|  | ||||
|                 // inner section again - this time won't open | ||||
|                 ITracker& s2b = SectionTracker::acquire( ctx, makeNAL( "S2" ) ); | ||||
|                 REQUIRE( s2b.isOpen() == false ); | ||||
|  | ||||
|                 s1b.close(); | ||||
|                 REQUIRE( g1b.isComplete() == false ); | ||||
|                 REQUIRE( s1b.isComplete() == false ); | ||||
|  | ||||
|                 testCase2.close(); | ||||
|                 REQUIRE( testCase2.isComplete() == false ); | ||||
|  | ||||
|                 // Another cycle - now should complete | ||||
|                 ctx.startCycle(); | ||||
|                 ITracker& testCase3 = SectionTracker::acquire( ctx, makeNAL( "Testcase" ) ); | ||||
|                 REQUIRE( testCase3.isOpen() ); | ||||
|  | ||||
|                 ITracker& s1c = SectionTracker::acquire( ctx, makeNAL( "S1" ) ); | ||||
|                 REQUIRE( s1c.isOpen() ); | ||||
|  | ||||
|                 // generator - now next value | ||||
|                 IndexTracker& g1c = IndexTracker::acquire( ctx, makeNAL( "G1" ), 2 ); | ||||
|                 REQUIRE( g1c.isOpen() ); | ||||
|                 REQUIRE( g1c.index() == 1 ); | ||||
|  | ||||
|                 // inner section - now should open again | ||||
|                 ITracker& s2c = SectionTracker::acquire( ctx, makeNAL( "S2" ) ); | ||||
|                 REQUIRE( s2c.isOpen() ); | ||||
|  | ||||
|                 s2c.close(); | ||||
|                 REQUIRE( s2c.isComplete() ); | ||||
|  | ||||
|                 s1c.close(); | ||||
|                 REQUIRE( g1c.isComplete() ); | ||||
|                 REQUIRE( s1c.isComplete() ); | ||||
|  | ||||
|                 testCase3.close(); | ||||
|                 REQUIRE( testCase3.isComplete() ); | ||||
|             } | ||||
|         } | ||||
|         // !TBD" | ||||
|         //   nested generator | ||||
|         //   two sections within a generator | ||||
|     } | ||||
| } | ||||
|  | ||||
| static bool previouslyRun = false; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský