test_options.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # Copyright (c) Twisted Matrix Laboratories.
  2. # See LICENSE for details.
  3. """
  4. Tests for distributed trial's options management.
  5. """
  6. import os, sys, gc
  7. from twisted.trial.unittest import TestCase
  8. from twisted.trial._dist.options import WorkerOptions
  9. class WorkerOptionsTests(TestCase):
  10. """
  11. Tests for L{WorkerOptions}.
  12. """
  13. def setUp(self):
  14. """
  15. Build an L{WorkerOptions} object to be used in the tests.
  16. """
  17. self.options = WorkerOptions()
  18. def test_standardOptions(self):
  19. """
  20. L{WorkerOptions} supports a subset of standard options supported by
  21. trial.
  22. """
  23. self.addCleanup(sys.setrecursionlimit, sys.getrecursionlimit())
  24. if gc.isenabled():
  25. self.addCleanup(gc.enable)
  26. gc.enable()
  27. self.options.parseOptions(["--recursionlimit", "2000", "--disablegc"])
  28. self.assertEqual(2000, sys.getrecursionlimit())
  29. self.assertFalse(gc.isenabled())
  30. def test_coverage(self):
  31. """
  32. L{WorkerOptions.coverdir} returns the C{coverage} child directory of
  33. the current directory to be used for storing coverage data.
  34. """
  35. self.assertEqual(
  36. os.path.realpath(os.path.join(os.getcwd(), "coverage")),
  37. self.options.coverdir().path)