/tests/core/test_manager_repr.py

https://bitbucket.org/prologic/circuits/ · Python · 49 lines · 25 code · 1 blank · 23 comment · 0 complexity · 7112551848f6e9b83fece8c5d9da857a MD5 · raw file

  1. # Module: test_manager_repr
  2. # Date: 23rd February 2010
  3. # Author: James Mills, prologic at shortcircuit dot net dot au
  4. """Manager Repr Tests
  5. Test Manager's representation string.
  6. """
  7. import os
  8. from time import sleep
  9. from threading import current_thread
  10. import pytest
  11. from circuits import Component, Manager
  12. class App(Component):
  13. def test(self, event, *args, **kwargs):
  14. pass
  15. def test_main():
  16. id = "%s:%s" % (os.getpid(), current_thread().getName())
  17. m = Manager()
  18. assert repr(m) == "<Manager/ %s (queued=0) [S]>" % id
  19. app = App()
  20. app.register(m)
  21. s = repr(m)
  22. assert s == "<Manager/ %s (queued=1) [S]>" % id
  23. m.start()
  24. pytest.wait_for(m, "_running", True)
  25. sleep(0.1)
  26. s = repr(m)
  27. assert s == "<Manager/ %s (queued=0) [R]>" % id
  28. m.stop()
  29. pytest.wait_for(m, "_Manager__thread", None)
  30. s = repr(m)
  31. assert s == "<Manager/ %s (queued=0) [S]>" % id