123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /*
- * Created by Phil on 27/11/2013.
- * Copyright 2013 Two Blue Cubes Ltd. All rights reserved.
- *
- * Distributed under the Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- */
- #include "../internal/catch_interfaces_reporter.h"
- #include "../internal/catch_errno_guard.h"
- #include "catch_reporter_bases.hpp"
- #include <cstring>
- #include <cfloat>
- #include <cstdio>
- #include <cassert>
- #include <memory>
- namespace Catch {
- void prepareExpandedExpression(AssertionResult& result) {
- result.getExpandedExpression();
- }
- // Because formatting using c++ streams is stateful, drop down to C is required
- // Alternatively we could use stringstream, but its performance is... not good.
- std::string getFormattedDuration( double duration ) {
- // Max exponent + 1 is required to represent the whole part
- // + 1 for decimal point
- // + 3 for the 3 decimal places
- // + 1 for null terminator
- const std::size_t maxDoubleSize = DBL_MAX_10_EXP + 1 + 1 + 3 + 1;
- char buffer[maxDoubleSize];
- // Save previous errno, to prevent sprintf from overwriting it
- ErrnoGuard guard;
- #ifdef _MSC_VER
- sprintf_s(buffer, "%.3f", duration);
- #else
- std::sprintf(buffer, "%.3f", duration);
- #endif
- return std::string(buffer);
- }
- bool shouldShowDuration( IConfig const& config, double duration ) {
- 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 ) {
- ReusableStringStream oss;
- bool first = true;
- for (auto&& filter : container)
- {
- if (!first)
- oss << ' ';
- else
- first = false;
- oss << filter;
- }
- return oss.str();
- }
- TestEventListenerBase::TestEventListenerBase(ReporterConfig const & _config)
- :StreamingReporterBase(_config) {}
- std::set<Verbosity> TestEventListenerBase::getSupportedVerbosities() {
- return { Verbosity::Quiet, Verbosity::Normal, Verbosity::High };
- }
- void TestEventListenerBase::assertionStarting(AssertionInfo const &) {}
- bool TestEventListenerBase::assertionEnded(AssertionStats const &) {
- return false;
- }
- } // end namespace Catch
|