diff options
Diffstat (limited to 'libs/ode-0.16.1/tests/UnitTest++/src/TimeConstraint.cpp')
-rw-r--r-- | libs/ode-0.16.1/tests/UnitTest++/src/TimeConstraint.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/libs/ode-0.16.1/tests/UnitTest++/src/TimeConstraint.cpp b/libs/ode-0.16.1/tests/UnitTest++/src/TimeConstraint.cpp new file mode 100644 index 0000000..451c2b3 --- /dev/null +++ b/libs/ode-0.16.1/tests/UnitTest++/src/TimeConstraint.cpp @@ -0,0 +1,28 @@ +#include "TimeConstraint.h" +#include "TestResults.h" +#include "MemoryOutStream.h" + +namespace UnitTest { + + +TimeConstraint::TimeConstraint(int ms, TestResults& result, TestDetails const& details) + : m_result(result) + , m_details(details) + , m_maxMs(ms) +{ + m_timer.Start(); +} + +TimeConstraint::~TimeConstraint() +{ + int const totalTimeInMs = m_timer.GetTimeInMs(); + if (totalTimeInMs > m_maxMs) + { + MemoryOutStream stream; + stream << "Time constraint failed. Expected to run test under " << m_maxMs << + "ms but took " << totalTimeInMs << "ms."; + m_result.OnTestFailure(m_details, stream.GetText()); + } +} + +} |