Skip to content

Commit b1b70df

Browse files
committed
fixup! Report generator states for failed assertions
1 parent 464ab4d commit b1b70df

File tree

5 files changed

+13
-9
lines changed

5 files changed

+13
-9
lines changed

examples/311-Gen-CustomCapture.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ TEST_CASE("Generate random doubles across different ranges",
2929
// This will take r1 by reference and r2 by value.
3030
// Note that there are no advantages for doing so in this example,
3131
// it is done only for expository purposes.
32-
auto number = Catch::Generators::generate( "custom capture generator", "custom definition", CATCH_INTERNAL_LINEINFO,
32+
auto number = Catch::Generators::generate( "custom capture generator", "custom arguments description", CATCH_INTERNAL_LINEINFO,
3333
[&r1, r2]{
3434
using namespace Catch::Generators;
3535
return makeGenerators(take(50, random(std::get<0>(r1), std::get<1>(r2))));

src/catch2/generators/catch_generators.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ namespace Detail {
211211
// Note: The type after -> is weird, because VS2015 cannot parse
212212
// the expression used in the typedef inside, when it is in
213213
// return type. Yeah.
214-
auto generate( StringRef generatorName, StringRef definition, SourceLineInfo const& lineInfo, L const& generatorExpression ) -> decltype(std::declval<decltype(generatorExpression())>().get()) {
214+
auto generate( StringRef generatorName, StringRef argumentsDescription, SourceLineInfo const& lineInfo, L const& generatorExpression ) -> decltype(std::declval<decltype(generatorExpression())>().get()) {
215215
using UnderlyingType = typename decltype(generatorExpression())::type;
216216

217217
IGeneratorTracker& tracker = acquireGeneratorTracker( generatorName, lineInfo );
@@ -220,7 +220,7 @@ namespace Detail {
220220
}
221221

222222
auto const& generator = static_cast<IGenerator<UnderlyingType> const&>( *tracker.getGenerator() );
223-
getResultCapture().trackGeneratorState(GeneratorInfo(definition, lineInfo, generator.currentElementAsString()));
223+
getResultCapture().trackGeneratorState(GeneratorInfo(generatorName, argumentsDescription, lineInfo, generator.currentElementAsString()));
224224
return generator.get();
225225
}
226226

src/catch2/internal/catch_generator_info.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010

1111
namespace Catch {
1212

13-
GeneratorInfo::GeneratorInfo( StringRef _definition,
13+
GeneratorInfo::GeneratorInfo( StringRef _name,
14+
StringRef _arguments,
1415
SourceLineInfo const& _lineInfo,
1516
StringRef _currentElement ):
16-
definition( _definition ),
17+
name( _name ),
18+
arguments( _arguments ),
1719
lineInfo( _lineInfo ),
1820
currentElement( _currentElement ) {}
1921

src/catch2/internal/catch_generator_info.hpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,18 @@
1515
namespace Catch {
1616

1717
struct GeneratorInfo {
18-
GeneratorInfo( StringRef _definition,
18+
GeneratorInfo( StringRef _name,
19+
StringRef _arguments,
1920
SourceLineInfo const& _lineInfo,
2021
StringRef currentElement );
2122

22-
StringRef definition;
23+
StringRef name;
24+
StringRef arguments;
2325
SourceLineInfo lineInfo;
2426
StringRef currentElement;
2527

2628
bool operator==( GeneratorInfo const& other ) const {
27-
return definition == other.definition &&
29+
return name == other.name && arguments == other.arguments &&
2830
lineInfo == other.lineInfo &&
2931
currentElement == other.currentElement;
3032
}

src/catch2/reporters/catch_reporter_console.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ class ConsoleAssertionPrinter {
163163
for ( auto const& info : stats.generatorInfos ) {
164164
stream << TextFlow::Column( "line:" ).indent( 2 )
165165
<< info.lineInfo.line << ": "
166-
<< "GENERATE(" << info.definition << ")\n"
166+
<< "GENERATE(" << info.arguments << ")\n"
167167
<< TextFlow::Column( "value: " ).indent( 2 )
168168
<< colourImpl->guardColour( Colour::GeneratorValue )
169169
<< info.currentElement << '\n';

0 commit comments

Comments
 (0)