diff options
author | 2015-05-30 14:57:13 +0200 | |
---|---|---|
committer | 2015-05-30 14:57:13 +0200 | |
commit | d1d9dfc2d4be85cee8c8c990950d72ee6df78e5e (patch) | |
tree | 495d4e5a066ee13be131f08437732b3588d43a42 /3rdparty/unittest-cpp/UnitTest++/ReportAssert.cpp | |
parent | fe71f92dd24270ae7c5621166b096c665ca0e4f5 (diff) | |
parent | 51709eef04f9f0c6d621447c568e170927fa9472 (diff) |
Merge pull request #4 from mamedev/master
Sync to base master
Diffstat (limited to '3rdparty/unittest-cpp/UnitTest++/ReportAssert.cpp')
-rw-r--r-- | 3rdparty/unittest-cpp/UnitTest++/ReportAssert.cpp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/3rdparty/unittest-cpp/UnitTest++/ReportAssert.cpp b/3rdparty/unittest-cpp/UnitTest++/ReportAssert.cpp new file mode 100644 index 00000000000..7a9a63a6561 --- /dev/null +++ b/3rdparty/unittest-cpp/UnitTest++/ReportAssert.cpp @@ -0,0 +1,70 @@ +#include "ReportAssert.h" +#include "ReportAssertImpl.h" +#include "AssertException.h" +#include "CurrentTest.h" +#include "TestResults.h" +#include "TestDetails.h" + +#ifdef UNITTEST_NO_EXCEPTIONS + #include "ReportAssertImpl.h" +#endif + +namespace UnitTest { + +namespace +{ + bool& AssertExpectedFlag() + { + static bool s_assertExpected = false; + return s_assertExpected; + } +} + +UNITTEST_LINKAGE void ReportAssert(char const* description, char const* filename, int lineNumber) +{ + Detail::ReportAssertEx(CurrentTest::Results(), CurrentTest::Details(), + description, filename, lineNumber); +} + +namespace Detail { + +#ifdef UNITTEST_NO_EXCEPTIONS +UNITTEST_JMPBUF* GetAssertJmpBuf() +{ + static UNITTEST_JMPBUF s_jmpBuf; + return &s_jmpBuf; +} +#endif + +UNITTEST_LINKAGE void ReportAssertEx(TestResults* testResults, + const TestDetails* testDetails, + char const* description, + char const* filename, + int lineNumber) +{ + if (AssertExpectedFlag() == false) + { + TestDetails assertDetails(testDetails->testName, testDetails->suiteName, filename, lineNumber); + testResults->OnTestFailure(assertDetails, description); + } + + ExpectAssert(false); + +#ifndef UNITTEST_NO_EXCEPTIONS + throw AssertException(); +#else + UNITTEST_JUMP_TO_ASSERT_JUMP_TARGET(); +#endif +} + +UNITTEST_LINKAGE void ExpectAssert(bool expected) +{ + AssertExpectedFlag() = expected; +} + +UNITTEST_LINKAGE bool AssertExpected() +{ + return AssertExpectedFlag(); +} + +}} |