@@ -12,6 +12,7 @@
1212# Two targets will be created:
1313# - testComponentName - Runs the test with qmltestrunner
1414# - tryComponentName - Runs the test with uqmlscene, for manual interaction
15+# - gdbTestComponentName - Runs the test with qmltestrunner under gdb
1516#
1617# To change/set a default value for the whole test suite, prior to calling add_qml_test, set:
1718# qmltest_DEFAULT_NO_ADD_TEST (default: FALSE)
@@ -81,6 +82,7 @@ macro(add_qml_test_internal SUBPATH COMPONENT_NAME ITERATIONS)
8182 cmake_parse_arguments(qmltest_default "${options}" "" "${multi_value_keywords}" ${qmltest_DEFAULT_PROPERTIES})
8283
8384 set(qmltest_TARGET test${COMPONENT_NAME})
85+ set(qmltest_gdb_TARGET gdbTest${COMPONENT_NAME})
8486 set(qmltest_xvfb_TARGET xvfbtest${COMPONENT_NAME})
8587 set(qmltest_FILE ${SUBPATH}/tst_${COMPONENT_NAME})
8688
@@ -138,8 +140,14 @@ macro(add_qml_test_internal SUBPATH COMPONENT_NAME ITERATIONS)
138140 ${function_ARGS}
139141 )
140142
143+ set(qmltest_gdb_command
144+ env ${test_env} ${qmltest_ENVIRONMENT} ${LD_PRELOAD_PATH}
145+ gdb -e ${qmltestrunner_exe} -ex \"run -input ${CMAKE_CURRENT_SOURCE_DIR}/${qmltest_FILE}.qml ${qmltestrunner_imports} ${ITERATIONS_STRING}\"
146+ )
147+
141148 add_qmltest_target(${qmltest_TARGET} "${qmltest_command}" TRUE ${qmltest_NO_ADD_TEST})
142149 add_qmltest_target(${qmltest_xvfb_TARGET} "${qmltest_xvfb_command}" ${qmltest_NO_TARGETS} TRUE)
150+ add_qmltest_target(${qmltest_gdb_TARGET} "${qmltest_gdb_command}" ${qmltest_NO_TARGETS} TRUE)
143151 add_manual_qml_test(${SUBPATH} ${COMPONENT_NAME} ${ARGN})
144152endmacro(add_qml_test_internal)
145153