aboutsummaryrefslogtreecommitdiffstats
path: root/tests/UnitTest++/src/TimeConstraint.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/UnitTest++/src/TimeConstraint.h')
-rw-r--r--tests/UnitTest++/src/TimeConstraint.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/UnitTest++/src/TimeConstraint.h b/tests/UnitTest++/src/TimeConstraint.h
new file mode 100644
index 0000000..ac32914
--- /dev/null
+++ b/tests/UnitTest++/src/TimeConstraint.h
@@ -0,0 +1,33 @@
+#ifndef UNITTEST_TIMECONSTRAINT_H
+#define UNITTEST_TIMECONSTRAINT_H
+
+#include "TimeHelpers.h"
+
+namespace UnitTest {
+
+class TestResults;
+class TestDetails;
+
+class TimeConstraint
+{
+public:
+ TimeConstraint(int ms, TestDetails const& details);
+ ~TimeConstraint();
+
+private:
+ void operator=(TimeConstraint const&);
+ TimeConstraint(TimeConstraint const&);
+
+ Timer m_timer;
+ TestDetails const& m_details;
+ int const m_maxMs;
+};
+
+#define UNITTEST_TIME_CONSTRAINT(ms) \
+ UnitTest::TimeConstraint unitTest__timeConstraint__(ms, UnitTest::TestDetails(m_details, __LINE__))
+
+#define UNITTEST_TIME_CONSTRAINT_EXEMPT() do { m_timeConstraintExempt = true; } while (0)
+
+}
+
+#endif