mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-22 13:15:12 +00:00
appveyor CI script
This commit is contained in:
parent
b1b714023a
commit
fab881caf4
16
.appveyor.yml
Normal file
16
.appveyor.yml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
version: 1.0.{build}
|
||||||
|
os: Visual Studio 2015
|
||||||
|
clone_folder: C:\projects\pybind11
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
install:
|
||||||
|
- cinstall: python
|
||||||
|
build_script:
|
||||||
|
- echo Running cmake...
|
||||||
|
- cd c:\projects\pybind11
|
||||||
|
- cmake -G "Visual Studio 14 2015 Win64" -DPYTHON_INCLUDE_DIR:PATH=C:/Python34-x64/include -DPYTHON_LIBRARY:FILEPATH=C:/Python34-x64/libs/python34.lib -DPYTHON_EXECUTABLE:FILEPATH=C:/Python34-x64/python.exe
|
||||||
|
- set MSBuildLogger="C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
||||||
|
- set MSBuildOptions=/v:m /p:Configuration=Release /logger:%MSBuildLogger%
|
||||||
|
- msbuild %MSBuildOptions% pybind11.sln
|
||||||
|
- ctest -C "Release"
|
@ -2,8 +2,9 @@
|
|||||||
|
|
||||||
# pybind11 — Seamless operability between C++11 and Python
|
# pybind11 — Seamless operability between C++11 and Python
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/wjakob/pybind11.svg?branch=master)](https://travis-ci.org/wjakob/pybind11)
|
|
||||||
[![Documentation Status](https://readthedocs.org/projects/pybind11/badge/?version=latest)](http://pybind11.readthedocs.org/en/latest/?badge=latest)
|
[![Documentation Status](https://readthedocs.org/projects/pybind11/badge/?version=latest)](http://pybind11.readthedocs.org/en/latest/?badge=latest)
|
||||||
|
[![Build Status](https://travis-ci.org/wjakob/pybind11.svg?branch=master)](https://travis-ci.org/wjakob/pybind11)
|
||||||
|
[![Build status](https://ci.appveyor.com/api/projects/status/rfbxqkgxkcrxdu0f?svg=true)](https://ci.appveyor.com/project/wjakob/pybind11)
|
||||||
|
|
||||||
**pybind11** is a lightweight header-only library that exposes C++ types in Python
|
**pybind11** is a lightweight header-only library that exposes C++ types in Python
|
||||||
and vice versa, mainly to create Python bindings of existing C++ code. Its
|
and vice versa, mainly to create Python bindings of existing C++ code. Its
|
||||||
|
@ -4,7 +4,11 @@ import sys
|
|||||||
sys.path.append('.')
|
sys.path.append('.')
|
||||||
|
|
||||||
import example
|
import example
|
||||||
|
try:
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
except ImportError:
|
||||||
|
print('NumPy missing')
|
||||||
|
exit(0)
|
||||||
|
|
||||||
from example import vectorized_func
|
from example import vectorized_func
|
||||||
from example import vectorized_func2
|
from example import vectorized_func2
|
||||||
|
@ -4,7 +4,12 @@ import sys
|
|||||||
sys.path.append('.')
|
sys.path.append('.')
|
||||||
|
|
||||||
from example import Matrix
|
from example import Matrix
|
||||||
|
|
||||||
|
try:
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
except ImportError:
|
||||||
|
print('NumPy missing')
|
||||||
|
exit(0)
|
||||||
|
|
||||||
m = Matrix(5, 5)
|
m = Matrix(5, 5)
|
||||||
|
|
||||||
|
@ -25,7 +25,8 @@ def sanitize(lines):
|
|||||||
line = line.strip()
|
line = line.strip()
|
||||||
if sys.platform == 'win32':
|
if sys.platform == 'win32':
|
||||||
lower = line.lower()
|
lower = line.lower()
|
||||||
if 'constructor' in lower or 'destructor' in lower or 'ref' in lower:
|
if 'constructor' in lower or 'destructor' in lower \
|
||||||
|
or 'ref' in lower:
|
||||||
line = ""
|
line = ""
|
||||||
lines[i] = line
|
lines[i] = line
|
||||||
|
|
||||||
@ -40,11 +41,16 @@ if path != '':
|
|||||||
os.chdir(path)
|
os.chdir(path)
|
||||||
|
|
||||||
name = sys.argv[1]
|
name = sys.argv[1]
|
||||||
output_bytes = subprocess.check_output([sys.executable, name + ".py"])
|
output_bytes = subprocess.check_output([sys.executable, name + ".py"],
|
||||||
|
stderr=subprocess.STDOUT)
|
||||||
|
|
||||||
output = sanitize(output_bytes.decode('utf-8'))
|
output = sanitize(output_bytes.decode('utf-8'))
|
||||||
reference = sanitize(open(name + '.ref', 'r').read())
|
reference = sanitize(open(name + '.ref', 'r').read())
|
||||||
|
|
||||||
if output == reference:
|
if 'NumPy missing' in output:
|
||||||
|
print('Test "%s" could not be run.' % name)
|
||||||
|
exit(0)
|
||||||
|
elif output == reference:
|
||||||
print('Test "%s" succeeded.' % name)
|
print('Test "%s" succeeded.' % name)
|
||||||
exit(0)
|
exit(0)
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user