| Server IP : 103.88.176.108 / Your IP : 216.73.216.82 Web Server : Apache/2.4.41 (Ubuntu) System : Linux webserver 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/twisted/test/ |
Upload File : |
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.
"""
Test that twisted scripts can be invoked as modules.
"""
from __future__ import division, absolute_import
import sys
from twisted.application.twist._options import TwistOptions
from twisted.scripts import trial
from twisted.internet import defer, reactor
from twisted.python.compat import NativeStringIO as StringIO
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().replace(b'\r\n', b'\n')
options = TwistOptions()
message = '{}\n'.format(options).encode('utf-8')
self.assertEqual(output, message)
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().replace(b'\r\n', b'\n')
options = trial.Options()
message = '{}\n'.format(options).encode('utf-8')
self.assertEqual(output, message)
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(), "")