Viewing file: test_main.py (2.12 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details.
""" Test that twisted scripts can be invoked as modules. """
import sys from io import StringIO
from twisted.internet import defer, reactor from twisted.test.test_process import Accumulator from twisted.trial.unittest import TestCase
class MainTests(TestCase): """Test that twisted scripts can be invoked as modules."""
def test_twisted(self): """Invoking python -m twisted should execute twist.""" cmd = sys.executable p = Accumulator() d = p.endedDeferred = defer.Deferred() reactor.spawnProcess(p, cmd, [cmd, "-m", "twisted", "--help"], env=None) p.transport.closeStdin()
# Fix up our sys args to match the command we issued from twisted import __main__
self.patch(sys, "argv", [__main__.__file__, "--help"])
def processEnded(ign): f = p.outF output = f.getvalue()
self.assertTrue( b"-m twisted [options] plugin [plugin_options]" in output, output )
return d.addCallback(processEnded)
def test_trial(self): """Invoking python -m twisted.trial should execute trial.""" cmd = sys.executable p = Accumulator() d = p.endedDeferred = defer.Deferred() reactor.spawnProcess(p, cmd, [cmd, "-m", "twisted.trial", "--help"], env=None) p.transport.closeStdin()
# Fix up our sys args to match the command we issued from twisted.trial import __main__
self.patch(sys, "argv", [__main__.__file__, "--help"])
def processEnded(ign): f = p.outF output = f.getvalue()
self.assertTrue(b"-j, --jobs= " in output, output)
return d.addCallback(processEnded)
def test_twisted_import(self): """Importing twisted.__main__ does not execute twist.""" output = StringIO() monkey = self.patch(sys, "stdout", output)
import twisted.__main__
self.assertTrue(twisted.__main__) # Appease pyflakes
monkey.restore() self.assertEqual(output.getvalue(), "")
|