Commit cc6a247b authored by Jan Möbius's avatar Jan Möbius

Merge branch 'Introduce_python_tests' into 'master'

Introduce python tests

See merge request !138
parents 5b390585 715e424f
......@@ -329,6 +329,10 @@ void PythonInterpreter::pyOutput(const char* w)
void PythonInterpreter::pyError(const char* w)
{
if (externalLogging_) {
if (OpenFlipper::Options::nogui()) {
std::cerr << "Python Error! " << w << std::endl;
exit(1);
}
emit log(LOGERR, QString(w));
} else {
LogErr += QString::fromUtf8(w);
......
......@@ -143,6 +143,17 @@ SET (CTEST_DROP_SITE_CDASH FALSE)
add_subdirectory(${CMAKE_SOURCE_DIR}/${_plugin_dir}/tests ${CMAKE_BINARY_DIR}/tests/${_plugin_name} )
endif()
# If a PythonTests subdir exists, we add it here
if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/${_plugin_dir}/PythonTests)
# Only get the plugins name without possible collection:
string (REGEX MATCH "Plugin-.+[/\\]?$" _plugin_name ${_plugin_dir})
add_subdirectory(${CMAKE_SOURCE_DIR}/${_plugin_dir}/PythonTests ${CMAKE_BINARY_DIR}/PythonTests/${_plugin_name} )
endif()
endforeach ()
endif()
......@@ -16,6 +16,8 @@ if ( NOT EXISTS ${test_cmd} )
message(SEND_ERROR "Test Executable missing!")
endif()
message("Running : ${test_cmd} ${test_args}")
# Execute the process with the given arguments
# Timeout after 5 minutes
execute_process(
......
......@@ -129,8 +129,11 @@ endfunction()
# If TEST_SCRIPT does not exist in the tests directory of the plugin, no test will be generated!
function( run_local_script_test TEST_SCRIPT )
# check if TEST_SCRIPT is at the correct place
if ( NOT EXISTS ${CMAKE_SOURCE_DIR}/${_plugin_dir}/tests/${TEST_SCRIPT})
if ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_SCRIPT})
message("Error, unable to locate test script: ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_SCRIPT}")
return()
endif()
......@@ -139,8 +142,8 @@ function( run_local_script_test TEST_SCRIPT )
# Configure the test script from the current directory with the given filenames and variables into the test directory
configure_file(
${CMAKE_SOURCE_DIR}/${_plugin_dir}/tests/${TEST_SCRIPT}
${CMAKE_BINARY_DIR}/tests/${_plugin_name}/${TEST_SCRIPT_NAME} @ONLY
${CMAKE_CURRENT_SOURCE_DIR}/${TEST_SCRIPT}
${CMAKE_CURRENT_BINARY_DIR}/${TEST_SCRIPT_NAME} @ONLY
)
# Execute the script by OpenFlipper
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment