Fix compiling with C++17 + Clang 5 + libstdc++ v5

This basically tests the combination where the compiler supports most
of C++17 but the library does not.
This commit is contained in:
Dimitrij Mijoski
2021-03-26 02:04:45 +01:00
committed by Martin Hořeňovský
parent 023b5306b4
commit 86f86c4c23
4 changed files with 20 additions and 15 deletions

View File

@@ -62,12 +62,12 @@ TEST_CASE("tables", "[generators]") {
// Structured bindings make the table utility much nicer to use
TEST_CASE( "strlen2", "[approvals][generators]" ) {
auto [test_input, expected] = GENERATE( table<std::string, size_t>({
{"one", 3},
{"two", 3},
{"three", 5},
{"four", 4}
}));
using tuple_type = std::tuple<std::string, int>; // see above workaround
auto [test_input, expected] =
GENERATE( table<std::string, size_t>( { tuple_type{ "one", 3 },
tuple_type{ "two", 3 },
tuple_type{ "three", 5 },
tuple_type{ "four", 4 } } ) );
REQUIRE( test_input.size() == expected );
}
@@ -103,11 +103,9 @@ TEST_CASE( "strlen3", "[generators]" ) {
static auto eatCucumbers( int start, int eat ) -> int { return start-eat; }
SCENARIO("Eating cucumbers", "[generators][approvals]") {
auto [start, eat, left] = GENERATE( table<int,int,int> ({
{ 12, 5, 7 },
{ 20, 5, 15 }
}));
using tuple_type = std::tuple<int, int, int>;
auto [start, eat, left] = GENERATE( table<int, int, int>(
{ tuple_type{ 12, 5, 7 }, tuple_type{ 20, 5, 15 } } ) );
GIVEN( "there are " << start << " cucumbers" )
WHEN( "I eat " << eat << " cucumbers" )