2
0
mirror of https://github.com/boostorg/python.git synced 2026-01-21 05:02:17 +00:00

Compare commits

..

6 Commits

Author SHA1 Message Date
Stefan Seefeld
22347f26de log commands 2025-10-24 09:58:09 -04:00
Stefan Seefeld
b15950a0b3 Downgrade run-vcpkg dependency to avoid regression. 2025-10-24 09:28:34 -04:00
Eisuke Kawashima
b4fb28e99a ci: update GitHub Actions 2025-10-23 22:14:55 -04:00
Stefan Seefeld
867f0dddfe Fix windows header path. 2025-10-23 22:08:00 -04:00
Aditya Pillai
a40bb656ee Use Py_REFCNT instead of ob_refcnt on Python 3.9 and above 2025-10-23 19:38:05 -04:00
Eisuke Kawashima
f604eb8d0f fix(test.numpy/ufunc): fix import error and value comparison 2025-04-02 08:21:09 -04:00
6 changed files with 27 additions and 21 deletions

View File

@@ -4,14 +4,14 @@ on: [push]
jobs: jobs:
deploy: deploy:
runs-on: ubuntu-20.04 runs-on: ubuntu-24.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v5
- name: setup - name: setup
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install \ sudo apt-get install \
libboost1.71-tools-dev \ libboost-tools-dev \
python3 \ python3 \
python3-numpy \ python3-numpy \
python3-sphinx \ python3-sphinx \
@@ -29,7 +29,7 @@ jobs:
echo "destination_dir=doc/develop/html" >> $GITHUB_ENV echo "destination_dir=doc/develop/html" >> $GITHUB_ENV
fi fi
- name: deploy - name: deploy
uses: peaceiris/actions-gh-pages@v3 uses: peaceiris/actions-gh-pages@v4
with: with:
github_token: ${{ secrets.GITHUB_TOKEN }} github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: build/doc/html publish_dir: build/doc/html

View File

@@ -14,9 +14,9 @@ jobs:
std: [c++11, c++14] # TODO: c++17 is failing ! std: [c++11, c++14] # TODO: c++17 is failing !
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- name: setup python - name: setup python
uses: actions/setup-python@v5 uses: actions/setup-python@v6
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
- name: setup prerequisites - name: setup prerequisites

View File

@@ -9,7 +9,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
python-version: ['3.8.18', '3.9.21', '3.10.15', '3.11.11', '3.12.9', '3.13.2'] python: [python, python3]
cxx: [g++, clang++] cxx: [g++, clang++]
std: [c++98, c++11, c++14, c++17] std: [c++98, c++11, c++14, c++17]
include: include:
@@ -26,14 +26,11 @@ jobs:
image: ${{ matrix.docker-img }} image: ${{ matrix.docker-img }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: build - name: build
run: | run: |
python --version ${{ matrix.python }} --version
${{ matrix.cxx }} --version ${{ matrix.cxx }} --version
faber -v faber -v
sed -e "s/\$PYTHON/${{ matrix.python }}/g" .ci/faber > ~/.faber sed -e "s/\$PYTHON/${{ matrix.python }}/g" .ci/faber > ~/.faber

View File

@@ -11,11 +11,11 @@ jobs:
python-version: [3.7] python-version: [3.7]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- uses: actions/setup-python@v5 - uses: actions/setup-python@v6
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
- uses: microsoft/setup-msbuild@v1.1 - uses: microsoft/setup-msbuild@v2
- name: setup boost prerequisites - name: setup boost prerequisites
uses: lukka/run-vcpkg@v6 uses: lukka/run-vcpkg@v6
with: with:
@@ -42,8 +42,8 @@ jobs:
- name: build - name: build
shell: cmd shell: cmd
run: | run: |
faber --builddir=build cxx.name=msvc --with-boost-include=${{ runner.workspace }}/vcpkg/installed/x64-windows/include -j4 faber --builddir=build cxx.name=msvc --log=commands --log=output --with-boost-include=${{ runner.workspace }}\vcpkg\installed\x64-windows\include -j4
- name: test - name: test
shell: cmd shell: cmd
run: | run: |
faber --builddir=build cxx.name=msvc --with-boost-include=${{ runner.workspace }}/vcpkg/installed/x64-windows/include -j4 test.report faber --builddir=build cxx.name=msvc --with-boost-include=${{ runner.workspace }}\vcpkg\installed\x64-windows\include -j4 test.report

View File

@@ -216,7 +216,13 @@ namespace boost { namespace python { namespace detail {
{ {
for (const_iterator i = proxies.begin(); i != proxies.end(); ++i) for (const_iterator i = proxies.begin(); i != proxies.end(); ++i)
{ {
if ((*i)->ob_refcnt <= 0) if (
#if PY_VERSION_HEX < 0x03090000
(*i)->ob_refcnt
#else
Py_REFCNT(*i)
#endif
<= 0)
{ {
PyErr_SetString(PyExc_RuntimeError, PyErr_SetString(PyExc_RuntimeError,
"Invariant: Proxy vector in an inconsistent state"); "Invariant: Proxy vector in an inconsistent state");

View File

@@ -8,6 +8,9 @@
import ufunc_ext import ufunc_ext
import unittest import unittest
import numpy import numpy
try:
from numpy.testing import assert_array_almost_equal
except ImportError:
from numpy.testing.utils import assert_array_almost_equal from numpy.testing.utils import assert_array_almost_equal
class TestUnary(unittest.TestCase): class TestUnary(unittest.TestCase):
@@ -24,7 +27,7 @@ class TestUnary(unittest.TestCase):
assert_array_almost_equal(b, a*2.0) assert_array_almost_equal(b, a*2.0)
c = numpy.zeros(5, dtype=float) c = numpy.zeros(5, dtype=float)
d = f(a,output=c) d = f(a,output=c)
self.assertTrue(c is d) self.assertTrue((c == d).all())
assert_array_almost_equal(d, a*2.0) assert_array_almost_equal(d, a*2.0)
def testList(self): def testList(self):
@@ -47,7 +50,7 @@ class TestBinary(unittest.TestCase):
assert_array_almost_equal(f(a,b), (a*2+b*3)) assert_array_almost_equal(f(a,b), (a*2+b*3))
c = numpy.zeros(5, dtype=float) c = numpy.zeros(5, dtype=float)
d = f(a,b,output=c) d = f(a,b,output=c)
self.assertTrue(c is d) self.assertTrue((c == d).all())
assert_array_almost_equal(d, a*2 + b*3) assert_array_almost_equal(d, a*2 + b*3)
assert_array_almost_equal(f(a, 2.0), a*2 + 6.0) assert_array_almost_equal(f(a, 2.0), a*2 + 6.0)
assert_array_almost_equal(f(1.0, b), 2.0 + b*3) assert_array_almost_equal(f(1.0, b), 2.0 + b*3)