mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-11 08:03:55 +00:00
f1a2e03d19
* Change Python version guard: PYTHON < 3.7 IS UNSUPPORTED.
* Replace or remove Python 3.6 jobs.
* Move appveyor to Python 3.8
* Change `[tool.pylint]` `master.py-version` from `3.6` to `3.8`
* Change `[tool.pylint]` `master.py-version` to `3.7`
* Remove `centos:7` job; Change almalinux:8 job to use Python 3.8
* Try 🐍 3.8 • ubuntu-20.04 • x64 without `-DCMAKE_CXX_FLAGS="-D_=1"`
* Update setup.cfg as suggested by @henryiii
* Try running `cmake --build . --target cpptest` on all platforms (`standard` job).
* Disable deadsnakes jobs entirely.
* Apply PR #5179: Add Python 3.10, 3.11, 3.12 to win32 job matrix.
* Add back `-DCMAKE_CXX_FLAGS="-D_=1"` but do not install boost in that case.
* PY_VERSION_HEX < 3.7 cleanup pass: include/pybind11
* WITH_THREAD cleanup pass: include/pybind11
* Undo incorrect change.
* Revert "Disable deadsnakes jobs entirely."
This reverts commit bbcd0087b2
.
* WITH_THREAD cleanup pass: tests/
* Change Python version guard in pybind11/__init__.py: pybind11 does not support Python < 3.7.
* Misc cleanup pass
* chore: use future imports
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* Update tests/test_numpy_array.py
* Update test_numpy_array.py
---------
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
45 lines
862 B
Python
45 lines
862 B
Python
from __future__ import annotations
|
|
|
|
import threading
|
|
|
|
from pybind11_tests import thread as m
|
|
|
|
|
|
class Thread(threading.Thread):
|
|
def __init__(self, fn):
|
|
super().__init__()
|
|
self.fn = fn
|
|
self.e = None
|
|
|
|
def run(self):
|
|
try:
|
|
for i in range(10):
|
|
self.fn(i, i)
|
|
except Exception as e:
|
|
self.e = e
|
|
|
|
def join(self):
|
|
super().join()
|
|
if self.e:
|
|
raise self.e
|
|
|
|
|
|
def test_implicit_conversion():
|
|
a = Thread(m.test)
|
|
b = Thread(m.test)
|
|
c = Thread(m.test)
|
|
for x in [a, b, c]:
|
|
x.start()
|
|
for x in [c, b, a]:
|
|
x.join()
|
|
|
|
|
|
def test_implicit_conversion_no_gil():
|
|
a = Thread(m.test_no_gil)
|
|
b = Thread(m.test_no_gil)
|
|
c = Thread(m.test_no_gil)
|
|
for x in [a, b, c]:
|
|
x.start()
|
|
for x in [c, b, a]:
|
|
x.join()
|