summaryrefslogtreecommitdiff
path: root/ext/pybind11/tests/test_installed_module
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pybind11/tests/test_installed_module')
-rw-r--r--ext/pybind11/tests/test_installed_module/CMakeLists.txt14
-rw-r--r--ext/pybind11/tests/test_installed_module/main.cpp10
-rw-r--r--ext/pybind11/tests/test_installed_module/test.py3
3 files changed, 27 insertions, 0 deletions
diff --git a/ext/pybind11/tests/test_installed_module/CMakeLists.txt b/ext/pybind11/tests/test_installed_module/CMakeLists.txt
new file mode 100644
index 000000000..77fd49dc2
--- /dev/null
+++ b/ext/pybind11/tests/test_installed_module/CMakeLists.txt
@@ -0,0 +1,14 @@
+cmake_minimum_required(VERSION 2.8.12)
+project(test_installed_module CXX)
+
+set(CMAKE_MODULE_PATH "")
+
+find_package(pybind11 CONFIG REQUIRED)
+
+message(STATUS "Found pybind11: ${pybind11_INCLUDE_DIRS} (found version ${pybind11_VERSION})")
+message(STATUS "Found Python: ${PYTHON_INCLUDE_DIRS} (found version ${PYTHON_VERSION_STRING})")
+
+pybind11_add_module(test_installed_module SHARED main.cpp)
+
+add_custom_target(check ${CMAKE_COMMAND} -E env PYTHONPATH=$<TARGET_FILE_DIR:test_installed_module>
+ ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test.py)
diff --git a/ext/pybind11/tests/test_installed_module/main.cpp b/ext/pybind11/tests/test_installed_module/main.cpp
new file mode 100644
index 000000000..a0bda4542
--- /dev/null
+++ b/ext/pybind11/tests/test_installed_module/main.cpp
@@ -0,0 +1,10 @@
+#include <pybind11/pybind11.h>
+namespace py = pybind11;
+
+PYBIND11_PLUGIN(test_installed_module) {
+ py::module m("test_installed_module");
+
+ m.def("add", [](int i, int j) { return i + j; });
+
+ return m.ptr();
+}
diff --git a/ext/pybind11/tests/test_installed_module/test.py b/ext/pybind11/tests/test_installed_module/test.py
new file mode 100644
index 000000000..2f0632049
--- /dev/null
+++ b/ext/pybind11/tests/test_installed_module/test.py
@@ -0,0 +1,3 @@
+import test_installed_module
+assert test_installed_module.add(11, 22) == 33
+print('test_installed_module imports, runs, and adds: 11 + 22 = 33')