ExceptionTest.cc 927 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "Exception.h"
  2. #include <iostream>
  3. #include <cppunit/extensions/HelperMacros.h>
  4. #include "DownloadFailureException.h"
  5. namespace aria2 {
  6. class ExceptionTest:public CppUnit::TestFixture {
  7. CPPUNIT_TEST_SUITE(ExceptionTest);
  8. CPPUNIT_TEST(testStackTrace);
  9. CPPUNIT_TEST_SUITE_END();
  10. public:
  11. void setUp() {}
  12. void tearDown() {}
  13. void testStackTrace();
  14. };
  15. CPPUNIT_TEST_SUITE_REGISTRATION(ExceptionTest);
  16. void ExceptionTest::testStackTrace()
  17. {
  18. DownloadFailureException c1 = DOWNLOAD_FAILURE_EXCEPTION("cause1");
  19. DownloadFailureException c2 = DOWNLOAD_FAILURE_EXCEPTION2("cause2", c1);
  20. DownloadFailureException e = DOWNLOAD_FAILURE_EXCEPTION2("exception thrown",
  21. c2);
  22. CPPUNIT_ASSERT_EQUAL
  23. (std::string("Exception: [ExceptionTest.cc:31] exception thrown\n"
  24. " -> [ExceptionTest.cc:29] cause2\n"
  25. " -> [ExceptionTest.cc:28] cause1\n"),
  26. e.stackTrace());
  27. }
  28. } // namespace aria2