✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ beluga.o2switch.net ​🇻​♯➤ 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 185.154.139.77 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.217.0
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /opt/alt/python39/lib64/python3.9/test//test_deque.py
from collections import deque
import unittest
from test import support, seq_tests
import gc
import weakref
import copy
import pickle
import random
import struct

BIG = 100000

def fail():
    raise SyntaxError
    yield 1

class BadCmp:
    def __eq__(self, other):
        raise RuntimeError

class MutateCmp:
    def __init__(self, deque, result):
        self.deque = deque
        self.result = result
    def __eq__(self, other):
        self.deque.clear()
        return self.result

class TestBasic(unittest.TestCase):

    def test_basics(self):
        d = deque(range(-5125, -5000))
        d.__init__(range(200))
        for i in range(200, 400):
            d.append(i)
        for i in reversed(range(-200, 0)):
            d.appendleft(i)
        self.assertEqual(list(d), list(range(-200, 400)))
        self.assertEqual(len(d), 600)

        left = [d.popleft() for i in range(250)]
        self.assertEqual(left, list(range(-200, 50)))
        self.assertEqual(list(d), list(range(50, 400)))

        right = [d.pop() for i in range(250)]
        right.reverse()
        self.assertEqual(right, list(range(150, 400)))
        self.assertEqual(list(d), list(range(50, 150)))

    def test_maxlen(self):
        self.assertRaises(ValueError, deque, 'abc', -1)
        self.assertRaises(ValueError, deque, 'abc', -2)
        it = iter(range(10))
        d = deque(it, maxlen=3)
        self.assertEqual(list(it), [])
        self.assertEqual(repr(d), 'deque([7, 8, 9], maxlen=3)')
        self.assertEqual(list(d), [7, 8, 9])
        self.assertEqual(d, deque(range(10), 3))
        d.append(10)
        self.assertEqual(list(d), [8, 9, 10])
        d.appendleft(7)
        self.assertEqual(list(d), [7, 8, 9])
        d.extend([10, 11])
        self.assertEqual(list(d), [9, 10, 11])
        d.extendleft([8, 7])
        self.assertEqual(list(d), [7, 8, 9])
        d = deque(range(200), maxlen=10)
        d.append(d)
        support.unlink(support.TESTFN)
        fo = open(support.TESTFN, "w")
        try:
            fo.write(str(d))
            fo.close()
            fo = open(support.TESTFN, "r")
            self.assertEqual(fo.read(), repr(d))
        finally:
            fo.close()
            support.unlink(support.TESTFN)

        d = deque(range(10), maxlen=None)
        self.assertEqual(repr(d), 'deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])')
        fo = open(support.TESTFN, "w")
        try:
            fo.write(str(d))
            fo.close()
            fo = open(support.TESTFN, "r")
            self.assertEqual(fo.read(), repr(d))
        finally:
            fo.close()
            support.unlink(support.TESTFN)

    def test_maxlen_zero(self):
        it = iter(range(100))
        deque(it, maxlen=0)
        self.assertEqual(list(it), [])

        it = iter(range(100))
        d = deque(maxlen=0)
        d.extend(it)
        self.assertEqual(list(it), [])

        it = iter(range(100))
        d = deque(maxlen=0)
        d.extendleft(it)
        self.assertEqual(list(it), [])

    def test_maxlen_attribute(self):
        self.assertEqual(deque().maxlen, None)
        self.assertEqual(deque('abc').maxlen, None)
        self.assertEqual(deque('abc', maxlen=4).maxlen, 4)
        self.assertEqual(deque('abc', maxlen=2).maxlen, 2)
        self.assertEqual(deque('abc', maxlen=0).maxlen, 0)
        with self.assertRaises(AttributeError):
            d = deque('abc')
            d.maxlen = 10

    def test_count(self):
        for s in ('', 'abracadabra', 'simsalabim'*500+'abc'):
            s = list(s)
            d = deque(s)
            for letter in 'abcdefghijklmnopqrstuvwxyz':
                self.assertEqual(s.count(letter), d.count(letter), (s, d, letter))
        self.assertRaises(TypeError, d.count)       # too few args
        self.assertRaises(TypeError, d.count, 1, 2) # too many args
        class BadCompare:
            def __eq__(self, other):
                raise ArithmeticError
        d = deque([1, 2, BadCompare(), 3])
        self.assertRaises(ArithmeticError, d.count, 2)
        d = deque([1, 2, 3])
        self.assertRaises(ArithmeticError, d.count, BadCompare())
        class MutatingCompare:
            def __eq__(self, other):
                self.d.pop()
                return True
        m = MutatingCompare()
        d = deque([1, 2, 3, m, 4, 5])
        m.d = d
        self.assertRaises(RuntimeError, d.count, 3)

        # test issue11004
        # block advance failed after rotation aligned elements on right side of block
        d = deque([None]*16)
        for i in range(len(d)):
            d.rotate(-1)
        d.rotate(1)
        self.assertEqual(d.count(1), 0)
        self.assertEqual(d.count(None), 16)

    def test_comparisons(self):
        d = deque('xabc')
        d.popleft()
        for e in [d, deque('abc'), deque('ab'), deque(), list(d)]:
            self.assertEqual(d==e, type(d)==type(e) and list(d)==list(e))
            self.assertEqual(d!=e, not(type(d)==type(e) and list(d)==list(e)))

        args = map(deque, ('', 'a', 'b', 'ab', 'ba', 'abc', 'xba', 'xabc', 'cba'))
        for x in args:
            for y in args:
                self.assertEqual(x == y, list(x) == list(y), (x,y))
                self.assertEqual(x != y, list(x) != list(y), (x,y))
                self.assertEqual(x <  y, list(x) <  list(y), (x,y))
                self.assertEqual(x <= y, list(x) <= list(y), (x,y))
                self.assertEqual(x >  y, list(x) >  list(y), (x,y))
                self.assertEqual(x >= y, list(x) >= list(y), (x,y))

    def test_contains(self):
        n = 200

        d = deque(range(n))
        for i in range(n):
            self.assertTrue(i in d)
        self.assertTrue((n+1) not in d)

        # Test detection of mutation during iteration
        d = deque(range(n))
        d[n//2] = MutateCmp(d, False)
        with self.assertRaises(RuntimeError):
            n in d

        # Test detection of comparison exceptions
        d = deque(range(n))
        d[n//2] = BadCmp()
        with self.assertRaises(RuntimeError):
            n in d

    def test_contains_count_stop_crashes(self):
        class A:
            def __eq__(self, other):
                d.clear()
                return NotImplemented
        d = deque([A(), A()])
        with self.assertRaises(RuntimeError):
            _ = 3 in d
        d = deque([A(), A()])
        with self.assertRaises(RuntimeError):
            _ = d.count(3)

    def test_extend(self):
        d = deque('a')
        self.assertRaises(TypeError, d.extend, 1)
        d.extend('bcd')
        self.assertEqual(list(d), list('abcd'))
        d.extend(d)
        self.assertEqual(list(d), list('abcdabcd'))

    def test_add(self):
        d = deque()
        e = deque('abc')
        f = deque('def')
        self.assertEqual(d + d, deque())
        self.assertEqual(e + f, deque('abcdef'))
        self.assertEqual(e + e, deque('abcabc'))
        self.assertEqual(e + d, deque('abc'))
        self.assertEqual(d + e, deque('abc'))
        self.assertIsNot(d + d, deque())
        self.assertIsNot(e + d, deque('abc'))
        self.assertIsNot(d + e, deque('abc'))

        g = deque('abcdef', maxlen=4)
        h = deque('gh')
        self.assertEqual(g + h, deque('efgh'))

        with self.assertRaises(TypeError):
            deque('abc') + 'def'

    def test_iadd(self):
        d = deque('a')
        d += 'bcd'
        self.assertEqual(list(d), list('abcd'))
        d += d
        self.assertEqual(list(d), list('abcdabcd'))

    def test_extendleft(self):
        d = deque('a')
        self.assertRaises(TypeError, d.extendleft, 1)
        d.extendleft('bcd')
        self.assertEqual(list(d), list(reversed('abcd')))
        d.extendleft(d)
        self.assertEqual(list(d), list('abcddcba'))
        d = deque()
        d.extendleft(range(1000))
        self.assertEqual(list(d), list(reversed(range(1000))))
        self.assertRaises(SyntaxError, d.extendleft, fail())

    def test_getitem(self):
        n = 200
        d = deque(range(n))
        l = list(range(n))
        for i in range(n):
            d.popleft()
            l.pop(0)
            if random.random() < 0.5:
                d.append(i)
                l.append(i)
            for j in range(1-len(l), len(l)):
                assert d[j] == l[j]

        d = deque('superman')
        self.assertEqual(d[0], 's')
        self.assertEqual(d[-1], 'n')
        d = deque()
        self.assertRaises(IndexError, d.__getitem__, 0)
        self.assertRaises(IndexError, d.__getitem__, -1)

    def test_index(self):
        for n in 1, 2, 30, 40, 200:

            d = deque(range(n))
            for i in range(n):
                self.assertEqual(d.index(i), i)

            with self.assertRaises(ValueError):
                d.index(n+1)

            # Test detection of mutation during iteration
            d = deque(range(n))
            d[n//2] = MutateCmp(d, False)
            with self.assertRaises(RuntimeError):
                d.index(n)

            # Test detection of comparison exceptions
            d = deque(range(n))
            d[n//2] = BadCmp()
            with self.assertRaises(RuntimeError):
                d.index(n)

        # Test start and stop arguments behavior matches list.index()
        elements = 'ABCDEFGHI'
        nonelement = 'Z'
        d = deque(elements * 2)
        s = list(elements * 2)
        for start in range(-5 - len(s)*2, 5 + len(s) * 2):
            for stop in range(-5 - len(s)*2, 5 + len(s) * 2):
                for element in elements + 'Z':
                    try:
                        target = s.index(element, start, stop)
                    except ValueError:
                        with self.assertRaises(ValueError):
                            d.index(element, start, stop)
                    else:
                        self.assertEqual(d.index(element, start, stop), target)

        # Test large start argument
        d = deque(range(0, 10000, 10))
        for step in range(100):
            i = d.index(8500, 700)
            self.assertEqual(d[i], 8500)
            # Repeat test with a different internal offset
            d.rotate()

    def test_index_bug_24913(self):
        d = deque('A' * 3)
        with self.assertRaises(ValueError):
            i = d.index("Hello world", 0, 4)

    def test_insert(self):
        # Test to make sure insert behaves like lists
        elements = 'ABCDEFGHI'
        for i in range(-5 - len(elements)*2, 5 + len(elements) * 2):
            d = deque('ABCDEFGHI')
            s = list('ABCDEFGHI')
            d.insert(i, 'Z')
            s.insert(i, 'Z')
            self.assertEqual(list(d), s)

    def test_insert_bug_26194(self):
        data = 'ABC'
        d = deque(data, maxlen=len(data))
        with self.assertRaises(IndexError):
            d.insert(2, None)

        elements = 'ABCDEFGHI'
        for i in range(-len(elements), len(elements)):
            d = deque(elements, maxlen=len(elements)+1)
            d.insert(i, 'Z')
            if i >= 0:
                self.assertEqual(d[i], 'Z')
            else:
                self.assertEqual(d[i-1], 'Z')

    def test_imul(self):
        for n in (-10, -1, 0, 1, 2, 10, 1000):
            d = deque()
            d *= n
            self.assertEqual(d, deque())
            self.assertIsNone(d.maxlen)

        for n in (-10, -1, 0, 1, 2, 10, 1000):
            d = deque('a')
            d *= n
            self.assertEqual(d, deque('a' * n))
            self.assertIsNone(d.maxlen)

        for n in (-10, -1, 0, 1, 2, 10, 499, 500, 501, 1000):
            d = deque('a', 500)
            d *= n
            self.assertEqual(d, deque('a' * min(n, 500)))
            self.assertEqual(d.maxlen, 500)

        for n in (-10, -1, 0, 1, 2, 10, 1000):
            d = deque('abcdef')
            d *= n
            self.assertEqual(d, deque('abcdef' * n))
            self.assertIsNone(d.maxlen)

        for n in (-10, -1, 0, 1, 2, 10, 499, 500, 501, 1000):
            d = deque('abcdef', 500)
            d *= n
            self.assertEqual(d, deque(('abcdef' * n)[-500:]))
            self.assertEqual(d.maxlen, 500)

    def test_mul(self):
        d = deque('abc')
        self.assertEqual(d * -5, deque())
        self.assertEqual(d * 0, deque())
        self.assertEqual(d * 1, deque('abc'))
        self.assertEqual(d * 2, deque('abcabc'))
        self.assertEqual(d * 3, deque('abcabcabc'))
        self.assertIsNot(d * 1, d)

        self.assertEqual(deque() * 0, deque())
        self.assertEqual(deque() * 1, deque())
        self.assertEqual(deque() * 5, deque())

        self.assertEqual(-5 * d, deque())
        self.assertEqual(0 * d, deque())
        self.assertEqual(1 * d, deque('abc'))
        self.assertEqual(2 * d, deque('abcabc'))
        self.assertEqual(3 * d, deque('abcabcabc'))

        d = deque('abc', maxlen=5)
        self.assertEqual(d * -5, deque())
        self.assertEqual(d * 0, deque())
        self.assertEqual(d * 1, deque('abc'))
        self.assertEqual(d * 2, deque('bcabc'))
        self.assertEqual(d * 30, deque('bcabc'))

    def test_setitem(self):
        n = 200
        d = deque(range(n))
        for i in range(n):
            d[i] = 10 * i
        self.assertEqual(list(d), [10*i for i in range(n)])
        l = list(d)
        for i in range(1-n, 0, -1):
            d[i] = 7*i
            l[i] = 7*i
        self.assertEqual(list(d), l)

    def test_delitem(self):
        n = 500         # O(n**2) test, don't make this too big
        d = deque(range(n))
        self.assertRaises(IndexError, d.__delitem__, -n-1)
        self.assertRaises(IndexError, d.__delitem__, n)
        for i in range(n):
            self.assertEqual(len(d), n-i)
            j = random.randrange(-len(d), len(d))
            val = d[j]
            self.assertIn(val, d)
            del d[j]
            self.assertNotIn(val, d)
        self.assertEqual(len(d), 0)

    def test_reverse(self):
        n = 500         # O(n**2) test, don't make this too big
        data = [random.random() for i in range(n)]
        for i in range(n):
            d = deque(data[:i])
            r = d.reverse()
            self.assertEqual(list(d), list(reversed(data[:i])))
            self.assertIs(r, None)
            d.reverse()
            self.assertEqual(list(d), data[:i])
        self.assertRaises(TypeError, d.reverse, 1)          # Arity is zero

    def test_rotate(self):
        s = tuple('abcde')
        n = len(s)

        d = deque(s)
        d.rotate(1)             # verify rot(1)
        self.assertEqual(''.join(d), 'eabcd')

        d = deque(s)
        d.rotate(-1)            # verify rot(-1)
        self.assertEqual(''.join(d), 'bcdea')
        d.rotate()              # check default to 1
        self.assertEqual(tuple(d), s)

        for i in range(n*3):
            d = deque(s)
            e = deque(d)
            d.rotate(i)         # check vs. rot(1) n times
            for j in range(i):
                e.rotate(1)
            self.assertEqual(tuple(d), tuple(e))
            d.rotate(-i)        # check that it works in reverse
            self.assertEqual(tuple(d), s)
            e.rotate(n-i)       # check that it wraps forward
            self.assertEqual(tuple(e), s)

        for i in range(n*3):
            d = deque(s)
            e = deque(d)
            d.rotate(-i)
            for j in range(i):
                e.rotate(-1)    # check vs. rot(-1) n times
            self.assertEqual(tuple(d), tuple(e))
            d.rotate(i)         # check that it works in reverse
            self.assertEqual(tuple(d), s)
            e.rotate(i-n)       # check that it wraps backaround
            self.assertEqual(tuple(e), s)

        d = deque(s)
        e = deque(s)
        e.rotate(BIG+17)        # verify on long series of rotates
        dr = d.rotate
        for i in range(BIG+17):
            dr()
        self.assertEqual(tuple(d), tuple(e))

        self.assertRaises(TypeError, d.rotate, 'x')   # Wrong arg type
        self.assertRaises(TypeError, d.rotate, 1, 10) # Too many args

        d = deque()
        d.rotate()              # rotate an empty deque
        self.assertEqual(d, deque())

    def test_len(self):
        d = deque('ab')
        self.assertEqual(len(d), 2)
        d.popleft()
        self.assertEqual(len(d), 1)
        d.pop()
        self.assertEqual(len(d), 0)
        self.assertRaises(IndexError, d.pop)
        self.assertEqual(len(d), 0)
        d.append('c')
        self.assertEqual(len(d), 1)
        d.appendleft('d')
        self.assertEqual(len(d), 2)
        d.clear()
        self.assertEqual(len(d), 0)

    def test_underflow(self):
        d = deque()
        self.assertRaises(IndexError, d.pop)
        self.assertRaises(IndexError, d.popleft)

    def test_clear(self):
        d = deque(range(100))
        self.assertEqual(len(d), 100)
        d.clear()
        self.assertEqual(len(d), 0)
        self.assertEqual(list(d), [])
        d.clear()               # clear an empty deque
        self.assertEqual(list(d), [])

    def test_remove(self):
        d = deque('abcdefghcij')
        d.remove('c')
        self.assertEqual(d, deque('abdefghcij'))
        d.remove('c')
        self.assertEqual(d, deque('abdefghij'))
        self.assertRaises(ValueError, d.remove, 'c')
        self.assertEqual(d, deque('abdefghij'))

        # Handle comparison errors
        d = deque(['a', 'b', BadCmp(), 'c'])
        e = deque(d)
        self.assertRaises(RuntimeError, d.remove, 'c')
        for x, y in zip(d, e):
            # verify that original order and values are retained.
            self.assertTrue(x is y)

        # Handle evil mutator
        for match in (True, False):
            d = deque(['ab'])
            d.extend([MutateCmp(d, match), 'c'])
            self.assertRaises(IndexError, d.remove, 'c')
            self.assertEqual(d, deque())

    def test_repr(self):
        d = deque(range(200))
        e = eval(repr(d))
        self.assertEqual(list(d), list(e))
        d.append(d)
        self.assertIn('...', repr(d))

    def test_print(self):
        d = deque(range(200))
        d.append(d)
        try:
            support.unlink(support.TESTFN)
            fo = open(support.TESTFN, "w")
            print(d, file=fo, end='')
            fo.close()
            fo = open(support.TESTFN, "r")
            self.assertEqual(fo.read(), repr(d))
        finally:
            fo.close()
            support.unlink(support.TESTFN)

    def test_init(self):
        self.assertRaises(TypeError, deque, 'abc', 2, 3)
        self.assertRaises(TypeError, deque, 1)

    def test_hash(self):
        self.assertRaises(TypeError, hash, deque('abc'))

    def test_long_steadystate_queue_popleft(self):
        for size in (0, 1, 2, 100, 1000):
            d = deque(range(size))
            append, pop = d.append, d.popleft
            for i in range(size, BIG):
                append(i)
                x = pop()
                if x != i - size:
                    self.assertEqual(x, i-size)
            self.assertEqual(list(d), list(range(BIG-size, BIG)))

    def test_long_steadystate_queue_popright(self):
        for size in (0, 1, 2, 100, 1000):
            d = deque(reversed(range(size)))
            append, pop = d.appendleft, d.pop
            for i in range(size, BIG):
                append(i)
                x = pop()
                if x != i - size:
                    self.assertEqual(x, i-size)
            self.assertEqual(list(reversed(list(d))),
                             list(range(BIG-size, BIG)))

    def test_big_queue_popleft(self):
        pass
        d = deque()
        append, pop = d.append, d.popleft
        for i in range(BIG):
            append(i)
        for i in range(BIG):
            x = pop()
            if x != i:
                self.assertEqual(x, i)

    def test_big_queue_popright(self):
        d = deque()
        append, pop = d.appendleft, d.pop
        for i in range(BIG):
            append(i)
        for i in range(BIG):
            x = pop()
            if x != i:
                self.assertEqual(x, i)

    def test_big_stack_right(self):
        d = deque()
        append, pop = d.append, d.pop
        for i in range(BIG):
            append(i)
        for i in reversed(range(BIG)):
            x = pop()
            if x != i:
                self.assertEqual(x, i)
        self.assertEqual(len(d), 0)

    def test_big_stack_left(self):
        d = deque()
        append, pop = d.appendleft, d.popleft
        for i in range(BIG):
            append(i)
        for i in reversed(range(BIG)):
            x = pop()
            if x != i:
                self.assertEqual(x, i)
        self.assertEqual(len(d), 0)

    def test_roundtrip_iter_init(self):
        d = deque(range(200))
        e = deque(d)
        self.assertNotEqual(id(d), id(e))
        self.assertEqual(list(d), list(e))

    def test_pickle(self):
        for d in deque(range(200)), deque(range(200), 100):
            for i in range(pickle.HIGHEST_PROTOCOL + 1):
                s = pickle.dumps(d, i)
                e = pickle.loads(s)
                self.assertNotEqual(id(e), id(d))
                self.assertEqual(list(e), list(d))
                self.assertEqual(e.maxlen, d.maxlen)

    def test_pickle_recursive(self):
        for d in deque('abc'), deque('abc', 3):
            d.append(d)
            for i in range(pickle.HIGHEST_PROTOCOL + 1):
                e = pickle.loads(pickle.dumps(d, i))
                self.assertNotEqual(id(e), id(d))
                self.assertEqual(id(e[-1]), id(e))
                self.assertEqual(e.maxlen, d.maxlen)

    def test_iterator_pickle(self):
        orig = deque(range(200))
        data = [i*1.01 for i in orig]
        for proto in range(pickle.HIGHEST_PROTOCOL + 1):
            # initial iterator
            itorg = iter(orig)
            dump = pickle.dumps((itorg, orig), proto)
            it, d = pickle.loads(dump)
            for i, x in enumerate(data):
                d[i] = x
            self.assertEqual(type(it), type(itorg))
            self.assertEqual(list(it), data)

            # running iterator
            next(itorg)
            dump = pickle.dumps((itorg, orig), proto)
            it, d = pickle.loads(dump)
            for i, x in enumerate(data):
                d[i] = x
            self.assertEqual(type(it), type(itorg))
            self.assertEqual(list(it), data[1:])

            # empty iterator
            for i in range(1, len(data)):
                next(itorg)
            dump = pickle.dumps((itorg, orig), proto)
            it, d = pickle.loads(dump)
            for i, x in enumerate(data):
                d[i] = x
            self.assertEqual(type(it), type(itorg))
            self.assertEqual(list(it), [])

            # exhausted iterator
            self.assertRaises(StopIteration, next, itorg)
            dump = pickle.dumps((itorg, orig), proto)
            it, d = pickle.loads(dump)
            for i, x in enumerate(data):
                d[i] = x
            self.assertEqual(type(it), type(itorg))
            self.assertEqual(list(it), [])

    def test_deepcopy(self):
        mut = [10]
        d = deque([mut])
        e = copy.deepcopy(d)
        self.assertEqual(list(d), list(e))
        mut[0] = 11
        self.assertNotEqual(id(d), id(e))
        self.assertNotEqual(list(d), list(e))

    def test_copy(self):
        mut = [10]
        d = deque([mut])
        e = copy.copy(d)
        self.assertEqual(list(d), list(e))
        mut[0] = 11
        self.assertNotEqual(id(d), id(e))
        self.assertEqual(list(d), list(e))

        for i in range(5):
            for maxlen in range(-1, 6):
                s = [random.random() for j in range(i)]
                d = deque(s) if maxlen == -1 else deque(s, maxlen)
                e = d.copy()
                self.assertEqual(d, e)
                self.assertEqual(d.maxlen, e.maxlen)
                self.assertTrue(all(x is y for x, y in zip(d, e)))

    def test_copy_method(self):
        mut = [10]
        d = deque([mut])
        e = d.copy()
        self.assertEqual(list(d), list(e))
        mut[0] = 11
        self.assertNotEqual(id(d), id(e))
        self.assertEqual(list(d), list(e))

    def test_reversed(self):
        for s in ('abcd', range(2000)):
            self.assertEqual(list(reversed(deque(s))), list(reversed(s)))

    def test_reversed_new(self):
        klass = type(reversed(deque()))
        for s in ('abcd', range(2000)):
            self.assertEqual(list(klass(deque(s))), list(reversed(s)))

    def test_gc_doesnt_blowup(self):
        import gc
        # This used to assert-fail in deque_traverse() under a debug
        # build, or run wild with a NULL pointer in a release build.
        d = deque()
        for i in range(100):
            d.append(1)
            gc.collect()

    def test_container_iterator(self):
        # Bug #3680: tp_traverse was not implemented for deque iterator objects
        class C(object):
            pass
        for i in range(2):
            obj = C()
            ref = weakref.ref(obj)
            if i == 0:
                container = deque([obj, 1])
            else:
                container = reversed(deque([obj, 1]))
            obj.x = iter(container)
            del obj, container
            gc.collect()
            self.assertTrue(ref() is None, "Cycle was not collected")

    check_sizeof = support.check_sizeof

    @support.cpython_only
    def test_sizeof(self):
        BLOCKLEN = 64
        basesize = support.calcvobjsize('2P4nP')
        blocksize = struct.calcsize('P%dPP' % BLOCKLEN)
        self.assertEqual(object.__sizeof__(deque()), basesize)
        check = self.check_sizeof
        check(deque(), basesize + blocksize)
        check(deque('a'), basesize + blocksize)
        check(deque('a' * (BLOCKLEN - 1)), basesize + blocksize)
        check(deque('a' * BLOCKLEN), basesize + 2 * blocksize)
        check(deque('a' * (42 * BLOCKLEN)), basesize + 43 * blocksize)

class TestVariousIteratorArgs(unittest.TestCase):

    def test_constructor(self):
        for s in ("123", "", range(1000), ('do', 1.2), range(2000,2200,5)):
            for g in (seq_tests.Sequence, seq_tests.IterFunc,
                      seq_tests.IterGen, seq_tests.IterFuncStop,
                      seq_tests.itermulti, seq_tests.iterfunc):
                self.assertEqual(list(deque(g(s))), list(g(s)))
            self.assertRaises(TypeError, deque, seq_tests.IterNextOnly(s))
            self.assertRaises(TypeError, deque, seq_tests.IterNoNext(s))
            self.assertRaises(ZeroDivisionError, deque, seq_tests.IterGenExc(s))

    def test_iter_with_altered_data(self):
        d = deque('abcdefg')
        it = iter(d)
        d.pop()
        self.assertRaises(RuntimeError, next, it)

    def test_runtime_error_on_empty_deque(self):
        d = deque()
        it = iter(d)
        d.append(10)
        self.assertRaises(RuntimeError, next, it)

class Deque(deque):
    pass

class DequeWithBadIter(deque):
    def __iter__(self):
        raise TypeError

class TestSubclass(unittest.TestCase):

    def test_basics(self):
        d = Deque(range(25))
        d.__init__(range(200))
        for i in range(200, 400):
            d.append(i)
        for i in reversed(range(-200, 0)):
            d.appendleft(i)
        self.assertEqual(list(d), list(range(-200, 400)))
        self.assertEqual(len(d), 600)

        left = [d.popleft() for i in range(250)]
        self.assertEqual(left, list(range(-200, 50)))
        self.assertEqual(list(d), list(range(50, 400)))

        right = [d.pop() for i in range(250)]
        right.reverse()
        self.assertEqual(right, list(range(150, 400)))
        self.assertEqual(list(d), list(range(50, 150)))

        d.clear()
        self.assertEqual(len(d), 0)

    def test_copy_pickle(self):

        d = Deque('abc')

        e = d.__copy__()
        self.assertEqual(type(d), type(e))
        self.assertEqual(list(d), list(e))

        e = Deque(d)
        self.assertEqual(type(d), type(e))
        self.assertEqual(list(d), list(e))

        for proto in range(pickle.HIGHEST_PROTOCOL + 1):
            s = pickle.dumps(d, proto)
            e = pickle.loads(s)
            self.assertNotEqual(id(d), id(e))
            self.assertEqual(type(d), type(e))
            self.assertEqual(list(d), list(e))

        d = Deque('abcde', maxlen=4)

        e = d.__copy__()
        self.assertEqual(type(d), type(e))
        self.assertEqual(list(d), list(e))

        e = Deque(d)
        self.assertEqual(type(d), type(e))
        self.assertEqual(list(d), list(e))

        for proto in range(pickle.HIGHEST_PROTOCOL + 1):
            s = pickle.dumps(d, proto)
            e = pickle.loads(s)
            self.assertNotEqual(id(d), id(e))
            self.assertEqual(type(d), type(e))
            self.assertEqual(list(d), list(e))

    def test_pickle_recursive(self):
        for proto in range(pickle.HIGHEST_PROTOCOL + 1):
            for d in Deque('abc'), Deque('abc', 3):
                d.append(d)

                e = pickle.loads(pickle.dumps(d, proto))
                self.assertNotEqual(id(e), id(d))
                self.assertEqual(type(e), type(d))
                self.assertEqual(e.maxlen, d.maxlen)
                dd = d.pop()
                ee = e.pop()
                self.assertEqual(id(ee), id(e))
                self.assertEqual(e, d)

                d.x = d
                e = pickle.loads(pickle.dumps(d, proto))
                self.assertEqual(id(e.x), id(e))

            for d in DequeWithBadIter('abc'), DequeWithBadIter('abc', 2):
                self.assertRaises(TypeError, pickle.dumps, d, proto)

    def test_weakref(self):
        d = deque('gallahad')
        p = weakref.proxy(d)
        self.assertEqual(str(p), str(d))
        d = None
        support.gc_collect()  # For PyPy or other GCs.
        self.assertRaises(ReferenceError, str, p)

    def test_strange_subclass(self):
        class X(deque):
            def __iter__(self):
                return iter([])
        d1 = X([1,2,3])
        d2 = X([4,5,6])
        d1 == d2   # not clear if this is supposed to be True or False,
                   # but it used to give a SystemError

    @support.cpython_only
    def test_bug_31608(self):
        # The interpreter used to crash in specific cases where a deque
        # subclass returned a non-deque.
        class X(deque):
            pass
        d = X()
        def bad___new__(cls, *args, **kwargs):
            return [42]
        X.__new__ = bad___new__
        with self.assertRaises(TypeError):
            d * 42  # shouldn't crash
        with self.assertRaises(TypeError):
            d + deque([1, 2, 3])  # shouldn't crash


class SubclassWithKwargs(deque):
    def __init__(self, newarg=1):
        deque.__init__(self)

class TestSubclassWithKwargs(unittest.TestCase):
    def test_subclass_with_kwargs(self):
        # SF bug #1486663 -- this used to erroneously raise a TypeError
        SubclassWithKwargs(newarg=1)

class TestSequence(seq_tests.CommonTest):
    type2test = deque

    def test_getitem(self):
        # For now, bypass tests that require slicing
        pass

    def test_getslice(self):
        # For now, bypass tests that require slicing
        pass

    def test_subscript(self):
        # For now, bypass tests that require slicing
        pass

    def test_free_after_iterating(self):
        # For now, bypass tests that require slicing
        self.skipTest("Exhausted deque iterator doesn't free a deque")

#==============================================================================

libreftest = """
Example from the Library Reference:  Doc/lib/libcollections.tex

>>> from collections import deque
>>> d = deque('ghi')                 # make a new deque with three items
>>> for elem in d:                   # iterate over the deque's elements
...     print(elem.upper())
G
H
I
>>> d.append('j')                    # add a new entry to the right side
>>> d.appendleft('f')                # add a new entry to the left side
>>> d                                # show the representation of the deque
deque(['f', 'g', 'h', 'i', 'j'])
>>> d.pop()                          # return and remove the rightmost item
'j'
>>> d.popleft()                      # return and remove the leftmost item
'f'
>>> list(d)                          # list the contents of the deque
['g', 'h', 'i']
>>> d[0]                             # peek at leftmost item
'g'
>>> d[-1]                            # peek at rightmost item
'i'
>>> list(reversed(d))                # list the contents of a deque in reverse
['i', 'h', 'g']
>>> 'h' in d                         # search the deque
True
>>> d.extend('jkl')                  # add multiple elements at once
>>> d
deque(['g', 'h', 'i', 'j', 'k', 'l'])
>>> d.rotate(1)                      # right rotation
>>> d
deque(['l', 'g', 'h', 'i', 'j', 'k'])
>>> d.rotate(-1)                     # left rotation
>>> d
deque(['g', 'h', 'i', 'j', 'k', 'l'])
>>> deque(reversed(d))               # make a new deque in reverse order
deque(['l', 'k', 'j', 'i', 'h', 'g'])
>>> d.clear()                        # empty the deque
>>> d.pop()                          # cannot pop from an empty deque
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in -toplevel-
    d.pop()
IndexError: pop from an empty deque

>>> d.extendleft('abc')              # extendleft() reverses the input order
>>> d
deque(['c', 'b', 'a'])



>>> def delete_nth(d, n):
...     d.rotate(-n)
...     d.popleft()
...     d.rotate(n)
...
>>> d = deque('abcdef')
>>> delete_nth(d, 2)   # remove the entry at d[2]
>>> d
deque(['a', 'b', 'd', 'e', 'f'])



>>> def roundrobin(*iterables):
...     pending = deque(iter(i) for i in iterables)
...     while pending:
...         task = pending.popleft()
...         try:
...             yield next(task)
...         except StopIteration:
...             continue
...         pending.append(task)
...

>>> for value in roundrobin('abc', 'd', 'efgh'):
...     print(value)
...
a
d
e
b
f
c
g
h


>>> def maketree(iterable):
...     d = deque(iterable)
...     while len(d) > 1:
...         pair = [d.popleft(), d.popleft()]
...         d.append(pair)
...     return list(d)
...
>>> print(maketree('abcdefgh'))
[[[['a', 'b'], ['c', 'd']], [['e', 'f'], ['g', 'h']]]]

"""


#==============================================================================

__test__ = {'libreftest' : libreftest}

def test_main(verbose=None):
    import sys
    test_classes = (
        TestBasic,
        TestVariousIteratorArgs,
        TestSubclass,
        TestSubclassWithKwargs,
        TestSequence,
    )

    support.run_unittest(*test_classes)

    # verify reference counting
    if verbose and hasattr(sys, "gettotalrefcount"):
        import gc
        counts = [None] * 5
        for i in range(len(counts)):
            support.run_unittest(*test_classes)
            gc.collect()
            counts[i] = sys.gettotalrefcount()
        print(counts)

    # doctests
    from test import test_deque
    support.run_doctest(test_deque, verbose)

if __name__ == "__main__":
    test_main(verbose=True)


Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
22 Jul 2025 4.10 AM
root / linksafe
0755
__pycache__
--
22 Jul 2025 4.13 AM
root / linksafe
0755
audiodata
--
22 Jul 2025 4.13 AM
root / linksafe
0755
capath
--
22 Jul 2025 4.13 AM
root / linksafe
0755
cjkencodings
--
22 Jul 2025 4.13 AM
root / linksafe
0755
data
--
22 Jul 2025 4.13 AM
root / linksafe
0755
decimaltestdata
--
22 Jul 2025 4.13 AM
root / linksafe
0755
dtracedata
--
22 Jul 2025 4.13 AM
root / linksafe
0755
eintrdata
--
22 Jul 2025 4.13 AM
root / linksafe
0755
encoded_modules
--
22 Jul 2025 4.13 AM
root / linksafe
0755
imghdrdata
--
22 Jul 2025 4.13 AM
root / linksafe
0755
libregrtest
--
22 Jul 2025 4.13 AM
root / linksafe
0755
sndhdrdata
--
22 Jul 2025 4.13 AM
root / linksafe
0755
subprocessdata
--
22 Jul 2025 4.13 AM
root / linksafe
0755
support
--
22 Jul 2025 4.13 AM
root / linksafe
0755
test_asyncio
--
22 Jul 2025 4.13 AM
root / linksafe
0755
test_email
--
22 Jul 2025 4.13 AM
root / linksafe
0755
test_import
--
22 Jul 2025 4.13 AM
root / linksafe
0755
test_importlib
--
22 Jul 2025 4.13 AM
root / linksafe
0755
test_json
--
22 Jul 2025 4.13 AM
root / linksafe
0755
test_peg_generator
--
22 Jul 2025 4.13 AM
root / linksafe
0755
test_tools
--
22 Jul 2025 4.13 AM
root / linksafe
0755
test_warnings
--
22 Jul 2025 4.13 AM
root / linksafe
0755
test_zoneinfo
--
22 Jul 2025 4.13 AM
root / linksafe
0755
tracedmodules
--
22 Jul 2025 4.13 AM
root / linksafe
0755
xmltestdata
--
22 Jul 2025 4.13 AM
root / linksafe
0755
ziptestdata
--
22 Jul 2025 4.13 AM
root / linksafe
0755
Sine-1000Hz-300ms.aif
60.25 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
__init__.py
0.046 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
__main__.py
0.04 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
_test_multiprocessing.py
187.16 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
_typed_dict_helper.py
0.482 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
allsans.pem
9.868 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ann_module.py
1.078 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ann_module2.py
0.507 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ann_module3.py
0.438 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ann_module5.py
0.197 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ann_module6.py
0.135 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ann_module7.py
0.288 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
audiotest.au
27.484 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
audiotests.py
12.101 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
audit-tests.py
9.886 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
autotest.py
0.204 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
bad_coding.py
0.023 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
bad_coding2.py
0.029 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
bad_getattr.py
0.06 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
bad_getattr2.py
0.075 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
bad_getattr3.py
0.136 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badcert.pem
1.883 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badkey.pem
2.111 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badsyntax_3131.py
0.031 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badsyntax_future10.py
0.093 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badsyntax_future3.py
0.168 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badsyntax_future4.py
0.149 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badsyntax_future5.py
0.18 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badsyntax_future6.py
0.157 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badsyntax_future7.py
0.191 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badsyntax_future8.py
0.119 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badsyntax_future9.py
0.139 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
badsyntax_pep3120.py
0.014 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
bisect_cmd.py
5.226 KB
3 Jun 2025 6.47 PM
root / linksafe
0755
cfgparser.1
0.065 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
cfgparser.2
19.016 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
cfgparser.3
1.55 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
clinic.test
94.64 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
cmath_testcases.txt
141.047 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
coding20731.py
0.021 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
curses_tests.py
1.225 KB
3 Jun 2025 6.47 PM
root / linksafe
0755
dataclass_module_1.py
0.817 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
dataclass_module_1_str.py
0.815 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
dataclass_module_2.py
0.738 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
dataclass_module_2_str.py
0.736 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
dataclass_textanno.py
0.123 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
datetimetester.py
245.601 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
dis_module.py
0.074 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
doctest_aliases.py
0.234 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
double_const.py
1.184 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
empty.vbs
0.068 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
exception_hierarchy.txt
1.779 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ffdh3072.pem
2.16 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
final_a.py
0.401 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
final_b.py
0.401 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
floating_points.txt
15.92 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
fork_wait.py
2.174 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
formatfloat_testcases.txt
7.451 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
future_test1.py
0.224 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
future_test2.py
0.146 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
gdb_sample.py
0.149 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
good_getattr.py
0.193 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
idnsans.pem
9.713 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ieee754.txt
3.206 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
imp_dummy.py
0.062 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
inspect_fodder.py
1.882 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
inspect_fodder2.py
3.381 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
keycert.passwd.pem
4.126 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
keycert.pem
3.963 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
keycert2.pem
3.982 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
keycert3.pem
9.227 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
keycert4.pem
9.24 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
keycertecc.pem
5.505 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
list_tests.py
17.052 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
lock_tests.py
30.076 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
mailcap.txt
1.24 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
make_ssl_certs.py
9.247 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
mapping_tests.py
21.835 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
math_testcases.txt
23.186 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
memory_watchdog.py
0.839 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
mime.types
47.372 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
mock_socket.py
3.702 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
mod_generics_cache.py
1.133 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
mp_fork_bomb.py
0.438 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
mp_preload.py
0.343 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
multibytecodec_support.py
14.169 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
nokia.pem
1.878 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
nosan.pem
7.538 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
nullbytecert.pem
5.308 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
nullcert.pem
0 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
pickletester.py
136.562 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
profilee.py
2.97 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
pstats.pck
65.046 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
pycacert.pem
5.531 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
pycakey.pem
2.426 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
pyclbr_input.py
0.633 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
pydoc_mod.py
0.915 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
pydocfodder.py
6.184 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
pythoninfo.py
22.214 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
randv2_32.pck
7.341 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
randv2_64.pck
7.192 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
randv3.pck
7.816 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
re_tests.py
25.941 KB
3 Jun 2025 6.47 PM
root / linksafe
0755
recursion.tar
0.504 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
regrtest.py
1.275 KB
3 Jun 2025 6.47 PM
root / linksafe
0755
relimport.py
0.026 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
reperf.py
0.525 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
revocation.crl
0.781 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
sample_doctest.py
1.017 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
sample_doctest_no_docstrings.py
0.222 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
sample_doctest_no_doctests.py
0.263 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
secp384r1.pem
0.25 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
selfsigned_pythontestdotnet.pem
2.08 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
seq_tests.py
14.869 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
sgml_input.html
8.1 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
signalinterproctester.py
2.737 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
sortperf.py
4.693 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ssl_cert.pem
1.533 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ssl_key.passwd.pem
2.592 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ssl_key.pem
2.43 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ssl_servers.py
7.108 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
ssltests.py
1.026 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
string_tests.py
66.547 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
talos-2019-0758.pem
1.299 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test___all__.py
4.497 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test___future__.py
2.364 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test__locale.py
7.831 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test__opcode.py
3.034 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test__osx_support.py
13.655 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test__xxsubinterpreters.py
79.007 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_abc.py
19.382 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_abstract_numbers.py
1.492 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_aifc.py
17.698 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_argparse.py
180.91 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_array.py
51.672 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_asdl_parser.py
4.141 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ast.py
98.842 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_asyncgen.py
33.577 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_asynchat.py
9.16 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_asyncore.py
25.84 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_atexit.py
5.812 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_audioop.py
28.236 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_audit.py
4.298 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_augassign.py
7.684 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_base64.py
29.884 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_baseexception.py
6.864 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_bdb.py
41.405 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_bigaddrspace.py
2.83 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_bigmem.py
44.783 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_binascii.py
19.243 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_binhex.py
1.962 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_binop.py
14.14 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_bisect.py
13.633 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_bool.py
12.438 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_buffer.py
160.272 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_bufio.py
2.536 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_builtin.py
81.008 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_bytes.py
74.648 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_bz2.py
36.947 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_c_locale_coercion.py
18.922 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_calendar.py
49.017 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_call.py
24.092 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_capi.py
36.899 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_cgi.py
22.146 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_cgitb.py
2.531 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_charmapcodec.py
1.678 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_check_c_globals.py
0.731 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_class.py
17.413 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_clinic.py
21.509 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_cmath.py
24.066 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_cmd.py
6.103 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_cmd_line.py
36.549 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_cmd_line_script.py
32.473 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_code.py
12.471 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_code_module.py
5.514 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codeccallbacks.py
49.049 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecencodings_cn.py
3.857 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecencodings_hk.py
0.685 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecencodings_iso2022.py
3.654 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecencodings_jp.py
4.792 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecencodings_kr.py
2.957 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecencodings_tw.py
0.665 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecmaps_cn.py
0.729 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecmaps_hk.py
0.377 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecmaps_jp.py
1.703 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecmaps_kr.py
1.16 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecmaps_tw.py
0.688 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codecs.py
133.019 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_codeop.py
8.252 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_collections.py
90.131 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_colorsys.py
3.835 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_compare.py
3.738 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_compile.py
37.606 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_compileall.py
45.531 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_complex.py
32.192 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_concurrent_futures.py
54.109 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_configparser.py
84.926 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_contains.py
3.352 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_context.py
30.627 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_contextlib.py
33.656 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_contextlib_async.py
16.191 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_copy.py
25.998 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_copyreg.py
4.393 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_coroutines.py
62.892 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_cprofile.py
6.325 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_crashers.py
1.169 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_crypt.py
4.138 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_csv.py
49.033 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ctypes.py
0.18 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_curses.py
46.277 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dataclasses.py
109.399 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_datetime.py
2.299 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dbm.py
6.068 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dbm_dumb.py
10.613 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dbm_gnu.py
6.217 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dbm_ndbm.py
5.054 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_decimal.py
209.316 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_decorators.py
10.922 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_defaultdict.py
7.17 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_deque.py
34.518 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_descr.py
191.293 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_descrtut.py
11.553 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_devpoll.py
4.442 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dict.py
46.263 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dict_version.py
6.076 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dictcomps.py
5.148 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dictviews.py
13.487 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_difflib.py
21.457 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_difflib_expect.html
100.846 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dis.py
53.239 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_distutils.py
0.414 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_doctest.py
99.279 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_doctest.txt
0.293 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_doctest2.py
2.358 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_doctest2.txt
0.383 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_doctest3.txt
0.08 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_doctest4.txt
0.238 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_docxmlrpc.py
8.674 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dtrace.py
5.138 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dynamic.py
4.291 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_dynamicclassattribute.py
9.565 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_eintr.py
1.321 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_embed.py
51.468 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ensurepip.py
9.828 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_enum.py
119.176 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_enumerate.py
8.463 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_eof.py
2.432 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_epoll.py
9.138 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_errno.py
1.044 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_exception_hierarchy.py
7.432 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_exception_variations.py
3.855 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_exceptions.py
57.563 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_extcall.py
14.048 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_faulthandler.py
28.229 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_fcntl.py
6.493 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_file.py
11.671 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_file_eintr.py
10.6 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_filecmp.py
8.607 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_fileinput.py
37.335 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_fileio.py
19.882 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_finalization.py
14.657 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_float.py
65.488 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_flufl.py
1.623 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_fnmatch.py
6.771 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_fork1.py
3.238 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_format.py
23.901 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_fractions.py
29.591 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_frame.py
5.675 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_frozen.py
0.921 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_fstring.py
51.385 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ftplib.py
41.745 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_funcattrs.py
13.545 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_functools.py
102.339 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_future.py
12.973 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_future3.py
0.479 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_future4.py
0.217 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_future5.py
0.498 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_gc.py
45.835 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_gdb.py
42.537 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_generator_stop.py
0.921 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_generators.py
63.493 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_genericalias.py
14.976 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_genericclass.py
9.282 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_genericpath.py
21.692 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_genexps.py
7.585 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_getargs2.py
49.997 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_getopt.py
6.748 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_getpass.py
6.286 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_gettext.py
41.381 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_glob.py
13.032 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_global.py
1.342 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_grammar.py
60.613 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_graphlib.py
8.343 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_grp.py
3.543 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_gzip.py
30.175 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_hash.py
11.447 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_hashlib.py
43.63 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_heapq.py
16.396 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_hmac.py
24.941 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_html.py
4.234 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_htmlparser.py
33.781 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_http_cookiejar.py
78.166 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_http_cookies.py
20.016 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_httplib.py
78.022 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_httpservers.py
54.671 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_idle.py
0.977 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_imaplib.py
41.658 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_imghdr.py
4.655 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_imp.py
17.733 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_index.py
8.371 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_inspect.py
156.005 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_int.py
28.414 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_int_literal.py
6.888 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_io.py
166.659 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ioctl.py
3.203 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ipaddress.py
125.413 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_isinstance.py
11.563 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_iter.py
32.455 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_iterlen.py
7.096 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_itertools.py
101.467 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_keyword.py
1.392 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_keywordonlyarg.py
6.853 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_kqueue.py
8.756 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_largefile.py
9.943 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_lib2to3.py
0.258 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_linecache.py
9.456 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_list.py
7.98 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_listcomps.py
4.167 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_lltrace.py
0.989 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_locale.py
23.823 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_logging.py
189.271 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_long.py
53.41 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_longexp.py
0.228 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_lzma.py
87.944 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_mailbox.py
91.563 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_mailcap.py
10.03 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_marshal.py
20.571 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_math.py
87.396 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_memoryio.py
31.483 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_memoryview.py
17.783 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_metaclass.py
6.212 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_mimetypes.py
13.164 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_minidom.py
68.065 KB
19 Jun 2025 11.56 AM
root / linksafe
0644
test_mmap.py
31.018 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_module.py
10.218 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_modulefinder.py
12.199 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_msilib.py
5.027 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_multibytecodec.py
14.99 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_multiprocessing_fork.py
0.466 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_multiprocessing_forkserver.py
0.383 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_multiprocessing_main_handling.py
11.446 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_multiprocessing_spawn.py
0.271 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_named_expressions.py
20.128 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_netrc.py
5.962 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_nis.py
1.129 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_nntplib.py
62.384 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ntpath.py
44.368 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_numeric_tower.py
7.18 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_opcodes.py
3.605 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_openpty.py
0.586 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_operator.py
23.903 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_optparse.py
60.946 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ordered_dict.py
31.473 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_os.py
159.481 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ossaudiodev.py
7.028 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_osx_env.py
1.297 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_parser.py
37.805 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pathlib.py
104.53 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pdb.py
60.304 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_peepholer.py
20.218 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_peg_parser.py
23.309 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pickle.py
18.956 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_picklebuffer.py
4.958 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pickletools.py
4.338 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pipes.py
6.55 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pkg.py
9.594 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pkgutil.py
22.737 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_platform.py
16.547 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_plistlib.py
38.684 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_poll.py
7.18 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_popen.py
2.002 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_poplib.py
17.355 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_positional_only_arg.py
17.768 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_posix.py
85.964 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_posixpath.py
41.265 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pow.py
5.439 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pprint.py
45.342 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_print.py
7.37 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_profile.py
8.665 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_property.py
9.454 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pstats.py
3.558 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pty.py
11.994 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pulldom.py
12.664 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pwd.py
4.168 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_py_compile.py
10.854 KB
19 Jun 2025 11.56 AM
root / linksafe
0644
test_pyclbr.py
9.887 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pydoc.py
59.934 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_pyexpat.py
28.42 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_queue.py
20.418 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_quopri.py
7.775 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_raise.py
13.442 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_random.py
51.567 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_range.py
24.335 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_re.py
111.783 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_readline.py
13.295 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_regrtest.py
47.815 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_repl.py
3.955 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_reprlib.py
15.115 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_resource.py
6.957 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_richcmp.py
11.91 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_rlcompleter.py
7.098 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_robotparser.py
10.834 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_runpy.py
33.802 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_sax.py
48.191 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_sched.py
6.393 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_scope.py
19.831 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_script_helper.py
5.777 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_secrets.py
4.278 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_select.py
2.693 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_selectors.py
18.232 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_set.py
70.159 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_setcomps.py
4.146 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_shelve.py
5.958 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_shlex.py
13.478 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_shutil.py
104.245 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_signal.py
47.995 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_site.py
26.716 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_slice.py
8.247 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_smtpd.py
40.323 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_smtplib.py
59.724 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_smtpnet.py
2.941 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_sndhdr.py
1.426 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_socket.py
250.242 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_socketserver.py
17.688 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_sort.py
13.425 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_source_encoding.py
7.995 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_spwd.py
2.709 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_sqlite.py
0.926 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ssl.py
215.942 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_startfile.py
1.293 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_stat.py
8.298 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_statistics.py
109.113 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_strftime.py
7.543 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_string.py
19.797 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_string_literals.py
9.97 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_stringprep.py
3.04 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_strptime.py
34.424 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_strtod.py
20.056 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_struct.py
35.179 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_structmembers.py
4.703 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_structseq.py
3.871 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_subclassinit.py
8.118 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_subprocess.py
152.705 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_sunau.py
5.981 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_sundry.py
2.073 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_super.py
9.598 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_support.py
25.3 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_symbol.py
2.059 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_symtable.py
9.088 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_syntax.py
34.08 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_sys.py
55.282 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_sys_setprofile.py
12.31 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_sys_settrace.py
48.637 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_sysconfig.py
17.014 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_syslog.py
1.15 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_tabnanny.py
13.405 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_tarfile.py
165.705 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_tcl.py
31.272 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_telnetlib.py
12.748 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_tempfile.py
59.316 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_textwrap.py
38.838 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_thread.py
8.425 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_threadedtempfile.py
1.854 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_threading.py
52.542 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_threading_local.py
6.618 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_threadsignals.py
10.057 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_time.py
39.884 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_timeit.py
14.799 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_timeout.py
11.006 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_tix.py
0.91 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_tk.py
0.489 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_tokenize.py
63.786 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_trace.py
19.983 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_traceback.py
49.588 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_tracemalloc.py
39.119 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ttk_guionly.py
0.919 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ttk_textonly.py
16.674 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_tuple.py
18.854 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_turtle.py
12.659 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_type_comments.py
10.525 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_typechecks.py
2.554 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_types.py
59.861 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_typing.py
140.021 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_ucn.py
9.497 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_unary.py
1.626 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_unicode.py
135.537 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_unicode_file.py
5.688 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_unicode_file_functions.py
6.653 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_unicode_identifiers.py
0.961 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_unicodedata.py
15.634 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_unittest.py
0.221 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_univnewlines.py
3.83 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_unpack.py
3.014 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_unpack_ex.py
10.063 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_unparse.py
18.229 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_urllib.py
69.918 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_urllib2.py
78.671 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_urllib2_localnet.py
25.406 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_urllib2net.py
12.701 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_urllib_response.py
1.892 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_urllibnet.py
9.283 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_urlparse.py
74.601 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_userdict.py
7.563 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_userlist.py
1.969 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_userstring.py
2.403 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_utf8_mode.py
9.216 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_utf8source.py
1.147 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_uu.py
8.846 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_uuid.py
39.951 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_venv.py
25.643 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_wait3.py
1.806 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_wait4.py
1.161 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_wave.py
6.528 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_weakref.py
74.308 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_weakset.py
15.415 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_webbrowser.py
10.471 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_winconsoleio.py
6.558 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_winreg.py
21.267 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_winsound.py
4.567 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_with.py
25.99 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_wsgiref.py
30.148 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_xdrlib.py
2.174 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_xml_dom_minicompat.py
4.182 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_xml_etree.py
158.852 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_xml_etree_c.py
8.464 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_xmlrpc.py
57.563 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_xmlrpc_net.py
0.932 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_xxtestfuzz.py
0.654 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_yield_from.py
30.014 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_zipapp.py
15.922 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_zipfile.py
123.155 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_zipfile64.py
5.803 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_zipimport.py
29.298 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_zipimport_support.py
10.438 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
test_zlib.py
34.729 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
testcodec.py
1.021 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
testtar.tar
425 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
tf_inherit_check.py
0.697 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
time_hashlib.py
2.874 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
tokenize_tests-latin1-coding-cookie-and-utf8-bom-sig.txt
0.433 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
tokenize_tests-no-coding-cookie-and-utf8-bom-sig-only.txt
0.295 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
tokenize_tests-utf8-coding-cookie-and-no-utf8-bom-sig.txt
0.411 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
tokenize_tests-utf8-coding-cookie-and-utf8-bom-sig.txt
0.318 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
tokenize_tests.txt
2.653 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
win_console_handler.py
1.383 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
xmltests.py
0.487 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
zip_cp437_header.zip
0.264 KB
3 Jun 2025 6.47 PM
root / linksafe
0644
zipdir.zip
0.365 KB
3 Jun 2025 6.47 PM
root / linksafe
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF