mirror of https://github.com/catchorg/Catch2.git
53 lines
1.6 KiB
C++
53 lines
1.6 KiB
C++
![]() |
/*
|
||
|
* 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 <assert.h>
|
||
|
#include <memory>
|
||
|
|
||
|
namespace Catch {
|
||
|
|
||
|
// 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 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
|
||
|
sprintf(buffer, "%.3f", duration);
|
||
|
#endif
|
||
|
return std::string(buffer);
|
||
|
}
|
||
|
|
||
|
|
||
|
TestEventListenerBase::TestEventListenerBase(ReporterConfig const & _config)
|
||
|
:StreamingReporterBase(_config) {}
|
||
|
|
||
|
void TestEventListenerBase::assertionStarting(AssertionInfo const &) {}
|
||
|
|
||
|
bool TestEventListenerBase::assertionEnded(AssertionStats const &) {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
|
||
|
} // end namespace Catch
|