mirror of
https://github.com/boostorg/python.git
synced 2026-01-19 16:32:16 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
00ce4bdc65 | ||
|
|
22347f26de | ||
|
|
b15950a0b3 | ||
|
|
b4fb28e99a | ||
|
|
867f0dddfe | ||
|
|
a40bb656ee | ||
|
|
f604eb8d0f |
37
.github/workflows/deploy-documentation.yml
vendored
37
.github/workflows/deploy-documentation.yml
vendored
@@ -1,37 +0,0 @@
|
||||
name: deploy documentation
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: setup
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install \
|
||||
libboost1.71-tools-dev \
|
||||
python3 \
|
||||
python3-numpy \
|
||||
python3-sphinx \
|
||||
xsltproc \
|
||||
docbook-xsl
|
||||
sudo python3 -m pip install --upgrade pip
|
||||
sudo python3 -m pip install faber
|
||||
- name: build
|
||||
run: |
|
||||
sed -e "s/\$PYTHON/python3/g" .ci/faber > ~/.faber
|
||||
faber --builddir=build doc.html
|
||||
if [ "${GITHUB_REF##*/}" == master ]; then
|
||||
echo "destination_dir=doc/html" >> $GITHUB_ENV
|
||||
else
|
||||
echo "destination_dir=doc/develop/html" >> $GITHUB_ENV
|
||||
fi
|
||||
- name: deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: build/doc/html
|
||||
destination_dir: ${{ env.destination_dir }}
|
||||
keep_files: true
|
||||
50
.github/workflows/test-osx.yml
vendored
50
.github/workflows/test-osx.yml
vendored
@@ -1,50 +0,0 @@
|
||||
name: Test OSX
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macOS-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: [3.8.10]
|
||||
cxx: [clang++]
|
||||
std: [c++11, c++14] # TODO: c++17 is failing !
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: setup python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: setup prerequisites
|
||||
run: |
|
||||
brew install boost
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install setuptools faber
|
||||
- name: build
|
||||
run: |
|
||||
python --version
|
||||
${{ matrix.cxx }} --version
|
||||
brew info boost
|
||||
faber -v
|
||||
sed -e "s/\$PYTHON/python/g" .ci/faber > ~/.faber
|
||||
faber \
|
||||
--with-boost-include=$(brew --prefix boost)/include \
|
||||
--builddir=build \
|
||||
cxx.name=${{ matrix.cxx }} \
|
||||
cxxflags=-std=${{ matrix.std }} \
|
||||
cppflags=-std=${{ matrix.std }} \
|
||||
-j`sysctl -n hw.ncpu`
|
||||
- name: test
|
||||
run: |
|
||||
faber \
|
||||
--with-boost-include=$(brew --prefix boost)/include \
|
||||
--builddir=build\
|
||||
cxx.name=${{ matrix.cxx }} \
|
||||
cxxflags=-std=${{ matrix.std }} \
|
||||
cppflags=-std=${{ matrix.std }} \
|
||||
-j`sysctl -n hw.ncpu` \
|
||||
test.report
|
||||
45
.github/workflows/test-ubuntu.yml
vendored
45
.github/workflows/test-ubuntu.yml
vendored
@@ -9,9 +9,11 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python: [python, python3]
|
||||
python-version: [2.7, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t]
|
||||
cxx: [g++, clang++]
|
||||
std: [c++98, c++11, c++14, c++17]
|
||||
#cxx: [g++]
|
||||
#std: [c++98, c++11, c++14, c++17]
|
||||
#std: [c++17]
|
||||
include:
|
||||
# Add the appropriate docker image for each compiler.
|
||||
# The images from teeks99/boost-python-test already have boost::python
|
||||
@@ -21,33 +23,28 @@ jobs:
|
||||
docker-img: teeks99/boost-python-test:clang-12_1.76.0
|
||||
- cxx: g++
|
||||
docker-img: teeks99/boost-python-test:gcc-10_1.76.0
|
||||
# by default, all builds use -std=c++17
|
||||
- std: c++17
|
||||
# expand test coverage for python 2.7
|
||||
- python-version: 2.7
|
||||
std: c++98
|
||||
- python-version: 2.7
|
||||
std: c++11
|
||||
- python-version: 2.7
|
||||
std: c++14
|
||||
|
||||
container:
|
||||
image: ${{ matrix.docker-img }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/checkout@v5
|
||||
- name: setup python
|
||||
if: "${{ matrix.python-version != '2.7' }}"
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: build
|
||||
run: |
|
||||
${{ matrix.python }} --version
|
||||
echo ${{ matrix.python-version }} ${{ matrix.cxx }} ${{ matrix.std }}
|
||||
python --version
|
||||
${{ matrix.cxx }} --version
|
||||
faber -v
|
||||
sed -e "s/\$PYTHON/${{ matrix.python }}/g" .ci/faber > ~/.faber
|
||||
faber \
|
||||
--with-boost-include=${BOOST_PY_DEPS} \
|
||||
--builddir=build \
|
||||
cxx.name=${{ matrix.cxx }} \
|
||||
cxxflags=-std=${{ matrix.std }} \
|
||||
cppflags=-std=${{ matrix.std }} \
|
||||
-j`nproc`
|
||||
- name: test
|
||||
run: |
|
||||
faber \
|
||||
--with-boost-include=${BOOST_PY_DEPS} \
|
||||
--builddir=build \
|
||||
cxx.name=${{ matrix.cxx }} \
|
||||
cxxflags=-std=${{ matrix.std }} \
|
||||
cppflags=-std=${{ matrix.std }} \
|
||||
-j`nproc` \
|
||||
test.report
|
||||
|
||||
49
.github/workflows/test-windows.yml
vendored
49
.github/workflows/test-windows.yml
vendored
@@ -1,49 +0,0 @@
|
||||
name: Test Windows
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: [3.7]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- uses: microsoft/setup-msbuild@v1.1
|
||||
- name: setup boost prerequisites
|
||||
uses: lukka/run-vcpkg@v6
|
||||
with:
|
||||
vcpkgGitCommitId: '88b1071e39f13b632644d9d953738d345a4ac055'
|
||||
vcpkgDirectory: '${{ runner.workspace }}/vcpkg'
|
||||
vcpkgTriplet: x64-windows
|
||||
vcpkgArguments: >
|
||||
boost-config
|
||||
boost-core
|
||||
boost-function
|
||||
boost-graph
|
||||
boost-iterator
|
||||
boost-lexical-cast
|
||||
boost-mpl
|
||||
boost-preprocessor
|
||||
boost-smart-ptr
|
||||
boost-static-assert
|
||||
boost-align
|
||||
- name: setup faber
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install setuptools faber numpy
|
||||
faber --info=tools cxx
|
||||
- name: build
|
||||
shell: cmd
|
||||
run: |
|
||||
faber --builddir=build cxx.name=msvc --with-boost-include=${{ runner.workspace }}/vcpkg/installed/x64-windows/include -j4
|
||||
- name: test
|
||||
shell: cmd
|
||||
run: |
|
||||
faber --builddir=build cxx.name=msvc --with-boost-include=${{ runner.workspace }}/vcpkg/installed/x64-windows/include -j4 test.report
|
||||
@@ -216,7 +216,13 @@ namespace boost { namespace python { namespace detail {
|
||||
{
|
||||
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,
|
||||
"Invariant: Proxy vector in an inconsistent state");
|
||||
|
||||
@@ -8,7 +8,10 @@
|
||||
import ufunc_ext
|
||||
import unittest
|
||||
import numpy
|
||||
from numpy.testing.utils import assert_array_almost_equal
|
||||
try:
|
||||
from numpy.testing import assert_array_almost_equal
|
||||
except ImportError:
|
||||
from numpy.testing.utils import assert_array_almost_equal
|
||||
|
||||
class TestUnary(unittest.TestCase):
|
||||
|
||||
@@ -24,7 +27,7 @@ class TestUnary(unittest.TestCase):
|
||||
assert_array_almost_equal(b, a*2.0)
|
||||
c = numpy.zeros(5, dtype=float)
|
||||
d = f(a,output=c)
|
||||
self.assertTrue(c is d)
|
||||
self.assertTrue((c == d).all())
|
||||
assert_array_almost_equal(d, a*2.0)
|
||||
|
||||
def testList(self):
|
||||
@@ -47,7 +50,7 @@ class TestBinary(unittest.TestCase):
|
||||
assert_array_almost_equal(f(a,b), (a*2+b*3))
|
||||
c = numpy.zeros(5, dtype=float)
|
||||
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(f(a, 2.0), a*2 + 6.0)
|
||||
assert_array_almost_equal(f(1.0, b), 2.0 + b*3)
|
||||
|
||||
Reference in New Issue
Block a user