on xenial help sign in
Fix grouping of autopkg output and allow optionally passing arguments to installed test scripts.
e5ef877Michael Terry
cmake/modules/QmlTest.cmake+8−3
@@ -264,12 +264,16 @@ endfunction()
264# installed system.
264# installed system.
265
265
266function(add_meta_test TARGET_NAME)
266function(add_meta_test TARGET_NAME)
267− cmake_parse_arguments(TEST "" "" "DEPENDS" ${ARGN})
267+ cmake_parse_arguments(TEST "SERIAL" "" "DEPENDS" ${ARGN})
268
268
269 add_custom_target(${TARGET_NAME})
269 add_custom_target(${TARGET_NAME})
270
270
271 set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${TARGET_NAME}.sh")
271 set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${TARGET_NAME}.sh")
272+ if(TEST_SERIAL)
273+ file(WRITE "${filename}" "#!/bin/sh\n\n")
274+ else()
272− file(WRITE "${filename}" "#!/usr/bin/parallel --shebang --no-notice\n\n")
275+ file(WRITE "${filename}" "#!/usr/bin/parallel --shebang --no-notice\n\n")
276+ endif()
273
277
274 add_meta_dependencies(${TARGET_NAME} DEPENDS ${TEST_DEPENDS})
278 add_meta_dependencies(${TARGET_NAME} DEPENDS ${TEST_DEPENDS})
275 # else we will write the rest of the script as we add cmake targets
279 # else we will write the rest of the script as we add cmake targets
@@ -307,6 +311,7 @@ function(install_test_script TARGET_NAME)
307 foreach(ONE_CMD ${TEST_COMMAND})
311 foreach(ONE_CMD ${TEST_COMMAND})
308 set(script "${script}'${ONE_CMD}' ")
312 set(script "${script}'${ONE_CMD}' ")
309 endforeach()
313 endforeach()
314+ set(script "${script}\"\$@\"") # Allow passing arguments if desired
310
315
311 set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${TARGET_NAME}.sh")
316 set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${TARGET_NAME}.sh")
312
317
@@ -370,7 +375,7 @@ function(add_meta_dependencies UPSTREAM_TARGET)
370 # add depend to the meta test script that we will install on system
375 # add depend to the meta test script that we will install on system
371 set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${UPSTREAM_TARGET}.sh")
376 set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${UPSTREAM_TARGET}.sh")
372 if (EXISTS "${filename}")
377 if (EXISTS "${filename}")
373− file(APPEND "${filename}" "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}/tests/scripts/${depend}.sh\n")
378+ file(APPEND "${filename}" "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}/tests/scripts/${depend}.sh \"\$@\" 2>&1\n")
374 endif()
379 endif()
375 endforeach()
380 endforeach()
376endfunction()
381endfunction()
tests/CMakeLists.txt+4−2
@@ -7,8 +7,10 @@ add_meta_test(unittests)
7add_meta_test(uitests)
7add_meta_test(uitests)
8add_meta_test(xvfbuitests)
8add_meta_test(xvfbuitests)
9
9
10+# Run our meta-meta tests serially because we don't need to nest
11+# parallelized tests.
10−add_meta_test(alltests DEPENDS unittests uitests)
12+add_meta_test(alltests SERIAL DEPENDS unittests uitests)
11−add_meta_test(xvfballtests DEPENDS unittests xvfbuitests)
13+add_meta_test(xvfballtests SERIAL DEPENDS unittests xvfbuitests)
12
14
13# Support libraries and plugins
15# Support libraries and plugins
14add_subdirectory(mocks)
16add_subdirectory(mocks)