~aacid/unity8/card_optimizations

« back to all changes in this revision

Viewing changes to cmake/modules/QmlTest.cmake

  • Committer: Albert Astals
  • Date: 2014-04-04 09:01:07 UTC
  • mfrom: (796.6.10 unity8)
  • Revision ID: albert.astals@canonical.com-20140404090107-lj3pvcr22xqkmska
Merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
    cmake_parse_arguments(qmltest "${options}" "" "${multi_value_keywords}" ${ARGN})
66
66
 
67
67
    set(qmltest_TARGET test${COMPONENT_NAME})
 
68
    set(qmltest_xvfb_TARGET xvfbtest${COMPONENT_NAME})
68
69
    set(qmltest_FILE ${SUBPATH}/tst_${COMPONENT_NAME})
69
70
 
70
71
    set(qmltestrunner_imports "")
82
83
 
83
84
    string(TOLOWER "${CMAKE_GENERATOR}" cmake_generator_lower)
84
85
    if(cmake_generator_lower STREQUAL "unix makefiles")
85
 
        set(qmltest_command
86
 
            env ${qmltest_ENVIRONMENT}
87
 
            ${qmltestrunner_exe} -input ${CMAKE_CURRENT_SOURCE_DIR}/${qmltest_FILE}.qml
88
 
                ${qmltestrunner_imports}
89
 
                -iterations 1000
90
 
                -o ${CMAKE_BINARY_DIR}/${qmltest_TARGET}.xml,xunitxml
91
 
                -o -,txt
92
 
                $(FUNCTION)
93
 
        )
 
86
        set(function_ARGS $(FUNCTION))
94
87
    else()
95
 
        set(qmltest_command
96
 
            env ${qmltest_ENVIRONMENT}
97
 
            ${qmltestrunner_exe} -input ${CMAKE_CURRENT_SOURCE_DIR}/${qmltest_FILE}.qml
98
 
                ${qmltestrunner_imports}
99
 
                -iterations 1000
100
 
                -o ${CMAKE_BINARY_DIR}/${qmltest_TARGET}.xml,xunitxml
101
 
                -o -,txt
102
 
        )
103
 
    endif()
104
 
 
 
88
        set(function_ARGS "")
 
89
    endif()
 
90
 
 
91
    set(qmltest_command
 
92
        env ${qmltest_ENVIRONMENT}
 
93
        ${qmltestrunner_exe} -input ${CMAKE_CURRENT_SOURCE_DIR}/${qmltest_FILE}.qml
 
94
            ${qmltestrunner_imports}
 
95
            -iterations 1000
 
96
            -o ${CMAKE_BINARY_DIR}/${qmltest_TARGET}.xml,xunitxml
 
97
            -o -,txt
 
98
            ${function_ARGS}
 
99
    )
 
100
    find_program( HAVE_GCC gcc )
 
101
    if (NOT ${HAVE_GCC} STREQUAL "")
 
102
        exec_program( gcc ARGS "-dumpmachine" OUTPUT_VARIABLE ARCH_TRIPLET )
 
103
        set(LD_PRELOAD_PATH "LD_PRELOAD=/usr/lib/${ARCH_TRIPLET}/mesa/libGL.so.1")
 
104
    endif()
 
105
    set(qmltest_xvfb_command
 
106
        env ${qmltest_ENVIRONMENT} ${LD_PRELOAD_PATH}
 
107
        xvfb-run --server-args "-screen 0 1024x768x24" --auto-servernum
 
108
        ${qmltestrunner_exe} -input ${CMAKE_CURRENT_SOURCE_DIR}/${qmltest_FILE}.qml
 
109
        ${qmltestrunner_imports}
 
110
            -o ${CMAKE_BINARY_DIR}/${qmltest_TARGET}.xml,xunitxml
 
111
            -o -,txt
 
112
            ${function_ARGS}
 
113
    )
 
114
 
 
115
    add_qmltest_target(${qmltest_TARGET} "${qmltest_command}" TRUE ${qmltest_NO_ADD_TEST})
 
116
    add_qmltest_target(${qmltest_xvfb_TARGET} "${qmltest_xvfb_command}" ${qmltest_NO_TARGETS} TRUE)
 
117
    add_manual_qml_test(${SUBPATH} ${COMPONENT_NAME} ${ARGN})
 
118
endmacro(add_qml_test)
 
119
 
 
120
macro(add_binary_qml_test CLASS_NAME LD_PATH DEPS)
 
121
    set(testCommand
 
122
          LD_LIBRARY_PATH=${LD_PATH}
 
123
          ${CMAKE_CURRENT_BINARY_DIR}/${CLASS_NAME}TestExec
 
124
          -o ${CMAKE_BINARY_DIR}/${CLASSNAME}Test.xml,xunitxml
 
125
          -o -,txt)
 
126
 
 
127
    add_qmltest_target(test${CLASS_NAME} "${testCommand}" FALSE TRUE)
 
128
    add_dependencies(test${CLASS_NAME} ${CLASS_NAME}TestExec ${DEPS})
 
129
 
 
130
    find_program( HAVE_GCC gcc )
 
131
    if (NOT ${HAVE_GCC} STREQUAL "")
 
132
        exec_program( gcc ARGS "-dumpmachine" OUTPUT_VARIABLE ARCH_TRIPLET )
 
133
        set(LD_PRELOAD_PATH "LD_PRELOAD=/usr/lib/${ARCH_TRIPLET}/mesa/libGL.so.1")
 
134
    endif()
 
135
    set(xvfbtestCommand
 
136
          ${LD_PRELOAD_PATH}
 
137
          LD_LIBRARY_PATH=${LD_PATH}
 
138
          xvfb-run --server-args "-screen 0 1024x768x24" --auto-servernum
 
139
          ${CMAKE_CURRENT_BINARY_DIR}/${CLASS_NAME}TestExec
 
140
          -o ${CMAKE_BINARY_DIR}/${CLASS_NAME}Test.xml,xunitxml
 
141
          -o -,txt)
 
142
 
 
143
    add_qmltest_target(xvfbtest${CLASS_NAME} "${xvfbtestCommand}" FALSE TRUE)
 
144
    add_dependencies(qmluitests xvfbtest${CLASS_NAME})
 
145
 
 
146
    add_manual_qml_test(. ${CLASS_NAME} IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
 
147
endmacro(add_binary_qml_test)
 
148
 
 
149
macro(add_qmltest_target qmltest_TARGET qmltest_command qmltest_NO_TARGETS qmltest_NO_ADD_TEST)
 
150
>>>>>>> MERGE-SOURCE
105
151
    add_custom_target(${qmltest_TARGET} ${qmltest_command})
106
152
 
107
153
    if(NOT "${qmltest_PROPERTIES}" STREQUAL "")
132
178
        endif()
133
179
    endif("${qmltest_NO_TARGETS}" STREQUAL "FALSE")
134
180
 
135
 
    add_manual_qml_test(${SUBPATH} ${COMPONENT_NAME} ${ARGN})
136
 
endmacro(add_qml_test)
 
181
endmacro(add_qmltest_target)