Commit Graph

30 Commits

Author SHA1 Message Date
Charles Brunet bda799dff2
fix python.version() not working in some cases
import('python').find_installation('python').version() causes exception
because of a missing initialization, when `find_installation()` receives
a name or a path.
2023-04-23 23:03:25 -04:00
Josh Soref cf9fd56bc9 fix various spelling issues
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-11 19:21:05 -04:00
Eli Schwartz 9d98b4cb84
test that python modules nominally compile without warnings
Because we poke around with the dependency, so we might introduce some,
and have at least once.
2023-03-28 15:15:45 -04:00
Eli Schwartz a024d75e15
backends: add a new "none" backend
It can only be used for projects that don't have any rules at all, i.e.
they are purely using Meson to:

- configure files
- run (script?) tests
- install files that exist by the end of the setup stage

This can be useful e.g. for Meson itself, a pure python project.
2023-03-20 17:22:50 -04:00
Eli Schwartz aa84c55bef
tests: fix edge case where non-default python is used, by skipping it
In a couple of python module tests, we try to test things that rely on
the default python being the same one we look up in the python module.
This is unsolvable for the deprecated python3 module, as it actually
uses the in-process version of python for everything. For the python
module, we could actually look up the default system python instead of
the one we are running with, but then we wouldn't be testing the
functionality of that alternative python... and also the install
manifest tests would see files installed for the wrong version of
python, and report a combination of missing+extra files...

Solve both tests by just skipping the parts we cannot check.
2022-11-14 19:16:57 -05:00
Eli Schwartz eb69fed2f6
python module: allow specifying the pure kwarg in the installation object
Fixes #10523
2022-09-19 21:13:37 -04:00
Eli Schwartz e7d87b6f58
implement the new preserve_path kwarg for install_data too
Primarily interesting to me because it is then available for the python
module's install_sources method.

Based on the new feature in install_headers.
2022-07-08 01:58:23 -04:00
Eli Schwartz 22dcb692ad python module: implicitly add python dep to extensions
If there isn't a preexisting dependency on python, append one. It's
almost assuredly needed, so just do the right thing out of the box.
2022-06-19 21:44:17 +03:00
Eli Schwartz 041c372048 tests: make python2 dependency on 32-bit windows non-fatal
Apparently Azure provides 64-bit python2 when we try to test 32-bit, and
that breaks everything on the 32-bit test runner.

I don't understand the environment setup, and that runner is
disappearing soon anyway. Hopefully this shuts up the known breakage.
2022-03-18 18:21:21 +02:00
Eli Schwartz fe2c0ff1e2
tests: don't skip python version tests if python is found but its dep is broken
If a version of python is installed for testing against, we should
assume it's actually important to test against it.
2022-03-17 07:29:55 -04:00
Eli Schwartz 4b0c0810df
unittests: convert python tests to project tests
Perhaps when this test case was originally created, project tests could
not use a matrix of options? This is certainly possible today, so don't
write special unittest handling for this instead.

This adds proper visibility into what gets run and what doesn't. Now we
know which python executables got tested and which got skipped.
2022-03-16 18:39:02 -04:00
Xavier Claessens 329d111709 python: Add platlibdir and purelibdir options 2021-10-08 17:47:35 -04:00
Filipe Laíns 59b8e00249 tests: take into account Debian Python paths
Signed-off-by: Filipe Laíns <lains@riseup.net>
2021-09-29 08:54:05 -04:00
Eli Schwartz 1f46b4ce64
tests: python module should install files correctly
- default to python site-packages
- subdir to site-packages/subdir
- arbitrary install_dir
2021-08-18 17:58:30 -04:00
Xavier Claessens a2f110ff77 interpreter: Fix holder_map not being updated when subproject fails
Fixes: #9038
2021-08-16 12:03:33 -04:00
Jussi Pakkanen 3340d373fb Revert "interpreter: Fix holder_map not being updated when subproject fails"
This reverts commit 566383c727.
2021-08-15 13:18:35 +03:00
Xavier Claessens 566383c727 interpreter: Fix holder_map not being updated when subproject fails
Fixes: #9038
2021-08-09 14:11:42 -04:00
Eli Schwartz 6a0fabc647
mass rewrite of string formatting to use f-strings everywhere
performed by running "pyupgrade --py36-plus" and committing the results
2021-03-04 17:16:11 -05:00
Michael Hirsch c9d8d4628e
simplify/correct test logic
before this, tests were being skipped on Ubuntu 20.04 with Anaconda Python
Now, all 5 tests success
2020-07-12 09:53:26 -04:00
Michael Hirsch 895de87b90
some python test cases don't care about backend, so run them in any case 2020-07-12 09:12:16 -04:00
Michael Hirsch 4f1a240bc2
raise SystemExit() generally preferred to sys.exit(1) 2020-07-12 09:08:04 -04:00
Michael Hirsch 173d1624cb
c lang not needed for this test 2020-07-12 09:04:59 -04:00
Michael Hirsch ab72f52743
setuptools is not stdlib, but distutils is 2020-07-12 09:01:55 -04:00
Jussi Pakkanen ad1cfbe7ec Disable extension module tests with Python 3.8 and VS2015. 2019-10-20 13:30:17 +03:00
Dylan Baker 15ab1f64f9 modules/python: add a modules keyword argument
This mirrors the modules keyword argument that some dependencies (such
as qt and llvm) take. This allows an easier method to determine if
modules are installed.
2019-06-12 14:13:20 +03:00
Dylan Baker 82346a2bd2 modules/python: Report program found in find_installation()
Currently find_installation is silent, which is pretty annoying. Let's
log it.
2019-04-03 14:48:29 -07:00
Dylan Baker 978e6fb88f tests: Add tests for the python module
This doesn't touch everything as it's just based on the python3 module
tests, ported to the python module. It's still better than the one very
basic test in the unit test module.
2018-12-12 12:23:37 -08:00
Nirbheek Chauhan 575ffec62e python module: Move tests to test cases/unit
The tests are only run via unit tests, so that's where they should be.
2018-05-03 18:56:34 +05:30
Mathieu Duponchelle 33abe0cf55 [fixup]: Rename find to find_installation 2018-04-09 15:43:25 +02:00
Mathieu Duponchelle e1b138a21b Implement a generic python module
With contributions from Håvard Graff
2018-04-06 22:43:35 +02:00