Commit graph

53 commits

Author SHA1 Message Date
kngwyu 11c1c5e6a1 Use -Cpanic=abort for correct coverage 2020-05-06 21:20:00 +09:00
Jack O'Connor 4a0c316b23 make test.sh fail if any command fails 2020-03-25 11:30:33 -04:00
kngwyu 4796a13b76 Enable mac x64 and Win x86 tests on github Actions 2020-03-24 15:38:06 +09:00
kngwyu fcc5e609a6 Fix the 'latest tag' link on pyo3.rs 2020-03-18 17:47:21 +09:00
kngwyu 8480396a22 Specify default-features = false for proc-macro related ctates 2020-03-16 19:50:09 +09:00
Alexander Niederbühl 26403a67d7 Use ignore flag in grcov call instead of ignore-dirs
See https://github.com/mozilla/grcov/issues/193
2020-01-12 14:23:36 +01:00
kngwyu dadeb17c3a Fix Windows test 2019-11-17 16:34:55 +09:00
kngwyu c0386f3d00 Delete appveyor.yml 2019-11-17 12:16:36 +09:00
kngwyu 094125cfe2 Test num-bigint on CI 2019-09-28 19:05:15 +09:00
konstin 73947d84b4
Format examples with black (#590) 2019-09-06 01:16:09 +02:00
Samuele Maci 1cdd6020cc Add dedicated makefile target for lint, clippy, fmt execution 2019-08-17 14:10:35 +02:00
konstin d995701aa7 Try out grcov 2019-08-11 14:25:44 +02:00
kngwyu 21a040b8b4 Change Minimum nightly to 2019-07-19 2019-08-11 16:40:21 +09:00
Alexander Niederbühl 86cc424b23 Fail CI if there are clippy warnings 2019-07-14 22:42:37 +02:00
kngwyu 383d0d3bac Do not execute test_compule_error in kcov 2019-07-13 15:00:19 +09:00
kngwyu 721e746585 Allow py: Python as an argument of getter 2019-07-12 23:41:13 +09:00
Azat Ibrakov 134c129edc Fix installing in 'venv' and datetime tests on Windows (#472)
* Add failing test

* Complete formatting

* Fix commands execution

* Fix commands execution for Linux

* Extract virtual environment creation/removing into separate functions

* Complete error messages

* Complete examples building

* Use 'venv' independent path

* Call script by dotted path instead of 'source' call

* Add Travis CI script

* Rename variable: 'exec_prefix' -> 'base_prefix'

* Add AppVeyor script

* Remove Rust test

* Complete shell script mode

* Complete path to powershell script

* Use 'pushd'/'popd' instead of 'cd'

* Complete powershell script

* Complete shell script

* Fix setup

* Use 'tox-venv' plugin for 'venv' stdlib module support

* Remove additional 'venv' testing

* Use global environment instead of calling 'set'

* Use 'tox' for AppVeyor, extract commands into 'setup' & 'test' scripts

* Add updating of 'pip' & 'setuptools'

* Add moving in/back from examples directories

* Complete 'pip'/'setuptools' updating

* Complete requirements

* Complete 'word-count' example configuration

* Simplify 'setup' script

* Complete 'rustapi_module' example tests

* Revert formatting

* Complete examples configuration

* Remove redundant annotations

* Add entry in changelog
2019-05-12 22:20:17 +09:00
Alexander Niederbühl faa3feda3f Merge branch 'master' into doctest 2019-04-23 21:58:09 +02:00
Omer BenAmram f8bf258602 Support rust extensions for PyPy via cpyext (#393)
* wip

* removed stuff

* removed another change

* implemented minimum amouth of ifdefs to make pypy3 hello world to compile

* implemented minimum amount of ifdefs to make pypy3 hello world to compile

* hacking on build.rs

* compiler is happy!

* few todos remain

* extracted build logic to seperate module

* added pypy test

* finally fixed pypy structs

* removed some todos

* test should now be machine independent

* fixed all pypy3 symbols

* added pypy feature

* removed `is_pypy`

* added pypy2 declerations also

* fix for cpython2

* improved libpypy detection

* added all pypy2 macros

* fixed errneous type

* more fixes

* fix python2 string macros

* modsupport symbol

* fix

* fixed and added many symbols

* fixes

* remove dup

* remove mac-specific config

* fix all name mangling macros

* unite imports

* missing symbol

* fix pybool

* implemented another missing symbol

* it works

* fix merge conflict

* uncomment non default features

* cargo.toml

* Cargo fmt

* small merge fixes

* use newer build version

* whoops

* fix build script

* more build hacks

* some random hiccups

* small fixes

* it builds!

* it builds and runs

* revert everything in FFI2

* revert changes to ffi2

* check python3 for pypy

* tiny fix

* revert ffi2 for real

* revert weird formatting changes

* bring back missing feature

* tiny error

* fix py3.7 issue

* add pypy3.5 6.0 to travis

* remove dbg!

* another tiny fix

* removed some useless annotations, and fixed inlines annotations

* removed `pretty_assertions`

* removed pypy feature from cargo.toml

* fix for Py_CompileStringFlags

* tox runs word_count!

* __dict__ changes are not supported for PyPy

* fix 3.7 and copy comment

* fix test script 😳

* transfer ownership of strings to cpython when possible

* remove cstr! macro

* added missing nuls

* as_bytes() -> b’’ string

* symbol removed by mistake

* properly shim pypy date time API, some tests are passing!

* extension_module tests now not crashing! (some still skipped)

* maybe travis has new pypy version?

* small error on windows (build script)

* fix conditional compilation

* try to make tests run on travis..

* invert condition

* added pytest-faulthandler to facilitate debugging

* correctly name dir

* use full paths

* say —yes to conda

* fix

* syntax error

* change PATH

* fixed a terrible bug with PyTypeObjects in PyPy

* fix PyTypeObject defs

* re-enabled tests!

* all tests are passing!

* make the fix ad-hoc for now

* removed build module

* revert changes that cause an additional GC bug

* prevented buggy test from failing pypy

* removed unused comment

* don’t run coverage on pypy

* removed some erroneous symbols from function calls which are actually macros

* restore py37 pyunicode missing def

* use only `link_name` in PyPy specific declarations

* only setup PyPy when testing against PyPy

* annotation that was eaten during merge

* remove change to  comment by mistake + unnecessary changes to cargo.toml

* xfail dates test only on pypy

* changed comment to be a little more helpful

* cleaned up some warnings

* Update src/ffi3/ceval.rs

Co-Authored-By: omerbenamram <omerbenamram@gmail.com>

* @konstin PR notes

* rustfmt

* some documentation

* if configured via env var only, default to cpython

* remove extra unsafe

* refer users to guide for pypy

* Update guide/src/pypy.md

Co-Authored-By: omerbenamram <omerbenamram@gmail.com>

* Update guide/src/pypy.md

Co-Authored-By: omerbenamram <omerbenamram@gmail.com>

* @konstin applied patch

* check that pypy at least build

* search explicitly for libpypy

* added note about some known unsupported features

* use ld_version

* export PYTHON_SYS_EXECUTABLE to `cargo build` test

* inverted if

* always link pypy dynamically

* remove unused imports

* Apply @kngwyu’s suggestion

* fix tox configuration

* try conda virtualenv

* try to simply not install python at all inside pypy environment

* setup pypy before using “python"

* use system_site_packages

* revert change to .travis

* moved cpyext datetime documentation to module level, and revised it.

* Update src/ffi/datetime.rs

Co-Authored-By: omerbenamram <omerbenamram@gmail.com>

* rustfmt

* Update src/ffi/datetime.rs

Co-Authored-By: omerbenamram <omerbenamram@gmail.com>

* kept only notes that are relevant to users.

* invert if

* use bash and not sh
2019-04-23 13:18:42 +02:00
Alexander Niederbühl f1b0288d3c Remove docmatic and several workarounds for the doctests 2019-04-19 22:47:21 +02:00
Paul Ganssle 821ce0e375
Fix inaccurate comment
The previous commit was merged somewhat prematurely, and fixed the
coverage on Travis by limiting `kcov` to a single process.

The previous commit also pins to a specific branch, which was not
necessary to fix this issue, but is a good idea anyway to prevent
bad commits on kcov's master branch from breaking PyO3's build.
2019-04-18 12:12:17 -04:00
Paul Ganssle c4c7997c7b
Pin kcov to the v36 release 2019-04-18 11:57:21 -04:00
konstin 97189a16b9 Try fixing cargo fmt on travis ci 2019-03-24 17:19:15 +01:00
Alexander Niederbühl 5cc43b8d86 Reactivate coverage on CI
Also exclude tests from coverage report and test py3-derive-backend in
travis.
2019-03-18 01:05:08 +01:00
konstin a9e78b98d1 Lower travis log level 2019-03-11 12:19:46 +01:00
Alexander Niederbühl e2e4733b82 Test examples in user guide with travis
Test could only be activated for Python 3.5 and some tests had to be
ignored, see #381 and #387.
2019-03-09 23:54:28 +01:00
kngwyu c1421e2e08 Run rustfmt and clippy only at minimum nightly 2019-02-19 00:01:23 +09:00
konstin 7a4cb50c96 Travis cleanup 2019-02-13 21:12:46 +01:00
kngwyu 2de3146c62 [CI] Install clippy from git when it's missing 2019-02-10 10:52:39 +09:00
konstin 936f0153e8 Migrate to rust 2018 2019-02-01 14:23:29 +01:00
Joar Wandborg 42557beb50
Use -e instead of || exit 2019-01-10 08:06:58 +01:00
Joar Wandborg 2bd5931a04
Pass -c to "examples/*" tox invocation
The `-c example-path/tox.init` parameter will read the tox.ini from the
provided location and also set `workdir` and `toxinidir` to the
directory of the passed tox.ini

Previously, when only --workdir was passed, tox read the root `tox.ini`,
with the effect that tox was never run on the projects in `examples/`.
2019-01-09 21:19:23 +01:00
konstin 2dc8813cf8 Improve testing setup 2019-01-08 20:18:23 +01:00
konstin 42f84ff881 Add clippy to travis 2018-11-15 15:23:45 +01:00
kngwyu 3620aae503 Build rust doc on travis 2018-10-04 16:19:36 +09:00
Paul Ganssle 078bea4345
Move rustapi_module into examples
This is really a test module, but the Rust convention is to put
something like this under examples/, and when it lands, we can take
advantage of "Project-based Examples for Cargo Projects" - RFC link
at https://github.com/rust-lang/rfcs/pull/2517
2018-08-21 18:33:33 -04:00
Paul Ganssle 7fc1dae238
Add rustapi_module tests to CI 2018-08-21 14:29:36 -04:00
konstin d0ed68414a Many small improvements 2018-08-04 19:56:59 +02:00
konstin 55d0917419 travis debug 2018-08-04 19:14:41 +02:00
konstin 83db765889 Refactoring 2018-07-30 22:56:25 +02:00
konstin c32dd1c120 Reduce travis' cache size
Reduces the cache from 1.1GB to 70MB which makes the cache loading and storing much faster
2018-07-09 00:02:34 +02:00
konstin 0df5527fbe Travis ci's python is weird 2018-07-08 23:37:44 +02:00
konstin 2f1e1a2a3f Simplify building a bit 2018-07-03 20:40:42 +02:00
konstin 727a051548 Fetch tags in travis 2018-05-30 16:24:57 +02:00
konstin 6448a016b1 Use the latest tag across all branches for the guide 2018-05-30 15:25:13 +02:00
konstin b4be009e38 Deploy different versions of the guide to github pages 2018-05-30 15:07:25 +02:00
konstin 40ad4b8b5a Make travis a little less verbose 2018-05-23 16:38:44 +02:00
konstin b3c92f2be7 Make the travis scripts more verbose 2018-05-21 15:25:09 +02:00
konstin 314a4a2b3e Some more documentation work 2018-05-19 17:27:26 +02:00
konstin 319afe1f76 Small documentation improvements 2018-05-17 23:59:38 +02:00