--min-duration is overriden by -d no

This commit is contained in:
Martin Hořeňovský 2020-07-06 20:33:08 +02:00
parent e6d947f6d4
commit 13917c44b4
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A
3 changed files with 19 additions and 5 deletions

View File

@ -44,10 +44,14 @@ namespace Catch {
}
bool shouldShowDuration( IConfig const& config, double duration ) {
if( config.showDurations() == ShowDurations::Always )
return true;
double min = config.minDuration();
return min >= 0 && duration >= min;
if ( config.showDurations() == ShowDurations::Always ) {
return true;
}
if ( config.showDurations() == ShowDurations::Never ) {
return false;
}
const double min = config.minDuration();
return min >= 0 && duration >= min;
}
std::string serializeFilters( std::vector<std::string> const& container ) {

View File

@ -24,7 +24,8 @@ namespace Catch {
// Returns double formatted as %.3f (format expected on output)
std::string getFormattedDuration( double duration );
bool shouldShowDuration( IConfig const &, double duration );
//! Should the reporter show
bool shouldShowDuration( IConfig const& config, double duration );
std::string serializeFilters( std::vector<std::string> const& container );

View File

@ -30,6 +30,15 @@ set_tests_properties(
PASS_REGULAR_EXPRESSION "s: sleep_for_100ms"
)
# -d no overrides the threshold, so we should never see any tests even
# with ridiculously low min duration threshold
add_test(NAME MinDuration::DurationOverrideNo COMMAND $<TARGET_FILE:SelfTest> --min-duration 0.0001 -d no [min_duration_test])
set_tests_properties(
MinDuration::DurationOverrideNo
PROPERTIES
FAIL_REGULAR_EXPRESSION "sleep_for_200ms"
)
# ------------ end of duration reporting tests