winloop 0.1.6__tar.gz → 0.1.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {winloop-0.1.6 → winloop-0.1.7}/Makefile +1 -1
- {winloop-0.1.6 → winloop-0.1.7}/PKG-INFO +9 -7
- {winloop-0.1.6 → winloop-0.1.7}/README.md +3 -3
- {winloop-0.1.6 → winloop-0.1.7}/pyproject.toml +7 -4
- {winloop-0.1.6 → winloop-0.1.7}/setup.py +12 -3
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_aiodns.py +8 -3
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_aiohttp.py +5 -1
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_aiomultiprocess.py +7 -7
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_base.py +8 -1
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_dns.py +14 -2
- winloop-0.1.7/tests/test_playwright.py +38 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_process.py +2 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_tcp.py +19 -13
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_unix.py +24 -16
- winloop-0.1.7/vendor/libuv/.github/dependabot.yml +7 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/.github/workflows/CI-unix.yml +9 -4
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/.github/workflows/sanitizer.yml +2 -2
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/CMakeLists.txt +1 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/README.md +12 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv.h +11 -11
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/random.c +1 -1
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/threadpool.c +1 -1
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/core.c +7 -4
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/fs.c +7 -4
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/getaddrinfo.c +1 -1
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/getnameinfo.c +1 -1
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/internal.h +12 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/linux.c +2 -2
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/process.c +2 -1
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/stream.c +4 -4
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/tcp.c +18 -4
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/udp.c +2 -2
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/uv-common.h +3 -3
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/error.c +1 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/fs.c +2 -2
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/getaddrinfo.c +2 -2
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/getnameinfo.c +2 -2
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/pipe.c +13 -17
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/req-inl.h +4 -4
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/stream.c +1 -1
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/tcp.c +9 -9
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/tty.c +3 -3
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/udp.c +3 -3
- {winloop-0.1.6 → winloop-0.1.7}/winloop/_testbase.py +4 -2
- {winloop-0.1.6 → winloop-0.1.7}/winloop/_version.py +1 -1
- {winloop-0.1.6 → winloop-0.1.7}/winloop/dns.pyx +25 -17
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/handle.pyx +1 -1
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/pipe.pyx +22 -1
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/poll.pxd +1 -1
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/poll.pyx +1 -1
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/stream.pyx +11 -3
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/udp.pyx +5 -6
- {winloop-0.1.6 → winloop-0.1.7}/winloop/includes/compat.h +20 -0
- winloop-0.1.7/winloop/includes/consts.pxi +32 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/includes/fork_handler.h +6 -1
- {winloop-0.1.6 → winloop-0.1.7}/winloop/includes/python.pxd +2 -2
- {winloop-0.1.6 → winloop-0.1.7}/winloop/includes/stdlib.pxi +1 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/includes/uv.pxd +3 -2
- {winloop-0.1.6 → winloop-0.1.7}/winloop/loop.c +17892 -16291
- {winloop-0.1.6 → winloop-0.1.7}/winloop/loop.pxd +1 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/loop.pyx +31 -10
- {winloop-0.1.6 → winloop-0.1.7}/winloop.egg-info/PKG-INFO +9 -7
- {winloop-0.1.6 → winloop-0.1.7}/winloop.egg-info/SOURCES.txt +2 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop.egg-info/requires.txt +5 -7
- winloop-0.1.6/winloop/includes/consts.pxi +0 -25
- {winloop-0.1.6 → winloop-0.1.7}/.flake8 +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/LICENSE-APACHE +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/LICENSE-MIT +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/MANIFEST.in +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/examples/bench/echoclient.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/examples/bench/echoserver.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/examples/bench/rlserver.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/mypy.ini +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/setup.cfg +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/__init__.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/__main__.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/certs/ssl_cert.pem +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/certs/ssl_key.pem +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_context.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_cython.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_dealloc.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_executors.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_fs_event.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_libuv_api.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_pipes.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_process_spawning.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_regr1.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_runner.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_signals.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_sockets.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_sourcecode.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_testbase.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/tests/test_udp.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/.git +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/.gitattributes +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/.github/ISSUE_TEMPLATE.md +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/.github/workflows/CI-docs.yml +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/.github/workflows/CI-sample.yml +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/.github/workflows/CI-win.yml +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/.gitignore +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/.mailmap +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/.readthedocs.yaml +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/AUTHORS +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/CONTRIBUTING.md +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/ChangeLog +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/LICENSE +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/LICENSE-docs +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/LICENSE-extra +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/LINKS.md +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/MAINTAINERS.md +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/Makefile.am +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/SECURITY.md +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/SUPPORTED_PLATFORMS.md +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/autogen.sh +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/cmake-toolchains/cross-mingw32.cmake +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/configure.ac +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/aix.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/bsd.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/darwin.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/errno.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/linux.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/os390.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/posix.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/sunos.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/threadpool.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/tree.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/unix.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/version.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/include/uv/win.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/libuv-static.pc.in +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/libuv.pc.in +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/m4/.gitignore +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/m4/as_case.m4 +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/m4/ax_pthread.m4 +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/m4/libuv-check-flags.m4 +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/m4/libuv-check-versions.m4 +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/fs-poll.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/heap-inl.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/idna.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/idna.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/inet.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/queue.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/strscpy.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/strscpy.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/strtok.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/strtok.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/thread-common.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/timer.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/aix-common.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/aix.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/async.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/bsd-ifaddrs.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/bsd-proctitle.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/cygwin.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/darwin-proctitle.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/darwin-stub.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/darwin.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/dl.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/freebsd.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/fsevents.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/haiku.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/hurd.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/ibmi.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/kqueue.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/loop-watcher.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/loop.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/netbsd.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/no-fsevents.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/no-proctitle.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/openbsd.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/os390-proctitle.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/os390-syscalls.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/os390-syscalls.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/os390.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/pipe.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/poll.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/posix-hrtime.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/posix-poll.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/procfs-exepath.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/proctitle.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/qnx.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/random-devurandom.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/random-getentropy.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/random-getrandom.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/random-sysctl-linux.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/signal.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/sunos.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/sysinfo-loadavg.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/sysinfo-memory.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/thread.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/unix/tty.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/uv-common.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/uv-data-getter-setters.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/version.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/async.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/atomicops-inl.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/core.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/detect-wakeup.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/dl.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/fs-event.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/fs-fd-hash-inl.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/handle-inl.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/handle.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/internal.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/loop-watcher.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/poll.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/process-stdio.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/process.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/signal.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/snprintf.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/stream-inl.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/thread.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/util.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/winapi.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/winapi.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/winsock.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/src/win/winsock.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-async-pummel.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-async.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-fs-stat.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-getaddrinfo.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-list.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-loop-count.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-million-async.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-million-timers.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-multi-accept.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-ping-pongs.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-ping-udp.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-pound.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-pump.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-queue-work.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-sizes.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-spawn.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-tcp-write-batch.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-thread.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/benchmark-udp-pummel.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/blackhole-server.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/echo-server.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/fixtures/empty_file +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/fixtures/load_error.node +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/fixtures/lorem_ipsum.txt +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/fixtures/one_file/one_file +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/run-benchmarks.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/run-tests.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/runner-unix.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/runner-unix.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/runner-win.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/runner-win.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/runner.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/runner.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/task.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-active.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-async-null-cb.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-async.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-barrier.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-callback-stack.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-close-fd.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-close-order.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-condvar.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-connect-unspecified.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-connection-fail.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-cwd-and-chdir.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-default-loop-close.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-delayed-accept.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-dlerror.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-eintr-handling.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-embed.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-emfile.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-env-vars.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-error.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-fail-always.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-fork.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-fs-copyfile.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-fs-event.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-fs-fd-hash.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-fs-open-flags.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-fs-poll.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-fs-readdir.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-fs.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-get-currentexe.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-get-loadavg.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-get-memory.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-get-passwd.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-getaddrinfo.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-gethostname.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-getnameinfo.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-getsockname.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-getters-setters.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-gettimeofday.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-handle-fileno.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-homedir.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-hrtime.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-idle.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-idna.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-iouring-pollhup.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-ip-name.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-ip4-addr.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-ip6-addr.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-ipc-heavy-traffic-deadlock-bug.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-ipc-send-recv.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-ipc.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-list.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-loop-alive.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-loop-close.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-loop-configure.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-loop-handles.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-loop-stop.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-loop-time.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-metrics.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-multiple-listen.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-mutexes.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-not-readable-nor-writable-on-read-error.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-not-writable-after-shutdown.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-osx-select.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pass-always.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-ping-pong.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pipe-bind-error.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pipe-close-stdout-read-stdin.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pipe-connect-error.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pipe-connect-multiple.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pipe-connect-prepare.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pipe-getsockname.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pipe-pending-instances.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pipe-sendmsg.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pipe-server-close.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pipe-set-fchmod.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-pipe-set-non-blocking.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-platform-output.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-poll-close-doesnt-corrupt-stack.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-poll-close.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-poll-closesocket.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-poll-multiple-handles.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-poll-oob.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-poll.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-process-priority.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-process-title-threadsafe.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-process-title.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-queue-foreach-delete.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-random.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-readable-on-eof.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-ref.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-run-nowait.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-run-once.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-semaphore.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-shutdown-close.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-shutdown-eof.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-shutdown-simultaneous.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-shutdown-twice.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-signal-multiple-loops.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-signal-pending-on-close.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-signal.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-socket-buffer-size.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-spawn.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-stdio-over-pipes.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-strscpy.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-strtok.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-alloc-cb-fail.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-bind-error.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-bind6-error.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-close-accept.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-close-after-read-timeout.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-close-reset.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-close-while-connecting.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-close.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-connect-error-after-write.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-connect-error.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-connect-timeout.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-connect6-error.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-create-socket-early.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-flags.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-oob.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-open.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-read-stop-start.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-read-stop.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-reuseport.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-rst.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-shutdown-after-write.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-try-write-error.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-try-write.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-unexpected-read.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-write-after-connect.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-write-fail.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-write-in-a-row.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-write-queue-order.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-write-to-half-open-connection.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tcp-writealot.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-test-macros.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-thread-affinity.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-thread-equal.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-thread-priority.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-thread.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-threadpool-cancel.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-threadpool.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-timer-again.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-timer-from-check.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-timer.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tmpdir.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tty-duplicate-key.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tty-escape-sequence-processing.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-tty.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-alloc-cb-fail.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-bind.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-connect.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-connect6.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-create-socket-early.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-dgram-too-big.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-ipv6.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-mmsg.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-multicast-interface.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-multicast-interface6.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-multicast-join.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-multicast-join6.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-multicast-ttl.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-open.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-options.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-recv-in-a-row.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-reuseport.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-send-and-recv.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-send-hang-loop.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-send-immediate.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-send-unreachable.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-sendmmsg-error.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-udp-try-send.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-uname.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-walk-handles.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/test/test-watcher-cross-stop.c +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/tools/make_dist_html.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/tools/vswhere_usability_wrapper.cmd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/tsansupp.txt +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/vendor/libuv/uv_win_longpath.manifest +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/__init__.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/_noop.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/cbhandles.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/cbhandles.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/errors.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/async_.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/async_.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/basetransport.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/basetransport.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/check.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/check.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/fsevent.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/fsevent.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/handle.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/idle.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/idle.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/pipe.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/process.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/process.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/stream.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/streamserver.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/streamserver.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/tcp.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/tcp.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/timer.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/timer.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/handles/udp.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/includes/__init__.py +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/includes/debug.h +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/includes/debug.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/includes/flowcontrol.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/includes/system.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/loop.pyi +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/lru.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/pseudosock.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/py.typed +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/request.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/request.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/server.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/server.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/sslproto.pxd +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop/sslproto.pyx +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop.egg-info/dependency_links.txt +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop.egg-info/not-zip-safe +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop.egg-info/top_level.txt +0 -0
- {winloop-0.1.6 → winloop-0.1.7}/winloop.png +0 -0
|
@@ -9,7 +9,7 @@ _default: compile
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
clean:
|
|
12
|
-
rm -fr dist/ doc/_build/ *.egg-info winloop/loop.*.pyd
|
|
12
|
+
rm -fr dist/ doc/_build/ *.egg-info winloop/loop.*.pyd uvloop/loop_d.*.pyd
|
|
13
13
|
rm -fr winloop/*.c winloop/*.html winloop/*.so
|
|
14
14
|
rm -fr winloop/handles/*.html winloop/includes/*.html
|
|
15
15
|
find . -name '__pycache__' | xargs rm -rf
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: winloop
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.7
|
|
4
4
|
Summary: Windows version of uvloop
|
|
5
5
|
Author: Vizonex
|
|
6
6
|
License: MIT License
|
|
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
24
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
24
25
|
Classifier: Topic :: System :: Networking
|
|
25
26
|
Requires-Python: >=3.8.0
|
|
@@ -27,14 +28,15 @@ Description-Content-Type: text/markdown
|
|
|
27
28
|
License-File: LICENSE-APACHE
|
|
28
29
|
License-File: LICENSE-MIT
|
|
29
30
|
Provides-Extra: test
|
|
30
|
-
Requires-Dist: aiohttp>=3.
|
|
31
|
-
Requires-Dist: aiohttp==3.9.0b0; python_version >= "3.12" and extra == "test"
|
|
31
|
+
Requires-Dist: aiohttp>=3.10.5; extra == "test"
|
|
32
32
|
Requires-Dist: flake8~=5.0; extra == "test"
|
|
33
33
|
Requires-Dist: psutil; extra == "test"
|
|
34
34
|
Requires-Dist: pycodestyle~=2.9.0; extra == "test"
|
|
35
35
|
Requires-Dist: pyOpenSSL~=23.0.0; extra == "test"
|
|
36
36
|
Requires-Dist: mypy>=0.800; extra == "test"
|
|
37
|
-
|
|
37
|
+
Provides-Extra: dev
|
|
38
|
+
Requires-Dist: setuptools>=60; extra == "dev"
|
|
39
|
+
Requires-Dist: Cython~=3.0; extra == "dev"
|
|
38
40
|
Provides-Extra: docs
|
|
39
41
|
Requires-Dist: Sphinx~=4.1.2; extra == "docs"
|
|
40
42
|
Requires-Dist: sphinxcontrib-asyncio~=0.3.0; extra == "docs"
|
|
@@ -44,8 +46,8 @@ Requires-Dist: sphinx_rtd_theme~=0.5.2; extra == "docs"
|
|
|
44
46
|
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
|
|
45
47
|
|
|
46
48
|
# Winloop
|
|
47
|
-
An Alternative library for uvloop compatibility with windows because let's face it. Window's python asyncio standard libaray is garabage
|
|
48
|
-
I never really liked the fact that I couldn't make anything run faster
|
|
49
|
+
An Alternative library for uvloop compatibility with windows because let's face it. Window's python asyncio standard libaray is garabage especially when Windows Defender decides to eat half your ram.
|
|
50
|
+
I never really liked the fact that I couldn't make anything run faster especially when you have fiber internet connections in place and you've done all the optimizations you could possibly think of. It always felt disappointing when `libuv` is available for windows [but windows was never compatible with uvloop.](https://github.com/MagicStack/uvloop/issues/14#issuecomment-575826367])
|
|
49
51
|
|
|
50
52
|
Because nobody was willing to step in after so many years of waiting, I went ahead and downloaded the source code for uvloop and started modifying the source code to be windows compatible by carefully removing and changing parts that were not made for windows. Many hours of research went into making this library exist.
|
|
51
53
|
|
|
@@ -61,7 +63,7 @@ There is a performance increase of about 5 times vs using the `WindowsSelectorEv
|
|
|
61
63
|
pip install winloop
|
|
62
64
|
```
|
|
63
65
|
|
|
64
|
-
You can also clone the
|
|
66
|
+
You can also clone the repository and build the extension yourself by running the command below if you wish to use or build this library locally, Note that you will need Cython and The Visual C++ extensions
|
|
65
67
|
to compile this library on your own.
|
|
66
68
|
|
|
67
69
|
```
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
|
|
3
3
|
|
|
4
4
|
# Winloop
|
|
5
|
-
An Alternative library for uvloop compatibility with windows because let's face it. Window's python asyncio standard libaray is garabage
|
|
6
|
-
I never really liked the fact that I couldn't make anything run faster
|
|
5
|
+
An Alternative library for uvloop compatibility with windows because let's face it. Window's python asyncio standard libaray is garabage especially when Windows Defender decides to eat half your ram.
|
|
6
|
+
I never really liked the fact that I couldn't make anything run faster especially when you have fiber internet connections in place and you've done all the optimizations you could possibly think of. It always felt disappointing when `libuv` is available for windows [but windows was never compatible with uvloop.](https://github.com/MagicStack/uvloop/issues/14#issuecomment-575826367])
|
|
7
7
|
|
|
8
8
|
Because nobody was willing to step in after so many years of waiting, I went ahead and downloaded the source code for uvloop and started modifying the source code to be windows compatible by carefully removing and changing parts that were not made for windows. Many hours of research went into making this library exist.
|
|
9
9
|
|
|
@@ -19,7 +19,7 @@ There is a performance increase of about 5 times vs using the `WindowsSelectorEv
|
|
|
19
19
|
pip install winloop
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
You can also clone the
|
|
22
|
+
You can also clone the repository and build the extension yourself by running the command below if you wish to use or build this library locally, Note that you will need Cython and The Visual C++ extensions
|
|
23
23
|
to compile this library on your own.
|
|
24
24
|
|
|
25
25
|
```
|
|
@@ -25,6 +25,7 @@ classifiers = [
|
|
|
25
25
|
"Programming Language :: Python :: 3.10",
|
|
26
26
|
"Programming Language :: Python :: 3.11",
|
|
27
27
|
"Programming Language :: Python :: 3.12",
|
|
28
|
+
"Programming Language :: Python :: 3.13",
|
|
28
29
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
29
30
|
"Topic :: System :: Networking",
|
|
30
31
|
]
|
|
@@ -37,14 +38,16 @@ test = [
|
|
|
37
38
|
# pycodestyle is a dependency of flake8, but it must be frozen because
|
|
38
39
|
# their combination breaks too often
|
|
39
40
|
# (example breakage: https://gitlab.com/pycqa/flake8/issues/427)
|
|
40
|
-
'aiohttp>=3.
|
|
41
|
-
'aiohttp==3.9.0b0; python_version >= "3.12"',
|
|
41
|
+
'aiohttp>=3.10.5',
|
|
42
42
|
'flake8~=5.0',
|
|
43
43
|
'psutil',
|
|
44
44
|
'pycodestyle~=2.9.0',
|
|
45
45
|
'pyOpenSSL~=23.0.0',
|
|
46
46
|
'mypy>=0.800',
|
|
47
|
-
|
|
47
|
+
]
|
|
48
|
+
dev = [
|
|
49
|
+
'setuptools>=60',
|
|
50
|
+
'Cython~=3.0',
|
|
48
51
|
]
|
|
49
52
|
docs = [
|
|
50
53
|
'Sphinx~=4.1.2',
|
|
@@ -56,7 +59,7 @@ docs = [
|
|
|
56
59
|
requires = [
|
|
57
60
|
"setuptools>=60",
|
|
58
61
|
"wheel",
|
|
59
|
-
"Cython
|
|
62
|
+
"Cython~=3.0",
|
|
60
63
|
]
|
|
61
64
|
build-backend = "setuptools.build_meta"
|
|
62
65
|
|
|
@@ -20,7 +20,7 @@ from setuptools.command.build_ext import build_ext
|
|
|
20
20
|
from setuptools.command.sdist import sdist
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
CYTHON_DEPENDENCY = 'Cython
|
|
23
|
+
CYTHON_DEPENDENCY = 'Cython~=3.0'
|
|
24
24
|
MACHINE = platform.machine()
|
|
25
25
|
MODULES_CFLAGS = [os.getenv('UVLOOP_OPT_CFLAGS', '-O2')]
|
|
26
26
|
_ROOT = pathlib.Path(__file__).parent
|
|
@@ -140,11 +140,14 @@ class uvloop_build_ext(build_ext):
|
|
|
140
140
|
v = True
|
|
141
141
|
|
|
142
142
|
directives[k] = v
|
|
143
|
+
self.cython_directives = directives
|
|
143
144
|
|
|
144
145
|
self.distribution.ext_modules[:] = cythonize(
|
|
145
146
|
self.distribution.ext_modules,
|
|
146
147
|
compiler_directives=directives,
|
|
147
|
-
annotate=self.cython_annotate
|
|
148
|
+
annotate=self.cython_annotate,
|
|
149
|
+
compile_time_env=dict(DEFAULT_FREELIST_SIZE=250),
|
|
150
|
+
emit_linenums=self.debug)
|
|
148
151
|
|
|
149
152
|
super().finalize_options()
|
|
150
153
|
|
|
@@ -176,7 +179,11 @@ class uvloop_build_ext(build_ext):
|
|
|
176
179
|
cmd,
|
|
177
180
|
cwd=LIBUV_BUILD_DIR, env=env, check=True)
|
|
178
181
|
|
|
179
|
-
|
|
182
|
+
try:
|
|
183
|
+
njobs = len(os.sched_getaffinity(0))
|
|
184
|
+
except AttributeError:
|
|
185
|
+
njobs = os.cpu_count()
|
|
186
|
+
j_flag = '-j{}'.format(njobs or 1)
|
|
180
187
|
c_flag = "CFLAGS={}".format(env['CFLAGS'])
|
|
181
188
|
subprocess.run(
|
|
182
189
|
['make', j_flag, c_flag],
|
|
@@ -233,6 +240,8 @@ with open(str(_ROOT / 'winloop' / '_version.py')) as f:
|
|
|
233
240
|
|
|
234
241
|
if sys.platform == 'win32':
|
|
235
242
|
from Cython.Build import cythonize
|
|
243
|
+
from Cython.Compiler.Main import default_options
|
|
244
|
+
default_options['compile_time_env'] = dict(DEFAULT_FREELIST_SIZE=250)
|
|
236
245
|
ext = cythonize([
|
|
237
246
|
Extension(
|
|
238
247
|
"winloop.loop",
|
|
@@ -9,6 +9,8 @@ except ImportError:
|
|
|
9
9
|
else:
|
|
10
10
|
skip_tests = False
|
|
11
11
|
|
|
12
|
+
import sys
|
|
13
|
+
import asyncio
|
|
12
14
|
import unittest
|
|
13
15
|
|
|
14
16
|
from winloop import _testbase as tb
|
|
@@ -34,7 +36,10 @@ class Test_UV_Aiodns(_TestAiodns, tb.UVTestCase):
|
|
|
34
36
|
pass
|
|
35
37
|
|
|
36
38
|
|
|
37
|
-
@unittest.
|
|
38
|
-
" See more: https://github.com/saghul/aiodns/issues/86")
|
|
39
|
+
@unittest.skipIf(skip_tests, "no aiodns module")
|
|
39
40
|
class Test_AIO_Aiodns(_TestAiodns, tb.AIOTestCase):
|
|
40
|
-
|
|
41
|
+
# Winloop comment: switching to selector loop (instead of proactor),
|
|
42
|
+
# see https://github.com/saghul/aiodns/issues/86
|
|
43
|
+
if sys.platform == 'win32':
|
|
44
|
+
def new_policy(self):
|
|
45
|
+
return asyncio.WindowsSelectorEventLoopPolicy()
|
|
@@ -126,7 +126,11 @@ class Test_UV_AioHTTP(_TestAioHTTP, tb.UVTestCase):
|
|
|
126
126
|
|
|
127
127
|
@unittest.skipIf(skip_tests, "no aiohttp module")
|
|
128
128
|
class Test_AIO_AioHTTP(_TestAioHTTP, tb.AIOTestCase):
|
|
129
|
-
|
|
129
|
+
# Winloop comment: switching to selector loop (instead of proactor),
|
|
130
|
+
# see https://github.com/saghul/aiodns/issues/86
|
|
131
|
+
if sys.platform == 'win32':
|
|
132
|
+
def new_policy(self):
|
|
133
|
+
return asyncio.WindowsSelectorEventLoopPolicy()
|
|
130
134
|
|
|
131
135
|
|
|
132
136
|
if __name__ == "__main__":
|
|
@@ -23,36 +23,36 @@ def my_map():
|
|
|
23
23
|
class _Test_Multiprocessing():
|
|
24
24
|
"""Used for Testing aiomultiprocessing"""
|
|
25
25
|
|
|
26
|
-
def
|
|
26
|
+
def test_process_spawning(self):
|
|
27
27
|
|
|
28
28
|
# See:
|
|
29
29
|
# https://github.com/Vizonex/Winloop/issues/11#issuecomment-1922659521
|
|
30
30
|
self.processes = set()
|
|
31
31
|
# There must be at least 2 pids setup for this to be correctly ran...
|
|
32
|
-
|
|
32
|
+
total_processes = 2
|
|
33
33
|
|
|
34
34
|
async def test():
|
|
35
|
-
async with aiomultiprocess.Pool(
|
|
35
|
+
async with aiomultiprocess.Pool(total_processes) as pool:
|
|
36
36
|
self.processes.update(p.pid for p in pool.processes)
|
|
37
37
|
await pool.map(test_func, my_map())
|
|
38
38
|
await asyncio.sleep(0.005)
|
|
39
|
-
self.assertEqual(len(self.processes),
|
|
39
|
+
self.assertEqual(len(self.processes), total_processes)
|
|
40
40
|
|
|
41
41
|
self.loop.run_until_complete(test())
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
@unittest.skipIf(skip_tests, "no
|
|
44
|
+
@unittest.skipIf(skip_tests, "no aiomultiprocess module")
|
|
45
45
|
class Test_UV_AioMultiprocess(_Test_Multiprocessing, tb.UVTestCase):
|
|
46
46
|
pass
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
@unittest.skipIf(skip_tests, "no
|
|
49
|
+
@unittest.skipIf(skip_tests, "no aiomultiprocess module")
|
|
50
50
|
class Test_AIO_AioMultiprocess(_Test_Multiprocessing, tb.AIOTestCase):
|
|
51
51
|
pass
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
if __name__ == "__main__":
|
|
55
|
-
# I have confirmed that
|
|
55
|
+
# I have confirmed that multiprocessing is supported so no need
|
|
56
56
|
# to continue with trying... - Vizonex...
|
|
57
57
|
multiprocessing.freeze_support()
|
|
58
58
|
# aiomultiprocess.set_start_method("spawn")
|
|
@@ -139,7 +139,7 @@ class _TestBase:
|
|
|
139
139
|
self.assertTrue(delta > 0.049 and delta < 0.6)
|
|
140
140
|
# General comment: the bound 0.6 is probably a typo, instead of 0.06.
|
|
141
141
|
# WINLOOP comment: this test sometimes fails on Windows with delta
|
|
142
|
-
# below 0.049. Also delta sometimes
|
|
142
|
+
# below 0.049. Also delta sometimes exceeds 0.06. This happens
|
|
143
143
|
# with the AIO loop and with the UV loop.
|
|
144
144
|
|
|
145
145
|
def test_call_later_1(self):
|
|
@@ -275,6 +275,13 @@ class _TestBase:
|
|
|
275
275
|
# https://github.com/cython/cython/pull/4988/files
|
|
276
276
|
# but the code for this part in cython 3.0.10 has been changed at some
|
|
277
277
|
# point, apparently causing the present problem.
|
|
278
|
+
|
|
279
|
+
# WINLOOP comment: see the above comment. Work-in-progress.
|
|
280
|
+
# Problem is caused by a spurious argument in this call in loop.pyx:
|
|
281
|
+
# self.call_soon_threadsafe(
|
|
282
|
+
# self._set_coroutine_debug, self, self._debug)
|
|
283
|
+
# ^^^^^^
|
|
284
|
+
# Removing it removes the problem.
|
|
278
285
|
def check_thread(loop, debug):
|
|
279
286
|
def cb():
|
|
280
287
|
pass
|
|
@@ -32,13 +32,13 @@ class BaseTestDNS:
|
|
|
32
32
|
a1 = patched_getaddrinfo(*args, **kwargs)
|
|
33
33
|
else:
|
|
34
34
|
a1 = socket.getaddrinfo(*args, **kwargs)
|
|
35
|
-
except socket.gaierror as ex:
|
|
35
|
+
except (socket.gaierror, UnicodeError) as ex:
|
|
36
36
|
err = ex
|
|
37
37
|
|
|
38
38
|
try:
|
|
39
39
|
a2 = self.loop.run_until_complete(
|
|
40
40
|
self.loop.getaddrinfo(*args, **kwargs))
|
|
41
|
-
except socket.gaierror as ex:
|
|
41
|
+
except (socket.gaierror, UnicodeError) as ex:
|
|
42
42
|
if err is not None:
|
|
43
43
|
self.assertEqual(ex.args, err.args)
|
|
44
44
|
else:
|
|
@@ -198,6 +198,18 @@ class BaseTestDNS:
|
|
|
198
198
|
proto=6 if sys.platform == 'win32' else 0,
|
|
199
199
|
flags=socket.AI_CANONNAME, _patch=patch)
|
|
200
200
|
|
|
201
|
+
# https://github.com/libuv/libuv/security/advisories/GHSA-f74f-cvh7-c6q6
|
|
202
|
+
# See also: https://github.com/MagicStack/uvloop/pull/600
|
|
203
|
+
def test_getaddrinfo_21(self):
|
|
204
|
+
payload = f'0x{"0" * 246}7f000001.example.com'.encode('ascii')
|
|
205
|
+
self._test_getaddrinfo(payload, 80)
|
|
206
|
+
self._test_getaddrinfo(payload, 80, type=socket.SOCK_STREAM)
|
|
207
|
+
|
|
208
|
+
def test_getaddrinfo_22(self):
|
|
209
|
+
payload = f'0x{"0" * 246}7f000001.example.com'
|
|
210
|
+
self._test_getaddrinfo(payload, 80)
|
|
211
|
+
self._test_getaddrinfo(payload, 80, type=socket.SOCK_STREAM)
|
|
212
|
+
|
|
201
213
|
######
|
|
202
214
|
|
|
203
215
|
def test_getnameinfo_1(self):
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
try:
|
|
2
|
+
from playwright.async_api import async_playwright
|
|
3
|
+
except ImportError:
|
|
4
|
+
skip_tests = True
|
|
5
|
+
else:
|
|
6
|
+
skip_tests = False
|
|
7
|
+
|
|
8
|
+
import unittest
|
|
9
|
+
from winloop import _testbase as tb
|
|
10
|
+
|
|
11
|
+
# SEE: https://github.com/Vizonex/Winloop/issues/34
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class _TestPlaywright:
|
|
15
|
+
def test_example_code(self):
|
|
16
|
+
# Example code is from microsoft's own example,
|
|
17
|
+
# see https://github.com/microsoft/playwright-python
|
|
18
|
+
async def run():
|
|
19
|
+
async with async_playwright() as p:
|
|
20
|
+
for browser_type in [p.chromium, p.firefox, p.webkit]:
|
|
21
|
+
browser = await browser_type.launch()
|
|
22
|
+
page = await browser.new_page()
|
|
23
|
+
await page.goto('http://playwright.dev')
|
|
24
|
+
path = f'example-{browser_type.name}.png'
|
|
25
|
+
await page.screenshot(path=path)
|
|
26
|
+
await browser.close()
|
|
27
|
+
|
|
28
|
+
self.loop.run_until_complete(run())
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
@unittest.skipIf(skip_tests, "no playwright module")
|
|
32
|
+
class Test_UV_Playwright(_TestPlaywright, tb.UVTestCase):
|
|
33
|
+
pass
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
@unittest.skipIf(skip_tests, "no playwright module")
|
|
37
|
+
class Test_AIO_Playwright(_TestPlaywright, tb.AIOTestCase):
|
|
38
|
+
pass
|
|
@@ -479,6 +479,8 @@ print("OK")
|
|
|
479
479
|
|
|
480
480
|
self.loop.run_until_complete(main())
|
|
481
481
|
|
|
482
|
+
@unittest.skipIf(sys.platform == 'win32' and sys.version_info < (3, 10, 0),
|
|
483
|
+
'no fix for Python 3.9- on Windows')
|
|
482
484
|
def test_process_streams_redirect(self):
|
|
483
485
|
async def test():
|
|
484
486
|
prog = bR'''
|
|
@@ -251,11 +251,14 @@ class _TestTCP:
|
|
|
251
251
|
# "[Errno 10048] error while attempting to bind on address
|
|
252
252
|
# ('127.0.0.1', 31098): only one usage of each socket address
|
|
253
253
|
# (protocol/network address/port) is normally permitted"
|
|
254
|
+
# NB: Python 3.12.5+ adds "[winerror 10048] " before "only one ..."
|
|
254
255
|
with self.assertRaisesRegex(OSError,
|
|
255
|
-
r"error while attempting.*\('127.*:
|
|
256
|
-
(r"
|
|
257
|
-
|
|
258
|
-
|
|
256
|
+
r"error while attempting.*\('127.*:" +
|
|
257
|
+
(r"( \[errno \d+\])? address"
|
|
258
|
+
r"( already)? in use"
|
|
259
|
+
if sys.platform != 'win32' else
|
|
260
|
+
r"( \[winerror \d+\])? "
|
|
261
|
+
r"only one usage of each")):
|
|
259
262
|
self.loop.run_until_complete(
|
|
260
263
|
self.loop.create_server(object, *addr))
|
|
261
264
|
|
|
@@ -1644,17 +1647,22 @@ class _TestSSL(tb.SSLTestCase):
|
|
|
1644
1647
|
self.fail("unexpected call to connection_made()")
|
|
1645
1648
|
|
|
1646
1649
|
def test_ssl_connect_accepted_socket(self):
|
|
1647
|
-
if hasattr(ssl, '
|
|
1648
|
-
|
|
1650
|
+
if hasattr(ssl, 'PROTOCOL_TLS_SERVER'):
|
|
1651
|
+
server_proto = ssl.PROTOCOL_TLS_SERVER
|
|
1652
|
+
client_proto = ssl.PROTOCOL_TLS_CLIENT
|
|
1649
1653
|
else:
|
|
1650
|
-
|
|
1651
|
-
|
|
1654
|
+
if hasattr(ssl, 'PROTOCOL_TLS'):
|
|
1655
|
+
client_proto = server_proto = ssl.PROTOCOL_TLS
|
|
1656
|
+
else:
|
|
1657
|
+
client_proto = server_proto = ssl.PROTOCOL_SSLv23
|
|
1658
|
+
|
|
1659
|
+
server_context = ssl.SSLContext(server_proto)
|
|
1652
1660
|
server_context.load_cert_chain(self.ONLYCERT, self.ONLYKEY)
|
|
1653
1661
|
if hasattr(server_context, 'check_hostname'):
|
|
1654
1662
|
server_context.check_hostname = False
|
|
1655
1663
|
server_context.verify_mode = ssl.CERT_NONE
|
|
1656
1664
|
|
|
1657
|
-
client_context = ssl.SSLContext(
|
|
1665
|
+
client_context = ssl.SSLContext(client_proto)
|
|
1658
1666
|
if hasattr(server_context, 'check_hostname'):
|
|
1659
1667
|
client_context.check_hostname = False
|
|
1660
1668
|
client_context.verify_mode = ssl.CERT_NONE
|
|
@@ -2251,8 +2259,7 @@ class _TestSSL(tb.SSLTestCase):
|
|
|
2251
2259
|
sslctx.use_privatekey_file(self.ONLYKEY)
|
|
2252
2260
|
sslctx.use_certificate_chain_file(self.ONLYCERT)
|
|
2253
2261
|
client_sslctx = self._create_client_ssl_context()
|
|
2254
|
-
|
|
2255
|
-
client_sslctx.options |= ssl.OP_NO_TLSv1_3
|
|
2262
|
+
client_sslctx.maximum_version = ssl.TLSVersion.TLSv1_2
|
|
2256
2263
|
|
|
2257
2264
|
def server(sock):
|
|
2258
2265
|
conn = openssl_ssl.Connection(sslctx, sock)
|
|
@@ -2614,8 +2621,7 @@ class _TestSSL(tb.SSLTestCase):
|
|
|
2614
2621
|
sslctx_openssl.use_privatekey_file(self.ONLYKEY)
|
|
2615
2622
|
sslctx_openssl.use_certificate_chain_file(self.ONLYCERT)
|
|
2616
2623
|
client_sslctx = self._create_client_ssl_context()
|
|
2617
|
-
|
|
2618
|
-
client_sslctx.options |= ssl.OP_NO_TLSv1_3
|
|
2624
|
+
client_sslctx.maximum_version = ssl.TLSVersion.TLSv1_2
|
|
2619
2625
|
|
|
2620
2626
|
future = None
|
|
2621
2627
|
|
|
@@ -97,10 +97,18 @@ class _TestUnix:
|
|
|
97
97
|
|
|
98
98
|
self.assertFalse(srv.is_serving())
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
if sys.version_info < (3, 13):
|
|
101
|
+
# asyncio doesn't cleanup the sock file under Python 3.13
|
|
102
|
+
self.assertTrue(os.path.exists(sock_name))
|
|
103
|
+
else:
|
|
104
|
+
self.assertFalse(os.path.exists(sock_name))
|
|
105
|
+
|
|
106
|
+
async def start_server_sock(start_server, is_unix_api=True):
|
|
107
|
+
# is_unix_api indicates whether `start_server` is calling
|
|
108
|
+
# `loop.create_unix_server()` or `loop.create_server()`,
|
|
109
|
+
# because asyncio `loop.create_server()` doesn't cleanup
|
|
110
|
+
# the socket file even if it's a UNIX socket.
|
|
102
111
|
|
|
103
|
-
async def start_server_sock(start_server):
|
|
104
112
|
nonlocal CNT
|
|
105
113
|
CNT = 0
|
|
106
114
|
|
|
@@ -141,8 +149,11 @@ class _TestUnix:
|
|
|
141
149
|
|
|
142
150
|
self.assertFalse(srv.is_serving())
|
|
143
151
|
|
|
144
|
-
|
|
145
|
-
|
|
152
|
+
if sys.version_info < (3, 13) or not is_unix_api:
|
|
153
|
+
# asyncio doesn't cleanup the sock file under Python 3.13
|
|
154
|
+
self.assertTrue(os.path.exists(sock_name))
|
|
155
|
+
else:
|
|
156
|
+
self.assertFalse(os.path.exists(sock_name))
|
|
146
157
|
|
|
147
158
|
with self.subTest(func='start_unix_server(host, port)'):
|
|
148
159
|
self.loop.run_until_complete(start_server())
|
|
@@ -161,7 +172,7 @@ class _TestUnix:
|
|
|
161
172
|
lambda sock: asyncio.start_server(
|
|
162
173
|
handle_client,
|
|
163
174
|
None, None,
|
|
164
|
-
sock=sock)))
|
|
175
|
+
sock=sock), is_unix_api=False))
|
|
165
176
|
self.assertEqual(CNT, TOTAL_CNT)
|
|
166
177
|
|
|
167
178
|
def test_create_unix_server_2(self):
|
|
@@ -456,16 +467,13 @@ class Test_UV_Unix(_TestUnix, tb.UVTestCase):
|
|
|
456
467
|
socket.AF_UNIX, socket.SOCK_STREAM | socket.SOCK_NONBLOCK)
|
|
457
468
|
with tempfile.NamedTemporaryFile() as file:
|
|
458
469
|
fn = file.name
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
self.loop.run_until_complete(srv.wait_closed())
|
|
467
|
-
finally:
|
|
468
|
-
os.unlink(fn)
|
|
470
|
+
with sock:
|
|
471
|
+
sock.bind(fn)
|
|
472
|
+
coro = self.loop.create_unix_server(lambda: None, path=None,
|
|
473
|
+
sock=sock, cleanup_socket=True)
|
|
474
|
+
srv = self.loop.run_until_complete(coro)
|
|
475
|
+
srv.close()
|
|
476
|
+
self.loop.run_until_complete(srv.wait_closed())
|
|
469
477
|
|
|
470
478
|
@unittest.skipUnless(sys.platform.startswith('linux'), 'requires epoll')
|
|
471
479
|
def test_epollhup(self):
|
|
@@ -30,6 +30,11 @@ jobs:
|
|
|
30
30
|
build-android:
|
|
31
31
|
runs-on: ubuntu-latest
|
|
32
32
|
container: reactnativecommunity/react-native-android:2020-5-20
|
|
33
|
+
# Work around an issue where the node from actions/checkout is too new
|
|
34
|
+
# to run inside the long-in-the-tooth react-nactive-android container
|
|
35
|
+
# image.
|
|
36
|
+
env:
|
|
37
|
+
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
|
|
33
38
|
steps:
|
|
34
39
|
- uses: actions/checkout@v2
|
|
35
40
|
- name: Envinfo
|
|
@@ -46,9 +51,9 @@ jobs:
|
|
|
46
51
|
ls -lh build
|
|
47
52
|
|
|
48
53
|
build-macos:
|
|
49
|
-
runs-on: macos-
|
|
54
|
+
runs-on: macos-12
|
|
50
55
|
steps:
|
|
51
|
-
- uses: actions/checkout@
|
|
56
|
+
- uses: actions/checkout@v4
|
|
52
57
|
- name: Envinfo
|
|
53
58
|
run: npx envinfo
|
|
54
59
|
- name: Setup
|
|
@@ -81,9 +86,9 @@ jobs:
|
|
|
81
86
|
make -C build-auto -j4
|
|
82
87
|
|
|
83
88
|
build-ios:
|
|
84
|
-
runs-on: macos-
|
|
89
|
+
runs-on: macos-12
|
|
85
90
|
steps:
|
|
86
|
-
- uses: actions/checkout@
|
|
91
|
+
- uses: actions/checkout@v4
|
|
87
92
|
- name: Configure
|
|
88
93
|
run: |
|
|
89
94
|
mkdir build-ios
|
|
@@ -232,6 +232,18 @@ $ ./bootstrap-vcpkg.sh # for bash
|
|
|
232
232
|
$ ./vcpkg install libuv
|
|
233
233
|
```
|
|
234
234
|
|
|
235
|
+
### Install with Conan
|
|
236
|
+
|
|
237
|
+
You can install pre-built binaries for libuv or build it from source using [Conan](https://conan.io/). Use the following command:
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
conan install --requires="libuv/[*]" --build=missing
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
The libuv Conan recipe is kept up to date by Conan maintainers and community contributors.
|
|
244
|
+
If the version is out of date, please [create an issue or pull request](https://github.com/conan-io/conan-center-index) on the ConanCenterIndex repository.
|
|
245
|
+
|
|
246
|
+
|
|
235
247
|
### Running tests
|
|
236
248
|
|
|
237
249
|
Some tests are timing sensitive. Relaxing test timeouts may be necessary
|
|
@@ -1929,17 +1929,17 @@ struct uv_loop_s {
|
|
|
1929
1929
|
UV_EXTERN void* uv_loop_get_data(const uv_loop_t*);
|
|
1930
1930
|
UV_EXTERN void uv_loop_set_data(uv_loop_t*, void* data);
|
|
1931
1931
|
|
|
1932
|
-
/*
|
|
1933
|
-
size_t uv_utf16_length_as_wtf8(const uint16_t* utf16,
|
|
1934
|
-
|
|
1935
|
-
int uv_utf16_to_wtf8(const uint16_t* utf16,
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
ssize_t uv_wtf8_length_as_utf16(const char* wtf8);
|
|
1940
|
-
void uv_wtf8_to_utf16(const char* wtf8,
|
|
1941
|
-
|
|
1942
|
-
|
|
1932
|
+
/* Unicode utilities needed for dealing with Windows. */
|
|
1933
|
+
UV_EXTERN size_t uv_utf16_length_as_wtf8(const uint16_t* utf16,
|
|
1934
|
+
ssize_t utf16_len);
|
|
1935
|
+
UV_EXTERN int uv_utf16_to_wtf8(const uint16_t* utf16,
|
|
1936
|
+
ssize_t utf16_len,
|
|
1937
|
+
char** wtf8_ptr,
|
|
1938
|
+
size_t* wtf8_len_ptr);
|
|
1939
|
+
UV_EXTERN ssize_t uv_wtf8_length_as_utf16(const char* wtf8);
|
|
1940
|
+
UV_EXTERN void uv_wtf8_to_utf16(const char* wtf8,
|
|
1941
|
+
uint16_t* utf16,
|
|
1942
|
+
size_t utf16_len);
|
|
1943
1943
|
|
|
1944
1944
|
/* Don't export the private CPP symbols. */
|
|
1945
1945
|
#undef UV_HANDLE_TYPE_PRIVATE
|
|
@@ -356,7 +356,7 @@ static void uv__queue_done(struct uv__work* w, int err) {
|
|
|
356
356
|
uv_work_t* req;
|
|
357
357
|
|
|
358
358
|
req = container_of(w, uv_work_t, work_req);
|
|
359
|
-
uv__req_unregister(req->loop
|
|
359
|
+
uv__req_unregister(req->loop);
|
|
360
360
|
|
|
361
361
|
if (req->after_work_cb == NULL)
|
|
362
362
|
return;
|