diff --git a/CMake/CatchMiscFunctions.cmake b/CMake/CatchMiscFunctions.cmake index de6b7ae3fd..aa8eb1d15a 100644 --- a/CMake/CatchMiscFunctions.cmake +++ b/CMake/CatchMiscFunctions.cmake @@ -77,6 +77,7 @@ function(add_warnings_to_targets targets) "-Wreorder" "-Wreturn-std-move" "-Wshadow" + "-Wsign-conversion" "-Wstrict-aliasing" "-Wsuggest-destructor-override" "-Wsuggest-override" diff --git a/examples/210-Evt-EventListeners.cpp b/examples/210-Evt-EventListeners.cpp index 56b050d411..2491cd192a 100644 --- a/examples/210-Evt-EventListeners.cpp +++ b/examples/210-Evt-EventListeners.cpp @@ -25,7 +25,7 @@ namespace { -std::string ws(int const level) { +std::string ws(std::size_t const level) { return std::string( 2 * level, ' ' ); } @@ -45,7 +45,7 @@ std::ostream& operator<<( std::ostream& os, std::vector const& v ) { // std::size_t line; // }; -void print( std::ostream& os, int const level, std::string const& title, Catch::SourceLineInfo const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::SourceLineInfo const& info ) { os << ws(level ) << title << ":\n" << ws(level+1) << "- file: " << info.file << "\n" << ws(level+1) << "- line: " << info.line << "\n"; @@ -59,14 +59,14 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // unsigned int sequence; //}; -void print( std::ostream& os, int const level, Catch::MessageInfo const& info ) { +void print( std::ostream& os, std::size_t const level, Catch::MessageInfo const& info ) { os << ws(level+1) << "- macroName: '" << info.macroName << "'\n" << ws(level+1) << "- message '" << info.message << "'\n"; print( os,level+1 , "- lineInfo", info.lineInfo ); os << ws(level+1) << "- sequence " << info.sequence << "\n"; } -void print( std::ostream& os, int const level, std::string const& title, std::vector const& v ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, std::vector const& v ) { os << ws(level ) << title << ":\n"; for ( const auto& x : v ) { @@ -81,7 +81,7 @@ void print( std::ostream& os, int const level, std::string const& title, std::ve // std::string name; // }; -void print( std::ostream& os, int const level, std::string const& title, Catch::TestRunInfo const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::TestRunInfo const& info ) { os << ws(level ) << title << ":\n" << ws(level+1) << "- name: " << info.name << "\n"; } @@ -96,7 +96,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // std::size_t failedButOk = 0; // }; -void print( std::ostream& os, int const level, std::string const& title, Catch::Counts const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::Counts const& info ) { os << ws(level ) << title << ":\n" << ws(level+1) << "- total(): " << info.total() << "\n" << ws(level+1) << "- allPassed(): " << info.allPassed() << "\n" @@ -111,7 +111,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // Counts testCases; // }; -void print( std::ostream& os, int const level, std::string const& title, Catch::Totals const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::Totals const& info ) { os << ws(level) << title << ":\n"; print( os, level+1, "- assertions", info.assertions ); print( os, level+1, "- testCases" , info.testCases ); @@ -123,7 +123,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // bool aborting; // }; -void print( std::ostream& os, int const level, std::string const& title, Catch::TestRunStats const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::TestRunStats const& info ) { os << ws(level) << title << ":\n"; print( os, level+1 , "- runInfo", info.runInfo ); print( os, level+1 , "- totals" , info.totals ); @@ -161,7 +161,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // TestCaseProperties properties = TestCaseProperties::None; // }; -void print( std::ostream& os, int const level, std::string const& title, Catch::TestCaseInfo const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::TestCaseInfo const& info ) { os << ws(level ) << title << ":\n" << ws(level+1) << "- isHidden(): " << info.isHidden() << "\n" << ws(level+1) << "- throws(): " << info.throws() << "\n" @@ -183,7 +183,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // bool aborting; // }; -void print( std::ostream& os, int const level, std::string const& title, Catch::TestCaseStats const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::TestCaseStats const& info ) { os << ws(level ) << title << ":\n"; print( os, level+1 , "- testInfo", *info.testInfo ); print( os, level+1 , "- totals" , info.totals ); @@ -198,7 +198,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // SourceLineInfo lineInfo; // }; -void print( std::ostream& os, int const level, std::string const& title, Catch::SectionInfo const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::SectionInfo const& info ) { os << ws(level ) << title << ":\n" << ws(level+1) << "- name: " << info.name << "\n"; print( os, level+1 , "- lineInfo", info.lineInfo ); @@ -211,7 +211,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // bool missingAssertions; // }; -void print( std::ostream& os, int const level, std::string const& title, Catch::SectionStats const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::SectionStats const& info ) { os << ws(level ) << title << ":\n"; print( os, level+1 , "- sectionInfo", info.sectionInfo ); print( os, level+1 , "- assertions" , info.assertions ); @@ -227,7 +227,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // ResultDisposition::Flags resultDisposition; // }; -void print( std::ostream& os, int const level, std::string const& title, Catch::AssertionInfo const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::AssertionInfo const& info ) { os << ws(level ) << title << ":\n" << ws(level+1) << "- macroName: '" << info.macroName << "'\n"; print( os, level+1 , "- lineInfo" , info.lineInfo ); @@ -245,7 +245,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // ResultWas::OfType resultType; //}; -void print( std::ostream& os, int const level, std::string const& title, Catch::AssertionResultData const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::AssertionResultData const& info ) { os << ws(level ) << title << ":\n" << ws(level+1) << "- reconstructExpression(): '" << info.reconstructExpression() << "'\n" << ws(level+1) << "- message: '" << info.message << "'\n" @@ -271,7 +271,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // AssertionResultData m_resultData; //}; -void print( std::ostream& os, int const level, std::string const& title, Catch::AssertionResult const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::AssertionResult const& info ) { os << ws(level ) << title << ":\n" << ws(level+1) << "- isOk(): " << info.isOk() << "\n" << ws(level+1) << "- succeeded(): " << info.succeeded() << "\n" @@ -296,7 +296,7 @@ void print( std::ostream& os, int const level, std::string const& title, Catch:: // Totals totals; // }; -void print( std::ostream& os, int const level, std::string const& title, Catch::AssertionStats const& info ) { +void print( std::ostream& os, std::size_t const level, std::string const& title, Catch::AssertionStats const& info ) { os << ws(level ) << title << ":\n"; print( os, level+1 , "- assertionResult", info.assertionResult ); print( os, level+1 , "- infoMessages", info.infoMessages ); diff --git a/src/catch2/catch_timer.cpp b/src/catch2/catch_timer.cpp index d75ea70c8b..38b757039f 100644 --- a/src/catch2/catch_timer.cpp +++ b/src/catch2/catch_timer.cpp @@ -13,7 +13,8 @@ namespace Catch { namespace { static auto getCurrentNanosecondsSinceEpoch() -> uint64_t { - return std::chrono::duration_cast(std::chrono::high_resolution_clock::now().time_since_epoch()).count(); + return static_cast(std::chrono::duration_cast( + std::chrono::high_resolution_clock::now().time_since_epoch()).count()); } } // end unnamed namespace diff --git a/src/catch2/internal/catch_test_case_info_hasher.cpp b/src/catch2/internal/catch_test_case_info_hasher.cpp index e1731ebe8b..ed5758e75c 100644 --- a/src/catch2/internal/catch_test_case_info_hasher.cpp +++ b/src/catch2/internal/catch_test_case_info_hasher.cpp @@ -17,16 +17,16 @@ namespace Catch { const hash_t prime = 1099511628211u; hash_t hash = 14695981039346656037u; for ( const char c : t.name ) { - hash ^= c; + hash ^= static_cast(c); hash *= prime; } for ( const char c : t.className ) { - hash ^= c; + hash ^= static_cast(c); hash *= prime; } for ( const Tag& tag : t.tags ) { for ( const char c : tag.original ) { - hash ^= c; + hash ^= static_cast(c); hash *= prime; } } diff --git a/src/catch2/reporters/catch_reporter_console.cpp b/src/catch2/reporters/catch_reporter_console.cpp index bbde5ec974..b5f3045d34 100644 --- a/src/catch2/reporters/catch_reporter_console.cpp +++ b/src/catch2/reporters/catch_reporter_console.cpp @@ -297,7 +297,7 @@ class TablePrinter { std::ostream& m_os; std::vector m_columnInfos; ReusableStringStream m_oss; - int m_currentColumn = -1; + std::size_t m_currentColumn = 0; bool m_isOpen = false; public: @@ -345,11 +345,10 @@ class TablePrinter { const auto strSize = colStr.size(); tp.m_oss.str(""); tp.open(); - if (tp.m_currentColumn == static_cast(tp.m_columnInfos.size() - 1)) { - tp.m_currentColumn = -1; + if (tp.m_currentColumn == tp.m_columnInfos.size()) { + tp.m_currentColumn = 0; tp.m_os << '\n'; } - tp.m_currentColumn++; auto colInfo = tp.m_columnInfos[tp.m_currentColumn]; auto padding = (strSize + 1 < colInfo.width) @@ -365,7 +364,7 @@ class TablePrinter { friend TablePrinter& operator<< (TablePrinter& tp, RowBreak) { if (tp.m_currentColumn > 0) { tp.m_os << '\n'; - tp.m_currentColumn = -1; + tp.m_currentColumn = 0; } return tp; } diff --git a/src/catch2/reporters/catch_reporter_multi.hpp b/src/catch2/reporters/catch_reporter_multi.hpp index c43f511f8d..635cf5f9a7 100644 --- a/src/catch2/reporters/catch_reporter_multi.hpp +++ b/src/catch2/reporters/catch_reporter_multi.hpp @@ -24,7 +24,7 @@ namespace Catch { // Keep track of how many listeners we have already inserted, // so that we can insert them into the main vector at the right place - size_t m_insertedListeners = 0; + std::vector::difference_type m_insertedListeners = 0; void updatePreferences(IEventListener const& reporterish); diff --git a/tests/SelfTest/Baselines/compact.sw.approved.txt b/tests/SelfTest/Baselines/compact.sw.approved.txt index 455b4945b2..04e30e656f 100644 --- a/tests/SelfTest/Baselines/compact.sw.approved.txt +++ b/tests/SelfTest/Baselines/compact.sw.approved.txt @@ -316,7 +316,7 @@ MatchersRanges.tests.cpp:: passed: c, !Contains(1) for: { 4, 5, 6 } MatchersRanges.tests.cpp:: passed: a, Contains(0, close_enough) for: { 1, 2, 3 } contains element 0 MatchersRanges.tests.cpp:: passed: b, Contains(0, close_enough) for: { 0, 1, 2 } contains element 0 MatchersRanges.tests.cpp:: passed: c, !Contains(0, close_enough) for: { 4, 5, 6 } not contains element 0 -MatchersRanges.tests.cpp:: passed: a, Contains(4, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) for: { "abc", "abcd", "abcde" } contains element 4 +MatchersRanges.tests.cpp:: passed: a, Contains(4u, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) for: { "abc", "abcd", "abcde" } contains element 4 MatchersRanges.tests.cpp:: passed: in, Contains(1) for: { 1, 2, 3, 4, 5 } contains element 1 MatchersRanges.tests.cpp:: passed: in, !Contains(8) for: { 1, 2, 3, 4, 5 } not contains element 8 MatchersRanges.tests.cpp:: passed: in, Contains(MoveOnlyTestElement{ 2 }) for: { 1, 2, 3 } contains element 2 @@ -704,21 +704,21 @@ Generators.tests.cpp:: passed: chunk(2, value(1)), Catch::Generator Generators.tests.cpp:: passed: j < i for: -3 < 1 Generators.tests.cpp:: passed: j < i for: -2 < 1 Generators.tests.cpp:: passed: j < i for: -1 < 1 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 4 > 1 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 4 > 2 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 4 > 3 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 4 > 1 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 4 > 2 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 4 > 3 Generators.tests.cpp:: passed: j < i for: -3 < 2 Generators.tests.cpp:: passed: j < i for: -2 < 2 Generators.tests.cpp:: passed: j < i for: -1 < 2 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 8 > 1 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 8 > 2 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 8 > 3 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 8 > 1 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 8 > 2 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 8 > 3 Generators.tests.cpp:: passed: j < i for: -3 < 3 Generators.tests.cpp:: passed: j < i for: -2 < 3 Generators.tests.cpp:: passed: j < i for: -1 < 3 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 12 > 1 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 12 > 2 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 12 > 3 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 12 > 1 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 12 > 2 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 12 > 3 GeneratorsImpl.tests.cpp:: passed: gen.get() == 123 for: 123 == 123 GeneratorsImpl.tests.cpp:: passed: !(gen.next()) for: !false GeneratorsImpl.tests.cpp:: passed: gen.get() == 1 for: 1 == 1 diff --git a/tests/SelfTest/Baselines/compact.sw.multi.approved.txt b/tests/SelfTest/Baselines/compact.sw.multi.approved.txt index 42eb635c61..913a3b4ec2 100644 --- a/tests/SelfTest/Baselines/compact.sw.multi.approved.txt +++ b/tests/SelfTest/Baselines/compact.sw.multi.approved.txt @@ -314,7 +314,7 @@ MatchersRanges.tests.cpp:: passed: c, !Contains(1) for: { 4, 5, 6 } MatchersRanges.tests.cpp:: passed: a, Contains(0, close_enough) for: { 1, 2, 3 } contains element 0 MatchersRanges.tests.cpp:: passed: b, Contains(0, close_enough) for: { 0, 1, 2 } contains element 0 MatchersRanges.tests.cpp:: passed: c, !Contains(0, close_enough) for: { 4, 5, 6 } not contains element 0 -MatchersRanges.tests.cpp:: passed: a, Contains(4, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) for: { "abc", "abcd", "abcde" } contains element 4 +MatchersRanges.tests.cpp:: passed: a, Contains(4u, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) for: { "abc", "abcd", "abcde" } contains element 4 MatchersRanges.tests.cpp:: passed: in, Contains(1) for: { 1, 2, 3, 4, 5 } contains element 1 MatchersRanges.tests.cpp:: passed: in, !Contains(8) for: { 1, 2, 3, 4, 5 } not contains element 8 MatchersRanges.tests.cpp:: passed: in, Contains(MoveOnlyTestElement{ 2 }) for: { 1, 2, 3 } contains element 2 @@ -702,21 +702,21 @@ Generators.tests.cpp:: passed: chunk(2, value(1)), Catch::Generator Generators.tests.cpp:: passed: j < i for: -3 < 1 Generators.tests.cpp:: passed: j < i for: -2 < 1 Generators.tests.cpp:: passed: j < i for: -1 < 1 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 4 > 1 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 4 > 2 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 4 > 3 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 4 > 1 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 4 > 2 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 4 > 3 Generators.tests.cpp:: passed: j < i for: -3 < 2 Generators.tests.cpp:: passed: j < i for: -2 < 2 Generators.tests.cpp:: passed: j < i for: -1 < 2 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 8 > 1 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 8 > 2 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 8 > 3 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 8 > 1 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 8 > 2 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 8 > 3 Generators.tests.cpp:: passed: j < i for: -3 < 3 Generators.tests.cpp:: passed: j < i for: -2 < 3 Generators.tests.cpp:: passed: j < i for: -1 < 3 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 12 > 1 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 12 > 2 -Generators.tests.cpp:: passed: 4u * i > str.size() for: 12 > 3 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 12 > 1 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 12 > 2 +Generators.tests.cpp:: passed: 4u * static_cast(i) > str.size() for: 12 > 3 GeneratorsImpl.tests.cpp:: passed: gen.get() == 123 for: 123 == 123 GeneratorsImpl.tests.cpp:: passed: !(gen.next()) for: !false GeneratorsImpl.tests.cpp:: passed: gen.get() == 1 for: 1 == 1 diff --git a/tests/SelfTest/Baselines/console.sw.approved.txt b/tests/SelfTest/Baselines/console.sw.approved.txt index 036cd36848..e2badc3cfa 100644 --- a/tests/SelfTest/Baselines/console.sw.approved.txt +++ b/tests/SelfTest/Baselines/console.sw.approved.txt @@ -2605,7 +2605,7 @@ MatchersRanges.tests.cpp: ............................................................................... MatchersRanges.tests.cpp:: PASSED: - REQUIRE_THAT( a, Contains(4, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) ) + REQUIRE_THAT( a, Contains(4u, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) ) with expansion: { "abc", "abcd", "abcde" } contains element 4 @@ -5358,7 +5358,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 4 > 1 @@ -5370,7 +5370,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 4 > 2 @@ -5382,7 +5382,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 4 > 3 @@ -5430,7 +5430,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 8 > 1 @@ -5442,7 +5442,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 8 > 2 @@ -5454,7 +5454,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 8 > 3 @@ -5502,7 +5502,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 12 > 1 @@ -5514,7 +5514,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 12 > 2 @@ -5526,7 +5526,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 12 > 3 diff --git a/tests/SelfTest/Baselines/console.sw.multi.approved.txt b/tests/SelfTest/Baselines/console.sw.multi.approved.txt index 33ee3da5a7..b97ced94bf 100644 --- a/tests/SelfTest/Baselines/console.sw.multi.approved.txt +++ b/tests/SelfTest/Baselines/console.sw.multi.approved.txt @@ -2603,7 +2603,7 @@ MatchersRanges.tests.cpp: ............................................................................... MatchersRanges.tests.cpp:: PASSED: - REQUIRE_THAT( a, Contains(4, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) ) + REQUIRE_THAT( a, Contains(4u, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) ) with expansion: { "abc", "abcd", "abcde" } contains element 4 @@ -5356,7 +5356,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 4 > 1 @@ -5368,7 +5368,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 4 > 2 @@ -5380,7 +5380,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 4 > 3 @@ -5428,7 +5428,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 8 > 1 @@ -5440,7 +5440,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 8 > 2 @@ -5452,7 +5452,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 8 > 3 @@ -5500,7 +5500,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 12 > 1 @@ -5512,7 +5512,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 12 > 2 @@ -5524,7 +5524,7 @@ Generators.tests.cpp: ............................................................................... Generators.tests.cpp:: PASSED: - REQUIRE( 4u * i > str.size() ) + REQUIRE( 4u * static_cast(i) > str.size() ) with expansion: 12 > 3 diff --git a/tests/SelfTest/Baselines/tap.sw.approved.txt b/tests/SelfTest/Baselines/tap.sw.approved.txt index aeefa5ae39..507201d60e 100644 --- a/tests/SelfTest/Baselines/tap.sw.approved.txt +++ b/tests/SelfTest/Baselines/tap.sw.approved.txt @@ -629,7 +629,7 @@ ok {test-number} - b, Contains(0, close_enough) for: { 0, 1, 2 } contains elemen # Basic use of the Contains range matcher ok {test-number} - c, !Contains(0, close_enough) for: { 4, 5, 6 } not contains element 0 # Basic use of the Contains range matcher -ok {test-number} - a, Contains(4, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) for: { "abc", "abcd", "abcde" } contains element 4 +ok {test-number} - a, Contains(4u, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) for: { "abc", "abcd", "abcde" } contains element 4 # Basic use of the Contains range matcher ok {test-number} - in, Contains(1) for: { 1, 2, 3, 4, 5 } contains element 1 # Basic use of the Contains range matcher @@ -1341,11 +1341,11 @@ ok {test-number} - j < i for: -2 < 1 # Generators -- simple ok {test-number} - j < i for: -1 < 1 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 4 > 1 +ok {test-number} - 4u * static_cast(i) > str.size() for: 4 > 1 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 4 > 2 +ok {test-number} - 4u * static_cast(i) > str.size() for: 4 > 2 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 4 > 3 +ok {test-number} - 4u * static_cast(i) > str.size() for: 4 > 3 # Generators -- simple ok {test-number} - j < i for: -3 < 2 # Generators -- simple @@ -1353,11 +1353,11 @@ ok {test-number} - j < i for: -2 < 2 # Generators -- simple ok {test-number} - j < i for: -1 < 2 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 8 > 1 +ok {test-number} - 4u * static_cast(i) > str.size() for: 8 > 1 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 8 > 2 +ok {test-number} - 4u * static_cast(i) > str.size() for: 8 > 2 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 8 > 3 +ok {test-number} - 4u * static_cast(i) > str.size() for: 8 > 3 # Generators -- simple ok {test-number} - j < i for: -3 < 3 # Generators -- simple @@ -1365,11 +1365,11 @@ ok {test-number} - j < i for: -2 < 3 # Generators -- simple ok {test-number} - j < i for: -1 < 3 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 12 > 1 +ok {test-number} - 4u * static_cast(i) > str.size() for: 12 > 1 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 12 > 2 +ok {test-number} - 4u * static_cast(i) > str.size() for: 12 > 2 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 12 > 3 +ok {test-number} - 4u * static_cast(i) > str.size() for: 12 > 3 # Generators internals ok {test-number} - gen.get() == 123 for: 123 == 123 # Generators internals diff --git a/tests/SelfTest/Baselines/tap.sw.multi.approved.txt b/tests/SelfTest/Baselines/tap.sw.multi.approved.txt index 28763e3138..4deedadc2e 100644 --- a/tests/SelfTest/Baselines/tap.sw.multi.approved.txt +++ b/tests/SelfTest/Baselines/tap.sw.multi.approved.txt @@ -627,7 +627,7 @@ ok {test-number} - b, Contains(0, close_enough) for: { 0, 1, 2 } contains elemen # Basic use of the Contains range matcher ok {test-number} - c, !Contains(0, close_enough) for: { 4, 5, 6 } not contains element 0 # Basic use of the Contains range matcher -ok {test-number} - a, Contains(4, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) for: { "abc", "abcd", "abcde" } contains element 4 +ok {test-number} - a, Contains(4u, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) for: { "abc", "abcd", "abcde" } contains element 4 # Basic use of the Contains range matcher ok {test-number} - in, Contains(1) for: { 1, 2, 3, 4, 5 } contains element 1 # Basic use of the Contains range matcher @@ -1339,11 +1339,11 @@ ok {test-number} - j < i for: -2 < 1 # Generators -- simple ok {test-number} - j < i for: -1 < 1 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 4 > 1 +ok {test-number} - 4u * static_cast(i) > str.size() for: 4 > 1 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 4 > 2 +ok {test-number} - 4u * static_cast(i) > str.size() for: 4 > 2 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 4 > 3 +ok {test-number} - 4u * static_cast(i) > str.size() for: 4 > 3 # Generators -- simple ok {test-number} - j < i for: -3 < 2 # Generators -- simple @@ -1351,11 +1351,11 @@ ok {test-number} - j < i for: -2 < 2 # Generators -- simple ok {test-number} - j < i for: -1 < 2 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 8 > 1 +ok {test-number} - 4u * static_cast(i) > str.size() for: 8 > 1 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 8 > 2 +ok {test-number} - 4u * static_cast(i) > str.size() for: 8 > 2 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 8 > 3 +ok {test-number} - 4u * static_cast(i) > str.size() for: 8 > 3 # Generators -- simple ok {test-number} - j < i for: -3 < 3 # Generators -- simple @@ -1363,11 +1363,11 @@ ok {test-number} - j < i for: -2 < 3 # Generators -- simple ok {test-number} - j < i for: -1 < 3 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 12 > 1 +ok {test-number} - 4u * static_cast(i) > str.size() for: 12 > 1 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 12 > 2 +ok {test-number} - 4u * static_cast(i) > str.size() for: 12 > 2 # Generators -- simple -ok {test-number} - 4u * i > str.size() for: 12 > 3 +ok {test-number} - 4u * static_cast(i) > str.size() for: 12 > 3 # Generators internals ok {test-number} - gen.get() == 123 for: 123 == 123 # Generators internals diff --git a/tests/SelfTest/Baselines/xml.sw.approved.txt b/tests/SelfTest/Baselines/xml.sw.approved.txt index 4d70789dcd..a443a6b964 100644 --- a/tests/SelfTest/Baselines/xml.sw.approved.txt +++ b/tests/SelfTest/Baselines/xml.sw.approved.txt @@ -2750,7 +2750,7 @@ Nor would this
- a, Contains(4, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) + a, Contains(4u, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) { "abc", "abcd", "abcde" } contains element 4 @@ -6086,7 +6086,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 4 > 1 @@ -6097,7 +6097,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 4 > 2 @@ -6108,7 +6108,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 4 > 3 @@ -6152,7 +6152,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 8 > 1 @@ -6163,7 +6163,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 8 > 2 @@ -6174,7 +6174,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 8 > 3 @@ -6218,7 +6218,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 12 > 1 @@ -6229,7 +6229,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 12 > 2 @@ -6240,7 +6240,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 12 > 3 diff --git a/tests/SelfTest/Baselines/xml.sw.multi.approved.txt b/tests/SelfTest/Baselines/xml.sw.multi.approved.txt index 0e39016503..f640238fef 100644 --- a/tests/SelfTest/Baselines/xml.sw.multi.approved.txt +++ b/tests/SelfTest/Baselines/xml.sw.multi.approved.txt @@ -2750,7 +2750,7 @@ Nor would this
- a, Contains(4, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) + a, Contains(4u, [](auto&& lhs, size_t sz) { return lhs.size() == sz; }) { "abc", "abcd", "abcde" } contains element 4 @@ -6086,7 +6086,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 4 > 1 @@ -6097,7 +6097,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 4 > 2 @@ -6108,7 +6108,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 4 > 3 @@ -6152,7 +6152,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 8 > 1 @@ -6163,7 +6163,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 8 > 2 @@ -6174,7 +6174,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 8 > 3 @@ -6218,7 +6218,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 12 > 1 @@ -6229,7 +6229,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 12 > 2 @@ -6240,7 +6240,7 @@ C
- 4u * i > str.size() + 4u * static_cast<std::size_t>(i) > str.size() 12 > 3 diff --git a/tests/SelfTest/IntrospectiveTests/Sharding.tests.cpp b/tests/SelfTest/IntrospectiveTests/Sharding.tests.cpp index 8e6009dd58..70b998e57b 100644 --- a/tests/SelfTest/IntrospectiveTests/Sharding.tests.cpp +++ b/tests/SelfTest/IntrospectiveTests/Sharding.tests.cpp @@ -26,8 +26,8 @@ TEST_CASE("Sharding Function", "[approvals]") { {7, {1, 1, 1, 1, 1, 1, 1}}, }; - auto shardCount = GENERATE(range(1, 7)); - auto shardIndex = GENERATE_COPY(filter([=](int i) { return i < shardCount; }, range(0, 6))); + auto shardCount = GENERATE(range(1ul, 7ul)); + auto shardIndex = GENERATE_COPY(filter([=](std::size_t i) { return i < shardCount; }, range(0ul, 6ul))); std::vector result = Catch::createShard(testContainer, shardCount, shardIndex); @@ -35,7 +35,7 @@ TEST_CASE("Sharding Function", "[approvals]") { REQUIRE(result.size() == sizes[shardIndex]); std::size_t startIndex = 0; - for(int i = 0; i < shardIndex; i++) { + for(std::size_t i = 0; i < shardIndex; i++) { startIndex += sizes[i]; } diff --git a/tests/SelfTest/UsageTests/Benchmark.tests.cpp b/tests/SelfTest/UsageTests/Benchmark.tests.cpp index 557b2131c6..a72df52632 100644 --- a/tests/SelfTest/UsageTests/Benchmark.tests.cpp +++ b/tests/SelfTest/UsageTests/Benchmark.tests.cpp @@ -62,8 +62,8 @@ TEST_CASE("Benchmark containers", "[!benchmark]") { // test optimizer control BENCHMARK("Add up a vector's content") { uint64_t add = 0; - for (int i = 0; i < size; ++i) - add += v[i]; + for (std::size_t i = 0; i < size; ++i) + add += static_cast(v[i]); return add; }; @@ -86,7 +86,7 @@ TEST_CASE("Benchmark containers", "[!benchmark]") { v = std::vector(); v.resize(size); for (int i = 0; i < size; ++i) - v[i] = i; + v[static_cast(i)] = i; }; REQUIRE(v.size() == size); @@ -116,7 +116,7 @@ TEST_CASE("Benchmark containers", "[!benchmark]") { BENCHMARK("Fill vector indexed", benchmarkIndex) { v = std::vector(); v.resize(size); - for (int i = 0; i < size; ++i) + for (std::size_t i = 0; i < size; ++i) v[i] = benchmarkIndex; runs = benchmarkIndex; }; @@ -132,7 +132,7 @@ TEST_CASE("Benchmark containers", "[!benchmark]") { BENCHMARK("Fill vector generated") { v = std::vector(); v.resize(size); - for (int i = 0; i < size; ++i) + for (std::size_t i = 0; i < size; ++i) v[i] = generated; }; for (size_t i = 0; i < v.size(); ++i) { @@ -142,15 +142,15 @@ TEST_CASE("Benchmark containers", "[!benchmark]") { SECTION("construct and destroy example") { BENCHMARK_ADVANCED("construct")(Catch::Benchmark::Chronometer meter) { - std::vector> storage(meter.runs()); - meter.measure([&](int i) { storage[i].construct("thing"); }); + std::vector> storage(static_cast(meter.runs())); + meter.measure([&](int i) { storage[static_cast(i)].construct("thing"); }); }; BENCHMARK_ADVANCED("destroy")(Catch::Benchmark::Chronometer meter) { - std::vector> storage(meter.runs()); + std::vector> storage(static_cast(meter.runs())); for(auto&& o : storage) o.construct("thing"); - meter.measure([&](int i) { storage[i].destruct(); }); + meter.measure([&](int i) { storage[static_cast(i)].destruct(); }); }; } } @@ -166,8 +166,8 @@ TEST_CASE("Skip benchmark macros", "[!benchmark]") { std::size_t counter{0}; BENCHMARK_ADVANCED("construct vector")(Catch::Benchmark::Chronometer meter) { - std::vector> storage(meter.runs()); - meter.measure([&](int i) { storage[i].construct("thing"); counter++; }); + std::vector> storage(static_cast(meter.runs())); + meter.measure([&](int i) { storage[static_cast(i)].construct("thing"); counter++; }); }; REQUIRE(counter == 0); } diff --git a/tests/SelfTest/UsageTests/Generators.tests.cpp b/tests/SelfTest/UsageTests/Generators.tests.cpp index 8e2c387a30..b9b6551509 100644 --- a/tests/SelfTest/UsageTests/Generators.tests.cpp +++ b/tests/SelfTest/UsageTests/Generators.tests.cpp @@ -26,7 +26,7 @@ TEST_CASE("Generators -- simple", "[generators]") { SECTION("two") { // You can also explicitly set type for generators via Catch::Generators::as auto str = GENERATE(as{}, "a", "bb", "ccc"); - REQUIRE(4u * i > str.size()); + REQUIRE(4u * static_cast(i) > str.size()); } } diff --git a/tests/SelfTest/UsageTests/MatchersRanges.tests.cpp b/tests/SelfTest/UsageTests/MatchersRanges.tests.cpp index cc8c54f8bf..b35042999d 100644 --- a/tests/SelfTest/UsageTests/MatchersRanges.tests.cpp +++ b/tests/SelfTest/UsageTests/MatchersRanges.tests.cpp @@ -75,7 +75,7 @@ TEST_CASE("Basic use of the Contains range matcher", "[matchers][templated][cont SECTION("Different element type, custom comparisons") { std::array a{ { "abc", "abcd" , "abcde" } }; - REQUIRE_THAT(a, Contains(4, [](auto&& lhs, size_t sz) { + REQUIRE_THAT(a, Contains(4u, [](auto&& lhs, size_t sz) { return lhs.size() == sz; })); } @@ -914,4 +914,4 @@ TEST_CASE( "Type conversions of RangeEquals and similar", UnorderedRangeEquals( array_a_plus_1, close_enough ) ); } } -} \ No newline at end of file +}