on xenial help sign in
Fix grouping of autopkg output and allow optionally passing arguments to installed test scripts.

Approved by: Albert Astals Cid, Unity8 CI Bot

commite5ef877a5a8fa2d90d392b92c82e50bbb7326dc3 authorMichael Terry <mike@mterry.name> dateTue 24 Jan 2017, 07:43 (10 years ago) parent54e255096b4345
2 files changed+12−5
cmake/modules/QmlTest.cmake+8−3 tests/CMakeLists.txt+4−2
cmake/modules/QmlTest.cmake+8−3
@@ -264,12 +264,16 @@ endfunction()
264264# installed system.
265265
266266function(add_meta_test TARGET_NAME)
267− cmake_parse_arguments(TEST "" "" "DEPENDS" ${ARGN})
267+ cmake_parse_arguments(TEST "SERIAL" "" "DEPENDS" ${ARGN})
268268
269269 add_custom_target(${TARGET_NAME})
270270
271271 set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${TARGET_NAME}.sh")
272− file(WRITE "${filename}" "#!/usr/bin/parallel --shebang --no-notice\n\n")
272+ if(TEST_SERIAL)
273+ file(WRITE "${filename}" "#!/bin/sh\n\n")
274+ else()
275+ file(WRITE "${filename}" "#!/usr/bin/parallel --shebang --no-notice\n\n")
276+ endif()
273277
274278 add_meta_dependencies(${TARGET_NAME} DEPENDS ${TEST_DEPENDS})
275279 # else we will write the rest of the script as we add cmake targets
@@ -307,6 +311,7 @@ function(install_test_script TARGET_NAME)
307311 foreach(ONE_CMD ${TEST_COMMAND})
308312 set(script "${script}'${ONE_CMD}' ")
309313 endforeach()
314+ set(script "${script}\"\$@\"") # Allow passing arguments if desired
310315
311316 set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${TARGET_NAME}.sh")
312317
@@ -370,7 +375,7 @@ function(add_meta_dependencies UPSTREAM_TARGET)
370375 # add depend to the meta test script that we will install on system
371376 set(filename "${CMAKE_BINARY_DIR}/tests/scripts/${UPSTREAM_TARGET}.sh")
372377 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")
374379 endif()
375380 endforeach()
376381endfunction()
tests/CMakeLists.txt+4−2
@@ -7,8 +7,10 @@ add_meta_test(unittests)
77add_meta_test(uitests)
88add_meta_test(xvfbuitests)
99
10−add_meta_test(alltests DEPENDS unittests uitests)
11−add_meta_test(xvfballtests DEPENDS unittests xvfbuitests)
10+# Run our meta-meta tests serially because we don't need to nest
11+# parallelized tests.
12+add_meta_test(alltests SERIAL DEPENDS unittests uitests)
13+add_meta_test(xvfballtests SERIAL DEPENDS unittests xvfbuitests)
1214
1315# Support libraries and plugins
1416add_subdirectory(mocks)