Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/testing/UnitTest++/src/TimeConstraint.h')
-rw-r--r--src/testing/UnitTest++/src/TimeConstraint.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/testing/UnitTest++/src/TimeConstraint.h b/src/testing/UnitTest++/src/TimeConstraint.h
new file mode 100644
index 0000000..8451c66
--- /dev/null
+++ b/src/testing/UnitTest++/src/TimeConstraint.h
@@ -0,0 +1,34 @@
+#ifndef UNITTEST_TIMECONSTRAINT_H
+#define UNITTEST_TIMECONSTRAINT_H
+
+#include "TimeHelpers.h"
+
+namespace UnitTest {
+
+class TestResults;
+class TestDetails;
+
+class TimeConstraint
+{
+public:
+ TimeConstraint(int ms, TestResults& result, TestDetails const& details);
+ ~TimeConstraint();
+
+private:
+ void operator=(TimeConstraint const&);
+ TimeConstraint(TimeConstraint const&);
+
+ Timer m_timer;
+ TestResults& m_result;
+ TestDetails const& m_details;
+ int const m_maxMs;
+};
+
+#define UNITTEST_TIME_CONSTRAINT(ms) \
+ UnitTest::TimeConstraint unitTest__timeConstraint__(ms, testResults_, UnitTest::TestDetails(m_details, __LINE__))
+
+#define UNITTEST_TIME_CONSTRAINT_EXEMPT() do { m_timeConstraintExempt = true; } while (0)
+
+}
+
+#endif