mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-25 22:52:01 +00:00
ci: fix PyPy (#3768)
* chore: minor fixes for newer PyPys * ci: fix issue with PyPy
This commit is contained in:
parent
061c617707
commit
5f9b090a91
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -30,8 +30,8 @@ jobs:
|
|||||||
- '3.6'
|
- '3.6'
|
||||||
- '3.9'
|
- '3.9'
|
||||||
- '3.10'
|
- '3.10'
|
||||||
- 'pypy-3.7-v7.3.7'
|
- 'pypy-3.7'
|
||||||
- 'pypy-3.8-v7.3.7'
|
- 'pypy-3.8'
|
||||||
|
|
||||||
# Items in here will either be added to the build matrix (if not
|
# Items in here will either be added to the build matrix (if not
|
||||||
# present), or add new keys to an existing matrix element if all the
|
# present), or add new keys to an existing matrix element if all the
|
||||||
|
@ -101,14 +101,14 @@ inline PyTypeObject *make_static_property_type() {
|
|||||||
inline PyTypeObject *make_static_property_type() {
|
inline PyTypeObject *make_static_property_type() {
|
||||||
auto d = dict();
|
auto d = dict();
|
||||||
PyObject *result = PyRun_String(R"(\
|
PyObject *result = PyRun_String(R"(\
|
||||||
class pybind11_static_property(property):
|
class pybind11_static_property(property):
|
||||||
def __get__(self, obj, cls):
|
def __get__(self, obj, cls):
|
||||||
return property.__get__(self, cls, cls)
|
return property.__get__(self, cls, cls)
|
||||||
|
|
||||||
def __set__(self, obj, value):
|
def __set__(self, obj, value):
|
||||||
cls = obj if isinstance(obj, type) else type(obj)
|
cls = obj if isinstance(obj, type) else type(obj)
|
||||||
property.__set__(self, cls, value)
|
property.__set__(self, cls, value)
|
||||||
)",
|
)",
|
||||||
Py_file_input,
|
Py_file_input,
|
||||||
d.ptr(),
|
d.ptr(),
|
||||||
d.ptr());
|
d.ptr());
|
||||||
|
@ -334,7 +334,7 @@ protected:
|
|||||||
const std::type_info *const *types,
|
const std::type_info *const *types,
|
||||||
size_t args) {
|
size_t args) {
|
||||||
// Do NOT receive `unique_rec` by value. If this function fails to move out the unique_ptr,
|
// Do NOT receive `unique_rec` by value. If this function fails to move out the unique_ptr,
|
||||||
// we do not want this to destuct the pointer. `initialize` (the caller) still relies on
|
// we do not want this to destruct the pointer. `initialize` (the caller) still relies on
|
||||||
// the pointee being alive after this call. Only move out if a `capsule` is going to keep
|
// the pointee being alive after this call. Only move out if a `capsule` is going to keep
|
||||||
// it alive.
|
// it alive.
|
||||||
auto *rec = unique_rec.get();
|
auto *rec = unique_rec.get();
|
||||||
|
@ -2,6 +2,7 @@ import os
|
|||||||
|
|
||||||
import nox
|
import nox
|
||||||
|
|
||||||
|
nox.needs_version = ">=2022.1.7"
|
||||||
nox.options.sessions = ["lint", "tests", "tests_packaging"]
|
nox.options.sessions = ["lint", "tests", "tests_packaging"]
|
||||||
|
|
||||||
PYTHON_VERISONS = ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "pypy3.7", "pypy3.8"]
|
PYTHON_VERISONS = ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "pypy3.7", "pypy3.8"]
|
||||||
@ -29,14 +30,12 @@ def tests(session: nox.Session) -> None:
|
|||||||
session.install("-r", "tests/requirements.txt")
|
session.install("-r", "tests/requirements.txt")
|
||||||
session.run(
|
session.run(
|
||||||
"cmake",
|
"cmake",
|
||||||
"-S",
|
"-S.",
|
||||||
".",
|
f"-B{tmpdir}",
|
||||||
"-B",
|
|
||||||
tmpdir,
|
|
||||||
"-DPYBIND11_WERROR=ON",
|
"-DPYBIND11_WERROR=ON",
|
||||||
"-DDOWNLOAD_CATCH=ON",
|
"-DDOWNLOAD_CATCH=ON",
|
||||||
"-DDOWNLOAD_EIGEN=ON",
|
"-DDOWNLOAD_EIGEN=ON",
|
||||||
*session.posargs
|
*session.posargs,
|
||||||
)
|
)
|
||||||
session.run("cmake", "--build", tmpdir)
|
session.run("cmake", "--build", tmpdir)
|
||||||
session.run("cmake", "--build", tmpdir, "--config=Release", "--target", "check")
|
session.run("cmake", "--build", tmpdir, "--config=Release", "--target", "check")
|
||||||
|
Loading…
Reference in New Issue
Block a user