appveyor CI script

This commit is contained in:
Wenzel Jakob 2015-10-18 17:04:24 +02:00
parent b1b714023a
commit fab881caf4
5 changed files with 38 additions and 6 deletions

16
.appveyor.yml Normal file
View 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"

View File

@ -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

View File

@ -4,7 +4,11 @@ import sys
sys.path.append('.') sys.path.append('.')
import example import example
import numpy as np try:
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

View File

@ -4,7 +4,12 @@ import sys
sys.path.append('.') sys.path.append('.')
from example import Matrix from example import Matrix
import numpy as np
try:
import numpy as np
except ImportError:
print('NumPy missing')
exit(0)
m = Matrix(5, 5) m = Matrix(5, 5)

View File

@ -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: