SILENT KILLERPanel

Current Path: > > opt > > hc_python > > lib > python3.12 > site-packages > > greenlet > tests


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt//hc_python//lib/python3.12/site-packages//greenlet/tests

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
__init__.py File 9361 bytes May 23 2025 10:34:46.
_test_extension.c File 5773 bytes May 23 2025 10:34:46.
_test_extension.cpython-312-x86_64-linux-gnu.so File 17256 bytes May 23 2025 10:34:46.
_test_extension_cpp.cpp File 6565 bytes May 23 2025 10:34:46.
_test_extension_cpp.cpython-312-x86_64-linux-gnu.so File 58384 bytes May 23 2025 10:34:46.
fail_clearing_run_switches.py File 1263 bytes May 23 2025 10:34:46.
fail_cpp_exception.py File 985 bytes May 23 2025 10:34:46.
fail_initialstub_already_started.py File 1961 bytes May 23 2025 10:34:46.
fail_slp_switch.py File 524 bytes May 23 2025 10:34:46.
fail_switch_three_greenlets.py File 956 bytes May 23 2025 10:34:46.
fail_switch_three_greenlets2.py File 1285 bytes May 23 2025 10:34:46.
fail_switch_two_greenlets.py File 817 bytes May 23 2025 10:34:46.
leakcheck.py File 11964 bytes May 23 2025 10:34:46.
test_contextvars.py File 10541 bytes May 23 2025 10:34:46.
test_cpp.py File 2736 bytes May 23 2025 10:34:46.
test_extension_interface.py File 3829 bytes May 23 2025 10:34:46.
test_gc.py File 2923 bytes May 23 2025 10:34:46.
test_generator.py File 1240 bytes May 23 2025 10:34:46.
test_generator_nested.py File 3718 bytes May 23 2025 10:34:46.
test_greenlet.py File 46251 bytes May 23 2025 10:34:46.
test_greenlet_trash.py File 7947 bytes May 23 2025 10:34:46.
test_leaks.py File 17714 bytes May 23 2025 10:34:46.
test_stack_saved.py File 446 bytes May 23 2025 10:34:46.
test_throw.py File 3712 bytes May 23 2025 10:34:46.
test_tracing.py File 8250 bytes May 23 2025 10:34:46.
test_version.py File 1339 bytes May 23 2025 10:34:46.
test_weakref.py File 883 bytes May 23 2025 10:34:46.

Reading File: //opt//hc_python//lib/python3.12/site-packages//greenlet/tests/test_generator.py

from greenlet import greenlet

from . import TestCase

class genlet(greenlet):
    parent = None
    def __init__(self, *args, **kwds):
        self.args = args
        self.kwds = kwds

    def run(self):
        fn, = self.fn
        fn(*self.args, **self.kwds)

    def __iter__(self):
        return self

    def __next__(self):
        self.parent = greenlet.getcurrent()
        result = self.switch()
        if self:
            return result

        raise StopIteration

    next = __next__


def Yield(value):
    g = greenlet.getcurrent()
    while not isinstance(g, genlet):
        if g is None:
            raise RuntimeError('yield outside a genlet')
        g = g.parent
    g.parent.switch(value)


def generator(func):
    class Generator(genlet):
        fn = (func,)
    return Generator

# ____________________________________________________________


class GeneratorTests(TestCase):
    def test_generator(self):
        seen = []

        def g(n):
            for i in range(n):
                seen.append(i)
                Yield(i)
        g = generator(g)
        for _ in range(3):
            for j in g(5):
                seen.append(j)
        self.assertEqual(seen, 3 * [0, 0, 1, 1, 2, 2, 3, 3, 4, 4])

SILENT KILLER Tool