TimeConstraint.h 677 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef UNITTEST_TIMECONSTRAINT_H
  2. #define UNITTEST_TIMECONSTRAINT_H
  3. #include "TimeHelpers.h"
  4. namespace UnitTest {
  5. class TestResults;
  6. class TestDetails;
  7. class TimeConstraint
  8. {
  9. public:
  10. TimeConstraint(int ms, TestDetails const& details);
  11. ~TimeConstraint();
  12. private:
  13. void operator=(TimeConstraint const&);
  14. TimeConstraint(TimeConstraint const&);
  15. Timer m_timer;
  16. TestDetails const& m_details;
  17. int const m_maxMs;
  18. };
  19. #define UNITTEST_TIME_CONSTRAINT(ms) \
  20. UnitTest::TimeConstraint unitTest__timeConstraint__(ms, UnitTest::TestDetails(m_details, __LINE__))
  21. #define UNITTEST_TIME_CONSTRAINT_EXEMPT() do { m_timeConstraintExempt = true; } while (0)
  22. }
  23. #endif