Commit Graph

578 Commits

Author SHA1 Message Date
Yury Selivanov 45e177555d Fix create_datagram_endpoint to work with AF_INET6 and no local_addr
A fix for #98.
2017-08-28 13:37:19 -04:00
Yury Selivanov 490c410321 Silence linter for uvloop/__init__.py 2017-04-04 12:43:12 -04:00
Yury Selivanov aa4f62bddc make: Don't delete 'build' dir in 'clean' target 2017-04-04 12:30:40 -04:00
Elvis Pranskevichus be920ea74e Fix running of setup.py test with recent setuptools. (#84)
Referencing "setup" in the "test_suite" setup() argument leads to
setup.py being executed twice, which leads to a broken command
behaviour.
2017-03-30 10:59:06 -04:00
Elvis Pranskevichus c841ab9f7d travis: Avoid building PR branches. 2017-03-30 10:43:53 -04:00
Elvis Pranskevichus ddbe854b43 Fix documentation build. 2017-03-30 10:42:05 -04:00
Yury Selivanov a7d6ff0db9 github: Add PYTHONASYNCIODEBUG question. 2017-03-29 11:47:40 -04:00
Yury Selivanov 58f9f09e3d Skip test_call_at on Travis. 2017-03-29 11:45:29 -04:00
Tim Turner a7a8be62f4 Address argument now has correct help message (#78)
Last argument for address was copied but not fully updated, left out was the 'help' message. This has been updated to be helpful.
2017-02-11 10:21:54 -05:00
Yury Selivanov 505e6e984e tests: Skip test_call_at on Travis/macOS 2017-02-09 14:54:20 -05:00
Yury Selivanov 3ad8bad3ee Bump the version to 0.8.0; mark uvloop as stable and prod ready 2017-02-09 12:32:20 -05:00
Yury Selivanov 53f698a8a8 Update libuv: v1.10.1 -> v1.11.0 2017-02-06 13:35:06 -05:00
Ben Jolitz f8a5376737 setup.py: Add support DragonFlyBSD (closes #77) 2017-02-05 20:03:42 -05:00
Elvis Pranskevichus 21de4a16a9 ci: Update to latest RVM in an attempt to fix Travis builds on macOS
[1] https://github.com/travis-ci/travis-ci/issues/6307#issuecomment-233315824
2017-02-01 18:46:43 -05:00
Elvis Pranskevichus 92709efa11 Bump the timeout for SSL server test
Travis has problems completing the test in under 5s, try 10.
2017-01-04 18:38:00 -05:00
Elvis Pranskevichus ec11650be4 ci: Make sure wheel builds on macOS start from a clean slate 2017-01-04 16:49:30 -05:00
Elvis Pranskevichus 2d0b427920 ci: Actually build linux wheels on all release Python versions 2017-01-01 22:12:38 -05:00
Elvis Pranskevichus e3f5cc794a ci: Build under Python 3.6 on macOS 2017-01-01 20:29:04 -05:00
Yury Selivanov a897aed360 Bump the version to v0.7.1 2017-01-01 17:04:59 -07:00
Yury Selivanov 3894d2d757 ci: Try building wheels for 3.6 2017-01-01 17:04:06 -07:00
Yury Selivanov 8b50579e2e Bump Cython req to 0.25.2 2017-01-01 17:01:50 -07:00
Yury Selivanov ee3f34cdd5 Fix _asyncgen_finalizer_hook to correctly wakeup the loop (issue #68) 2017-01-01 16:58:28 -07:00
Elvis Pranskevichus 104c35b5f1 tests: Skip strangely failing test on Travis macOS 2016-12-23 19:35:08 -05:00
Elvis Pranskevichus 62fb310278 ci: Switch to staged release process
Uploading release artifacts directly to PyPI from the build matrix is
bad, as this may result in an incomplete or broken release if any of
the platforms fail to build.

To fix the process, implement a "staged" build process whereby artifacts
are built from a dedicated "releases" branch and are uploaded to an S3
bucket.  Once all artifacts have been successfully built, the release
tag may be pushed to master, and the previously built artifacts will be
uploaded to PyPI as a single transaction.
2016-12-23 18:35:39 -05:00
Yury Selivanov 04fa0cc4e5 Bump the version to 0.6.8 2016-12-23 13:31:36 -05:00
Yury Selivanov 41b412f44d Add loop.shutdown_asyncgens() method. 2016-12-23 13:00:16 -05:00
Yury Selivanov 6f0727952d Bump the version to v0.6.7 2016-11-28 18:23:10 -05:00
Yury Selivanov b257a00350 Make sdists created on Linux compatible with other OSes
Cython doesn't compile 'IF SYSTEM_UNAME' checks into appropriate
C checks like '#ifdef __linux__'.  Instead it evaluates the constant
at the build time, meaning that

  IF SYSTEM_UNAME == 'Linux':
     cdef extern from "sys/epoll.h":
        ...

will be compiled to simple "include <sys/epoll.h>" (unguarded) on
Linux, meaning that the result C file won't compile on other OSes.

This commit moves the platform check to compat.h.
2016-11-28 18:08:44 -05:00
Yury Selivanov 76ed636c6c setup.py: Python 3.6 is supported 2016-11-28 12:17:28 -05:00
Yury Selivanov 8d3568115e Bump the version to 0.6.6 2016-11-28 11:22:21 -05:00
Yury Selivanov d2d86a6237 ci: Test on Python 3.6 2016-11-23 22:47:37 -05:00
Yury Selivanov 56ee6129ec make: Cleanup more build artifacts 2016-11-23 22:45:55 -05:00
Yury Selivanov fc21f808cf Add a regression test for issue #61. 2016-11-23 22:39:12 -05:00
Yury Selivanov 5b36491577 win: Ignore win build artifacts 2016-11-23 22:34:52 -05:00
Yury Selivanov b6e543e60d Bump libuv version to v0.10.1 2016-11-23 22:13:05 -05:00
Yury Selivanov 641c26c441 Stop epolling FD immediately after remove_reader & remove_writer. 2016-11-21 20:52:11 -05:00
Yury Selivanov 3a44397532 Stop testing Python 3.6 until 3.6b4 is out. 2016-11-21 20:47:50 -05:00
Yury Selivanov f20bf82cd7 Allow create_connection & create_server accept AF_UNIX
Internally, they will delegate to create_unix_connection and
create_unix_server.
2016-11-21 20:00:54 -05:00
Yury Selivanov 7474d966fc cython: Make async def coroutines awaitable in cythonized coroutines 2016-11-21 20:00:15 -05:00
Elvis Pranskevichus e7bedb8b4d Make sure ``setup.py sdist`` produces correct tarballs 2016-11-10 19:22:15 -05:00
Yury Selivanov c31616cba8 Bump the version to 0.6.5 2016-11-10 18:06:54 -05:00
Yury Selivanov 2544181ba4 setup.py: Fix error message 2016-11-10 14:30:56 -05:00
Yury Selivanov 109fe4baad Bump the version to 0.6.1 2016-11-10 13:34:18 -05:00
Yury Selivanov f5a504534f setup.py: Move the version into a constant 2016-11-10 13:33:48 -05:00
Yury Selivanov 806a06295d tests: test_call_at reorder asserts to debug ocasional test failure 2016-11-10 13:15:26 -05:00
Yury Selivanov 4c1e8adc5e Move build logic to setup.py (closes #60) 2016-11-10 13:03:05 -05:00
Yury Selivanov dad0024d6d make: Make it possible to use an environ var to define DEBUG constant 2016-11-10 12:16:03 -05:00
Yury Selivanov 92fb0fc37f Make loop methods reject socket kinds they do not support.
More specifically:
* loop.create_connection() and loop.create_server() can accept
  AF_INET or AF_INET6 SOCK_STREAM sockets;

* loop.create_datagram_endpoint() can accept only SOCK_DGRAM
  sockets;

* loop.connect_accepted_socket() can accept only SOCK_STREAM
  sockets;

* fixed a bug in create_unix_server() and create_unix_connection()
  to properly check for SOCK_STREAM sockets on Linux;

* fixed static DNS resolution to decline socket types that aren't
  strictly equal to SOCK_STREAM or SOCK_DGRAM.  On Linux socket
  type can be a bit mask, and we should let system getaddrinfo()
  to deal with it.
2016-11-09 15:38:30 -05:00
Yury Selivanov 84220e6cb1 Port another _get_current_loop/get_event_loop test from asyncio 2016-11-07 20:26:27 -05:00
Yury Selivanov 57a3abe515 tests: Do set_event_loop(None) in unittests
uvloop should consistently pass around the loop reference in its
internal APIs.

Even though explicit passing of event loop objects is discouraged
in asyncio programs, uvloop itself is too low-level to rely on
get_event_loop.
2016-11-07 19:27:37 -05:00