aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/tests/CMakeLists.txt
blob: 86150ac1f947a24e92dcf8a2d140b35233186907 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
if(NOT CTEST_TESTING_TIMEOUT)
    set(CTEST_TESTING_TIMEOUT 60)
endif()

# BUILD_DIR and QT_DIR are used by init_paths.py for setting
# the path to the testbinding module
get_filename_component(BUILD_DIR "${CMAKE_BINARY_DIR}" DIRECTORY)
get_filename_component(BUILD_DIR "${CMAKE_BINARY_DIR}" DIRECTORY)
set(QT_DIR "${_qt5Core_install_prefix}")

macro(TEST_QT_MODULE var name)
  if(NOT DISABLE_${name} AND ${var})
      add_subdirectory(${name})
  endif()
endmacro()

macro(PYSIDE_TEST)
    string(REGEX MATCH "/([^/]+)//?([^/]+)\\.py" foo "${CMAKE_CURRENT_SOURCE_DIR}/${ARGV0}" )
    set(TEST_NAME "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}")
    if (${ARGC} EQUAL 1)
        set(EXPECT_TO_FAIL 0)
    elseif(${ARGC} EQUAL 2)
        set(EXPECT_TO_FAIL ${ARGV1})
    else()
        message(WARNING "Invalid call of macro PYSIDE_TEST")
    endif()
    set(TEST_CMD ${XVFB_EXEC} ${SHIBOKEN_PYTHON_INTERPRETER} "${CMAKE_CURRENT_SOURCE_DIR}/${ARGV0}")
    add_test(${TEST_NAME} ${TEST_CMD})
    # QT_NO_GLIB=1 is required to avoid crashes on CI RHEL 6.6 machines.
    # See QTBUG-64716 for details.
    set_tests_properties(${TEST_NAME} PROPERTIES
                         TIMEOUT ${CTEST_TESTING_TIMEOUT}
                         WILL_FAIL ${EXPECT_TO_FAIL}
                         ENVIRONMENT "BUILD_DIR=${BUILD_DIR};QT_DIR=${QT_DIR};PYSIDE_DISABLE_INTERNAL_QT_CONF=1;QT_NO_GLIB=1")
endmacro()

if (NOT DISABLE_QtCore AND NOT DISABLE_QtGui AND NOT DISABLE_QtWidgets)
    add_subdirectory(pysidetest)
endif()
add_subdirectory(registry)
add_subdirectory(signals)
add_subdirectory(support)

foreach(shortname IN LISTS all_module_shortnames)
    message(STATUS "preparing tests for module 'Qt${shortname}'")
    TEST_QT_MODULE(Qt${QT_MAJOR_VERSION}${shortname}_FOUND Qt${shortname})
endforeach()

#platform specific
if (ENABLE_MAC)
    add_subdirectory(mac)
endif ()