μHAL (v2.8.17)
Part of the IPbus software repository
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Functions
test_interpreter.cpp File Reference
#include <pybind11/embed.h>
#include <catch.hpp>
#include <cstdlib>
#include <fstream>
#include <functional>
#include <thread>
#include <utility>
Include dependency graph for test_interpreter.cpp:

Go to the source code of this file.

Classes

class  Widget
 
class  PyWidget
 
class  test_override_cache_helper
 
class  test_override_cache_helper_trampoline
 
struct  scope_exit
 

Functions

size_t get_sys_path_size ()
 
 PYBIND11_EMBEDDED_MODULE (widget_module, m)
 
 PYBIND11_EMBEDDED_MODULE (trampoline_module, m)
 
 PYBIND11_EMBEDDED_MODULE (throw_exception,)
 
 PYBIND11_EMBEDDED_MODULE (throw_error_already_set,)
 
 TEST_CASE ("PYTHONPATH is used to update sys.path")
 
 TEST_CASE ("Pass classes and data between modules defined in C++ and Python")
 
 TEST_CASE ("Override cache")
 
 TEST_CASE ("Import error handling")
 
 TEST_CASE ("There can be only one interpreter")
 
 TEST_CASE ("Custom PyConfig")
 
 TEST_CASE ("Custom PyConfig with argv")
 
 TEST_CASE ("Add program dir to path pre-PyConfig")
 
 TEST_CASE ("Add program dir to path using PyConfig")
 
bool has_pybind11_internals_builtin ()
 
bool has_pybind11_internals_static ()
 
 TEST_CASE ("Restart the interpreter")
 
 TEST_CASE ("Subinterpreter")
 
 TEST_CASE ("Execution frame")
 
 TEST_CASE ("Threads")
 
 TEST_CASE ("Reload module from file")
 
 TEST_CASE ("sys.argv gets initialized properly")
 
 TEST_CASE ("make_iterator can be called before then after finalizing an interpreter")
 

Function Documentation

◆ get_sys_path_size()

size_t get_sys_path_size ( )

Definition at line 17 of file test_interpreter.cpp.

Referenced by TEST_CASE().

◆ has_pybind11_internals_builtin()

bool has_pybind11_internals_builtin ( )

Definition at line 238 of file test_interpreter.cpp.

References PYBIND11_INTERNALS_ID.

Referenced by TEST_CASE().

◆ has_pybind11_internals_static()

bool has_pybind11_internals_static ( )

Definition at line 243 of file test_interpreter.cpp.

Referenced by TEST_CASE().

◆ PYBIND11_EMBEDDED_MODULE() [1/4]

PYBIND11_EMBEDDED_MODULE ( throw_error_already_set  )

Definition at line 76 of file test_interpreter.cpp.

◆ PYBIND11_EMBEDDED_MODULE() [2/4]

PYBIND11_EMBEDDED_MODULE ( throw_exception  )

Definition at line 74 of file test_interpreter.cpp.

◆ PYBIND11_EMBEDDED_MODULE() [3/4]

PYBIND11_EMBEDDED_MODULE ( trampoline_module  ,
 
)

Definition at line 66 of file test_interpreter.cpp.

References test_override_cache_helper::func().

◆ PYBIND11_EMBEDDED_MODULE() [4/4]

PYBIND11_EMBEDDED_MODULE ( widget_module  ,
 
)

Definition at line 58 of file test_interpreter.cpp.

References Widget::the_message().

◆ TEST_CASE() [1/16]

TEST_CASE ( "Add program dir to path pre-PyConfig"  )

Definition at line 204 of file test_interpreter.cpp.

References get_sys_path_size().

◆ TEST_CASE() [2/16]

TEST_CASE ( "Add program dir to path using PyConfig"  )

Definition at line 219 of file test_interpreter.cpp.

References get_sys_path_size().

◆ TEST_CASE() [3/16]

TEST_CASE ( "Custom PyConfig with argv"  )

Definition at line 187 of file test_interpreter.cpp.

References object::cast().

◆ TEST_CASE() [4/16]

TEST_CASE ( "Custom PyConfig"  )

Definition at line 175 of file test_interpreter.cpp.

◆ TEST_CASE() [5/16]

TEST_CASE ( "Execution frame"  )

Definition at line 345 of file test_interpreter.cpp.

◆ TEST_CASE() [6/16]

TEST_CASE ( "Import error handling"  )

Definition at line 136 of file test_interpreter.cpp.

◆ TEST_CASE() [7/16]

TEST_CASE ( "make_iterator can be called before then after finalizing an interpreter"  )

Definition at line 452 of file test_interpreter.cpp.

References iter().

◆ TEST_CASE() [8/16]

TEST_CASE ( "Override cache"  )

Definition at line 109 of file test_interpreter.cpp.

◆ TEST_CASE() [9/16]

TEST_CASE ( "Pass classes and data between modules defined in C++ and Python"  )

Definition at line 88 of file test_interpreter.cpp.

◆ TEST_CASE() [10/16]

TEST_CASE ( "PYTHONPATH is used to update sys.path"  )

Definition at line 81 of file test_interpreter.cpp.

◆ TEST_CASE() [11/16]

TEST_CASE ( "Reload module from file"  )

Definition at line 391 of file test_interpreter.cpp.

References module_::reload().

◆ TEST_CASE() [12/16]

TEST_CASE ( "Restart the interpreter"  )

◆ TEST_CASE() [13/16]

TEST_CASE ( "Subinterpreter"  )

Create and switch to a subinterpreter.

Definition at line 305 of file test_interpreter.cpp.

References has_pybind11_internals_builtin(), and has_pybind11_internals_static().

◆ TEST_CASE() [14/16]

TEST_CASE ( "sys.argv gets initialized properly"  )

Definition at line 430 of file test_interpreter.cpp.

References object::cast().

◆ TEST_CASE() [15/16]

TEST_CASE ( "There can be only one interpreter"  )

Definition at line 156 of file test_interpreter.cpp.

◆ TEST_CASE() [16/16]

TEST_CASE ( "Threads"  )

Definition at line 352 of file test_interpreter.cpp.

References has_pybind11_internals_static().