diff options
-rw-r--r-- | src/pyinterp.cc | 5 | ||||
-rw-r--r-- | test/CMakeLists.txt | 6 | ||||
-rw-r--r-- | test/unit/CMakeLists.txt | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/src/pyinterp.cc b/src/pyinterp.cc index 5381758e..72995eb6 100644 --- a/src/pyinterp.cc +++ b/src/pyinterp.cc @@ -151,6 +151,11 @@ void python_interpreter_t::initialize() DEBUG("python.interp", "Initializing Python"); #if PY_MAJOR_VERSION >= 3 + // Unbuffer stdio to avoid python output getting stuck in buffer when + // stdout is not a TTY. Normally buffers are flushed by Py_Finalize but + // Boost has a long-standing issue preventing proper shutdown of the + // interpreter with Py_Finalize when embedded. + Py_UnbufferedStdioFlag = 1; // PyImport_AppendInittab docs: "This should be called before Py_Initialize()". PyImport_AppendInittab((char*)"ledger", PyInit_ledger); #endif diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index a0905004..c1dde710 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -34,7 +34,7 @@ macro(add_ledger_harness_tests _class) $<TARGET_FILE:ledger> ${PROJECT_SOURCE_DIR} ${TestFile} ${TEST_PYTHON_FLAGS}) set_tests_properties(${_class}Test_${TestFile_Name} - PROPERTIES ENVIRONMENT "PYTHONUNBUFFERED=1;TZ=${Ledger_TEST_TIMEZONE}") + PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}") endif() endforeach() endif() @@ -53,7 +53,7 @@ if (Python_EXECUTABLE) COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/${_class}.py --ledger $<TARGET_FILE:ledger> --file ${TestFile}) set_tests_properties(${_class}Test_${TestFile_Name} - PROPERTIES ENVIRONMENT "PYTHONUNBUFFERED=1;TZ=${Ledger_TEST_TIMEZONE}") + PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}") endforeach() # CheckManpage and CheckTexinfo are disabled, since they do not work @@ -64,7 +64,7 @@ if (Python_EXECUTABLE) COMMAND ${Python_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test/${_class}.py --ledger $<TARGET_FILE:ledger> --source ${PROJECT_SOURCE_DIR}) set_tests_properties(${_class} - PROPERTIES ENVIRONMENT "PYTHONUNBUFFERED=1;TZ=${Ledger_TEST_TIMEZONE}") + PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}") endforeach() endif() diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt index 4a9911c5..1bd5e4b3 100644 --- a/test/unit/CMakeLists.txt +++ b/test/unit/CMakeLists.txt @@ -2,7 +2,7 @@ macro(add_ledger_test _name) target_link_libraries(${_name} libledger) add_test(Ledger${_name} ${PROJECT_BINARY_DIR}/${_name}) set_tests_properties(Ledger${_name} - PROPERTIES ENVIRONMENT "PYTHONUNBUFFERED=1;TZ=${Ledger_TEST_TIMEZONE}") + PROPERTIES ENVIRONMENT "TZ=${Ledger_TEST_TIMEZONE}") endmacro(add_ledger_test _name) include_directories(${PROJECT_SOURCE_DIR}/src) |