# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ Tests for generic file descriptor based reactor support code. """ from __future__ import division, absolute_import from twisted.trial.unittest import TestCase from twisted.internet.abstract import isIPAddress from socket import AF_IPX class AddressTests(TestCase): """ Tests for address-related functionality. """ def test_decimalDotted(self): """ L{isIPAddress} should return C{True} for any decimal dotted representation of an IPv4 address. """ self.assertTrue(isIPAddress('0.1.2.3')) self.assertTrue(isIPAddress('252.253.254.255')) def test_shortDecimalDotted(self): """ L{isIPAddress} should return C{False} for a dotted decimal representation with fewer or more than four octets. """ self.assertFalse(isIPAddress('0')) self.assertFalse(isIPAddress('0.1')) self.assertFalse(isIPAddress('0.1.2')) self.assertFalse(isIPAddress('0.1.2.3.4')) def test_invalidLetters(self): """ L{isIPAddress} should return C{False} for any non-decimal dotted representation including letters. """ self.assertFalse(isIPAddress('a.2.3.4')) self.assertFalse(isIPAddress('1.b.3.4')) def test_invalidPunctuation(self): """ L{isIPAddress} should return C{False} for a string containing strange punctuation. """ self.assertFalse(isIPAddress(',')) self.assertFalse(isIPAddress('1,2')) self.assertFalse(isIPAddress('1,2,3')) self.assertFalse(isIPAddress('1.,.3,4')) def test_emptyString(self): """ L{isIPAddress} should return C{False} for the empty string. """ self.assertFalse(isIPAddress('')) def test_invalidNegative(self): """ L{isIPAddress} should return C{False} for negative decimal values. """ self.assertFalse(isIPAddress('-1')) self.assertFalse(isIPAddress('1.-2')) self.assertFalse(isIPAddress('1.2.-3')) self.assertFalse(isIPAddress('1.2.-3.4')) def test_invalidPositive(self): """ L{isIPAddress} should return C{False} for a string containing positive decimal values greater than 255. """ self.assertFalse(isIPAddress('256.0.0.0')) self.assertFalse(isIPAddress('0.256.0.0')) self.assertFalse(isIPAddress('0.0.256.0')) self.assertFalse(isIPAddress('0.0.0.256')) self.assertFalse(isIPAddress('256.256.256.256')) def test_unicodeAndBytes(self): """ L{isIPAddress} evaluates ASCII-encoded bytes as well as text. """ self.assertFalse(isIPAddress(b'256.0.0.0')) self.assertFalse(isIPAddress(u'256.0.0.0')) self.assertTrue(isIPAddress(b'252.253.254.255')) self.assertTrue(isIPAddress(u'252.253.254.255')) def test_nonIPAddressFamily(self): """ All address families other than C{AF_INET} and C{AF_INET6} result in a L{ValueError} being raised. """ self.assertRaises(ValueError, isIPAddress, b'anything', AF_IPX) def test_nonASCII(self): """ All IP addresses must be encodable as ASCII; non-ASCII should result in a L{False} result. """ self.assertFalse(isIPAddress(b'\xff.notascii')) self.assertFalse(isIPAddress(u'\u4321.notascii'))
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 103 B | 0644 |
|
cert.pem.no_trailing_newline | File | 1.38 KB | 0644 |
|
crash_test_dummy.py | File | 543 B | 0644 |
|
iosim.py | File | 17.3 KB | 0644 |
|
key.pem.no_trailing_newline | File | 1.67 KB | 0644 |
|
mock_win32process.py | File | 1.46 KB | 0644 |
|
myrebuilder1.py | File | 158 B | 0644 |
|
myrebuilder2.py | File | 158 B | 0644 |
|
plugin_basic.py | File | 943 B | 0644 |
|
plugin_extra1.py | File | 407 B | 0644 |
|
plugin_extra2.py | File | 579 B | 0644 |
|
process_cmdline.py | File | 162 B | 0644 |
|
process_echoer.py | File | 214 B | 0644 |
|
process_fds.py | File | 945 B | 0644 |
|
process_getargv.py | File | 283 B | 0644 |
|
process_getenv.py | File | 268 B | 0644 |
|
process_linger.py | File | 286 B | 0644 |
|
process_reader.py | File | 188 B | 0644 |
|
process_signal.py | File | 214 B | 0644 |
|
process_stdinreader.py | File | 857 B | 0644 |
|
process_tester.py | File | 1.01 KB | 0644 |
|
process_tty.py | File | 130 B | 0644 |
|
process_twisted.py | File | 1.18 KB | 0644 |
|
proto_helpers.py | File | 26.33 KB | 0644 |
|
raiser.c | File | 93.05 KB | 0644 |
|
raiser.cpython-36m-x86_64-linux-gnu.so | File | 19.16 KB | 0644 |
|
raiser.pyx | File | 466 B | 0644 |
|
reflect_helper_IE.py | File | 61 B | 0644 |
|
reflect_helper_VE.py | File | 82 B | 0644 |
|
reflect_helper_ZDE.py | File | 47 B | 0644 |
|
server.pem | File | 4.34 KB | 0644 |
|
ssl_helpers.py | File | 1.01 KB | 0644 |
|
stdio_test_consumer.py | File | 1.19 KB | 0644 |
|
stdio_test_halfclose.py | File | 1.89 KB | 0644 |
|
stdio_test_hostpeer.py | File | 1021 B | 0644 |
|
stdio_test_lastwrite.py | File | 1.18 KB | 0644 |
|
stdio_test_loseconn.py | File | 1.51 KB | 0644 |
|
stdio_test_producer.py | File | 1.47 KB | 0644 |
|
stdio_test_write.py | File | 923 B | 0644 |
|
stdio_test_writeseq.py | File | 915 B | 0644 |
|
test_abstract.py | File | 3.42 KB | 0644 |
|
test_adbapi.py | File | 25.53 KB | 0644 |
|
test_amp.py | File | 107.96 KB | 0644 |
|
test_application.py | File | 32.05 KB | 0644 |
|
test_compat.py | File | 27.32 KB | 0644 |
|
test_context.py | File | 1.48 KB | 0644 |
|
test_cooperator.py | File | 20.96 KB | 0644 |
|
test_defer.py | File | 100.93 KB | 0644 |
|
test_defgen.py | File | 10.45 KB | 0644 |
|
test_dict.py | File | 1.41 KB | 0644 |
|
test_dirdbm.py | File | 6.76 KB | 0644 |
|
test_error.py | File | 8.39 KB | 0644 |
|
test_factories.py | File | 4.53 KB | 0644 |
|
test_failure.py | File | 29.92 KB | 0644 |
|
test_fdesc.py | File | 7.2 KB | 0644 |
|
test_finger.py | File | 1.95 KB | 0644 |
|
test_formmethod.py | File | 3.56 KB | 0644 |
|
test_ftp.py | File | 127.27 KB | 0644 |
|
test_ftp_options.py | File | 2.62 KB | 0644 |
|
test_htb.py | File | 3.12 KB | 0644 |
|
test_ident.py | File | 6.85 KB | 0644 |
|
test_internet.py | File | 45.33 KB | 0644 |
|
test_iosim.py | File | 8.49 KB | 0644 |
|
test_iutils.py | File | 13.13 KB | 0644 |
|
test_lockfile.py | File | 15.14 KB | 0644 |
|
test_log.py | File | 35.48 KB | 0644 |
|
test_logfile.py | File | 17.8 KB | 0644 |
|
test_loopback.py | File | 14.15 KB | 0644 |
|
test_main.py | File | 2.44 KB | 0644 |
|
test_memcache.py | File | 24.55 KB | 0644 |
|
test_modules.py | File | 17.47 KB | 0644 |
|
test_monkey.py | File | 5.5 KB | 0644 |
|
test_nooldstyle.py | File | 5.82 KB | 0644 |
|
test_paths.py | File | 72.61 KB | 0644 |
|
test_pcp.py | File | 12.26 KB | 0644 |
|
test_persisted.py | File | 14.28 KB | 0644 |
|
test_plugin.py | File | 25.5 KB | 0644 |
|
test_policies.py | File | 32.04 KB | 0644 |
|
test_postfix.py | File | 3.53 KB | 0644 |
|
test_process.py | File | 84.1 KB | 0644 |
|
test_protocols.py | File | 7.28 KB | 0644 |
|
test_randbytes.py | File | 3.28 KB | 0644 |
|
test_rebuild.py | File | 8.3 KB | 0644 |
|
test_reflect.py | File | 25.47 KB | 0644 |
|
test_roots.py | File | 1.77 KB | 0644 |
|
test_shortcut.py | File | 1.89 KB | 0644 |
|
test_sip.py | File | 24.69 KB | 0644 |
|
test_sob.py | File | 5.5 KB | 0644 |
|
test_socks.py | File | 17.32 KB | 0644 |
|
test_ssl.py | File | 23.29 KB | 0644 |
|
test_sslverify.py | File | 104.28 KB | 0644 |
|
test_stateful.py | File | 1.97 KB | 0644 |
|
test_stdio.py | File | 12.85 KB | 0644 |
|
test_strerror.py | File | 5.06 KB | 0644 |
|
test_stringtransport.py | File | 12.95 KB | 0644 |
|
test_strports.py | File | 1.75 KB | 0644 |
|
test_task.py | File | 38.4 KB | 0644 |
|
test_tcp.py | File | 64.07 KB | 0644 |
|
test_tcp_internals.py | File | 8.54 KB | 0644 |
|
test_text.py | File | 6.3 KB | 0644 |
|
test_threadable.py | File | 3.65 KB | 0644 |
|
test_threadpool.py | File | 22.47 KB | 0644 |
|
test_threads.py | File | 12.96 KB | 0644 |
|
test_tpfile.py | File | 1.56 KB | 0644 |
|
test_twistd.py | File | 61.05 KB | 0644 |
|
test_twisted.py | File | 18.42 KB | 0644 |
|
test_udp.py | File | 24.1 KB | 0644 |
|
test_unix.py | File | 14.8 KB | 0644 |
|
test_usage.py | File | 23.09 KB | 0644 |
|
testutils.py | File | 5.19 KB | 0644 |
|