/usr/lib/python3/dist-packages/twisted/internet/test
NameSizeModeActions
fake_CAs/-0755rm
__pycache__/-0755rm
connectionmixins.py201840644editdlrm
fakeendpoint.py16630644editdlrm
modulehelpers.py16720644editdlrm
process_cli.py5470644editdlrm
process_connectionlost.py1260644editdlrm
process_gireactornocompat.py8160644editdlrm
process_helper.py12820644editdlrm
reactormixins.py146090644editdlrm
test_abstract.py19760644editdlrm
test_address.py82660644editdlrm
test_asyncioreactor.py93270644editdlrm
test_base.py136840644editdlrm
test_baseprocess.py25880644editdlrm
test_core.py111250644editdlrm
test_default.py34190644editdlrm
test_defer_await.py65140644editdlrm
test_defer_yieldfrom.py48480644editdlrm
test_endpoints.py1487200644editdlrm
test_epollreactor.py73220644editdlrm
test_error.py10900644editdlrm
test_fdset.py134970644editdlrm
test_filedescriptor.py27610644editdlrm
test_gireactor.py65160644editdlrm
test_glibbase.py22170644editdlrm
test_inlinecb.py114820644editdlrm
test_inotify.py185620644editdlrm
test_iocp.py77000644editdlrm
test_kqueuereactor.py18530644editdlrm
test_main.py13310644editdlrm
test_newtls.py65320644editdlrm
test_pollingfile.py12970644editdlrm
test_posixbase.py97180644editdlrm
test_posixprocess.py112030644editdlrm
test_process.py367320644editdlrm
test_protocol.py185200644editdlrm
test_resolver.py196100644editdlrm
test_serialport.py19880644editdlrm
test_sigchld.py39220644editdlrm
test_socket.py94430644editdlrm
test_stdio.py65970644editdlrm
test_tcp.py1066210644editdlrm
test_testing.py162390644editdlrm
test_threads.py87340644editdlrm
test_time.py37580644editdlrm
test_tls.py133490644editdlrm
test_udp.py168810644editdlrm
test_udp_internals.py48370644editdlrm
test_unix.py348540644editdlrm
test_win32events.py64730644editdlrm
test_win32serialport.py53300644editdlrm
_posixifaces.py43910644editdlrm
_win32ifaces.py39750644editdlrm
__init__.py1120644editdlrm
Edit: /usr/lib/python3/dist-packages/twisted/internet/test/test_win32serialport.py (5330B)
# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ Tests for L{twisted.internet.serialport}. """ import os import shutil import tempfile from twisted.internet.protocol import Protocol from twisted.internet.test.test_serialport import DoNothing from twisted.python.failure import Failure from twisted.python.runtime import platform from twisted.trial import unittest testingForced = "TWISTED_FORCE_SERIAL_TESTS" in os.environ try: import serial # type: ignore[import] from twisted.internet import serialport except ImportError: if testingForced: raise serialport = None # type: ignore[assignment] serial = None if serialport is not None: class RegularFileSerial(serial.Serial): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.captured_args = args self.captured_kwargs = kwargs def _reconfigurePort(self): pass def _reconfigure_port(self): pass class RegularFileSerialPort(serialport.SerialPort): _serialFactory = RegularFileSerial def __init__(self, *args, **kwargs): cbInQue = kwargs.get("cbInQue") if "cbInQue" in kwargs: del kwargs["cbInQue"] self.comstat = serial.win32.COMSTAT self.comstat.cbInQue = cbInQue super().__init__(*args, **kwargs) def _clearCommError(self): return True, self.comstat class CollectReceivedProtocol(Protocol): def __init__(self): self.received_data = [] def dataReceived(self, data): self.received_data.append(data) class Win32SerialPortTests(unittest.TestCase): """ Minimal testing for Twisted's Win32 serial port support. """ if not testingForced: if not platform.isWindows(): skip = "This test must run on Windows." elif not serialport: skip = "Windows serial port support is not available." def setUp(self): # Re-usable protocol and reactor self.protocol = Protocol() self.reactor = DoNothing() self.directory = tempfile.mkdtemp() self.path = os.path.join(self.directory, "fake_serial") data = b"1234" with open(self.path, "wb") as f: f.write(data) def tearDown(self): shutil.rmtree(self.directory) def test_serialPortDefaultArgs(self): """ Test correct positional and keyword arguments have been passed to the C{serial.Serial} object. """ port = RegularFileSerialPort(self.protocol, self.path, self.reactor) # Validate args self.assertEqual((self.path,), port._serial.captured_args) # Validate kwargs kwargs = port._serial.captured_kwargs self.assertEqual(9600, kwargs["baudrate"]) self.assertEqual(serial.EIGHTBITS, kwargs["bytesize"]) self.assertEqual(serial.PARITY_NONE, kwargs["parity"]) self.assertEqual(serial.STOPBITS_ONE, kwargs["stopbits"]) self.assertEqual(0, kwargs["xonxoff"]) self.assertEqual(0, kwargs["rtscts"]) self.assertEqual(None, kwargs["timeout"]) port.connectionLost(Failure(Exception("Cleanup"))) def test_serialPortInitiallyConnected(self): """ Test the port is connected at initialization time, and C{Protocol.makeConnection} has been called on the desired protocol. """ self.assertEqual(0, self.protocol.connected) port = RegularFileSerialPort(self.protocol, self.path, self.reactor) self.assertEqual(1, port.connected) self.assertEqual(1, self.protocol.connected) self.assertEqual(port, self.protocol.transport) port.connectionLost(Failure(Exception("Cleanup"))) def common_exerciseHandleAccess(self, cbInQue): port = RegularFileSerialPort( protocol=self.protocol, deviceNameOrPortNumber=self.path, reactor=self.reactor, cbInQue=cbInQue, ) port.serialReadEvent() port.write(b"") port.write(b"abcd") port.write(b"ABCD") port.serialWriteEvent() port.serialWriteEvent() port.connectionLost(Failure(Exception("Cleanup"))) # No assertion since the point is simply to make sure that in all cases # the port handle resolves instead of raising an exception. def test_exerciseHandleAccess_1(self): self.common_exerciseHandleAccess(cbInQue=False) def test_exerciseHandleAccess_2(self): self.common_exerciseHandleAccess(cbInQue=True) def common_serialPortReturnsBytes(self, cbInQue): protocol = CollectReceivedProtocol() port = RegularFileSerialPort( protocol=protocol, deviceNameOrPortNumber=self.path, reactor=self.reactor, cbInQue=cbInQue, ) port.serialReadEvent() self.assertTrue(all(isinstance(d, bytes) for d in protocol.received_data)) port.connectionLost(Failure(Exception("Cleanup"))) def test_serialPortReturnsBytes_1(self): self.common_serialPortReturnsBytes(cbInQue=False) def test_serialPortReturnsBytes_2(self): self.common_serialPortReturnsBytes(cbInQue=True)