exc_tests.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. """Tests for cement.core.exc."""
  2. from cement.core import exc
  3. from cement.utils import test
  4. class ExceptionTestCase(test.CementCoreTestCase):
  5. @test.raises(exc.FrameworkError)
  6. def test_cement_runtime_error(self):
  7. try:
  8. raise exc.FrameworkError("FrameworkError Test")
  9. except exc.FrameworkError as e:
  10. self.eq(e.msg, "FrameworkError Test")
  11. self.eq(e.__str__(), "FrameworkError Test")
  12. raise
  13. @test.raises(exc.InterfaceError)
  14. def test_cement_interface_error(self):
  15. try:
  16. raise exc.InterfaceError("InterfaceError Test")
  17. except exc.InterfaceError as e:
  18. self.eq(e.msg, "InterfaceError Test")
  19. self.eq(e.__str__(), "InterfaceError Test")
  20. raise
  21. @test.raises(exc.CaughtSignal)
  22. def test_cement_signal_error(self):
  23. try:
  24. import signal
  25. raise exc.CaughtSignal(signal.SIGTERM, 5)
  26. except exc.CaughtSignal as e:
  27. self.eq(e.signum, signal.SIGTERM)
  28. self.eq(e.frame, 5)
  29. raise