Tests autogen'd by CMake allows conditional tests 69/246869/5
authorDavid Steele <david.steele@samsung.com>
Wed, 4 Nov 2020 19:37:20 +0000 (19:37 +0000)
committerDavid Steele <david.steele@samsung.com>
Thu, 5 Nov 2020 11:17:29 +0000 (11:17 +0000)
Moved autogen of test case header from build script to
CMake. This allows conditional tests. Added check
for local version of ELDBUS to determine if accessibility
tests should be built.

Change-Id: Ibd8f9382937a0e8250982dd2b1733d6eb816c7b0

14 files changed:
automated-tests/CMakeLists.txt.in
automated-tests/build.sh
automated-tests/scripts/retriever.sh
automated-tests/scripts/tcheadgen.sh
automated-tests/scripts/tcpackageslistsgen.sh
automated-tests/src/dali-toolkit-internal/CMakeLists.txt
automated-tests/src/dali-toolkit-internal/utc-Dali-ColorConversion.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-DebugRendering.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-PropertyHelper.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-TextSelectionPopup-internal.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-TextureManager.cpp
automated-tests/src/dali-toolkit-styling/CMakeLists.txt
automated-tests/src/dali-toolkit-third-party/CMakeLists.txt
automated-tests/src/dali-toolkit/CMakeLists.txt

index ce46988..be21183 100644 (file)
@@ -4,9 +4,24 @@ SET(CMAKE_CXX_STANDARD 17)
 
 INCLUDE(FindPkgConfig)
 SET(BIN_DIR "/opt/usr/bin")
+SET(SCRIPT_DIR ${CMAKE_SOURCE_DIR}/scripts)
 
 ADD_DEFINITIONS(-DDALI_STYLE_DIR="@dataReadOnlyDir@/toolkit/styles/")
 
+# Macro checks if the module is available and sets user variable
+MACRO( CHECK_MODULE_AND_SET PKG_VAR PKG_LIB_REQUIREMENTS VAR_TO_SET )
+  PKG_CHECK_MODULES(${PKG_VAR} "${PKG_LIB_REQUIREMENTS}")
+  IF( ${PKG_VAR}_FOUND )
+    SET( ${VAR_TO_SET} ON )
+    SET( ${VAR_TO_SET}_ENABLED ON )
+  ELSE()
+    SET( ${VAR_TO_SET}_ENABLED OFF )
+  ENDIF()
+ENDMACRO()
+
+SET(ELDBUS_REQUIRED 1.16.0)
+CHECK_MODULE_AND_SET(ELDBUS eldbus>=${ELDBUS_REQUIRED} ELDBUS_AVAILABLE)
+
 INCLUDE_DIRECTORIES(
   src/common
 )
index 2f92135..7e812e1 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 
-TEMP=`getopt -o rn --long rebuild,no-gen \
+TEMP=`getopt -o r --long rebuild \
      -n 'genmake' -- "$@"`
 
 if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
@@ -10,12 +10,10 @@ if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
 eval set -- "$TEMP"
 
 opt_rebuild=false
-opt_generate=true
 
 while true ; do
     case "$1" in
         -r|--rebuild) opt_rebuild=true ; shift ;;
-        -n|--no-gen)  opt_generate=false ; shift ;;
         --) shift ; break ;;
         *) shift ;;   # Ignore
     esac
@@ -28,10 +26,6 @@ fi
 
 function build
 {
-    if [ $opt_generate == true -o $opt_rebuild == false ] ; then
-        (cd src/$1; ../../scripts/tcheadgen.sh tct-$1-core.h)
-        if [ $? -ne 0 ]; then echo "Aborting..."; exit 1; fi
-    fi
     (cd build ; cmake .. -DMODULE=$1 ; make -j7 )
 }
 
index c1d466d..248481e 100755 (executable)
@@ -1,10 +1,10 @@
 #!/bin/bash
 
 USAGE=$(cat <<EOF
-Usage note: retriever.sh [option] [directory]
+Usage note: retriever.sh [option] [directory] test-files
 Options:
   none    retrieve TC names with corresponding startup and cleanup functions
-  -f      retrieveve TC name with corresponding "set" and "purpose" clauses
+  -f      retrieve TC name with corresponding "set" and "purpose" clauses
   -anum   retrieve automatic TC number
   -mnum   retrieve manual TC number
 
@@ -46,6 +46,8 @@ function get_tc_files {
     }')
 }
 
+
+
 function tc_names {
     if [[ -z "$1" ]]; then
         exit
@@ -59,6 +61,10 @@ function tc_names {
         err_flag = 0;
         tc_list = "";
     }
+    BEGINFILE {
+        start_fun = "NULL";
+        clean_fun = "NULL";
+    }
     /^void .*startup\(void\)/ {
         gsub(/^void /, "");
         gsub(/\(void\)$/,"");
@@ -159,39 +165,62 @@ function tc_fullinfo {
     ' $*
 }
 
-
-# usage note and exit:
-# - argument begin with '-' but is not recognised or number of arguments is > 3,
-# - argument doesn't begin with '-' and number of arguments is > 2
-if [[ ( "$1" == -* && ( ! "$1" =~ ^-(anum|mnum|f)$ || $# > 3 ) ) || ( "$1" != -* && $# > 2 ) ]]; then
-    echo -e "$USAGE"
-    exit 1
+TEMP=`getopt -o f,a:,m: --long full,anum:,mnum: \
+     -n 'genmake' -- "$@"`
+
+if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
+
+# Note the quotes around `$TEMP': they are essential!
+eval set -- "$TEMP"
+
+opt_full=false
+opt_anum=
+opt_mnum=
+
+while true ; do
+    case "$1" in
+        -f|--full) opt_full=true ; shift ;;
+        -a|--anum) opt_anum="$2" ; shift 2 ;;
+        -m|--mnum) opt_mnum="$2" ; shift 2 ;;
+        --) shift ; break ;;
+        *) echo -e $USAGE ; exit 1 ;;
+    esac
+done
+
+DIR=.
+if [ -n "$opt_anum" ] ; then
+    DIR=$opt_anum
+    echo opt_anum: DIR=$DIR >& 2
+elif [ -n "$opt_mnum" ] ; then
+    DIR=$opt_mnum
+    echo opt_mnum: DIR=$DIR >& 2
 fi
 
-# get directory from last argument (or assume current one)
-if [[ ! "$1" =~ ^-(anum|mnum|f)$ ]]; then
-    DIR=${1:-.}
-else
-    DIR=${2:-.}
-fi
-
-# get filename from last argument
-if [[ $# == 3 && -f $DIR/$3 ]] ; then
-    FILE=$3
-elif [[ $# == 2 && -f $DIR/$2 ]] ; then
-    FILE=$2
+# get filename from first argument
+if [[ $# == 1 && -f $DIR/$1 ]] ; then
+    FILE=$1
+    shift;
 fi
 
 #echo "Dir: $DIR  File: $FILE" >& 2
 
-
 # populate $TC_FILES with files declared in CMakeLists.txt
 if [[ -z $FILE ]]; then
-    get_tc_files $DIR
+    if [[ ! $DIR == "." || $# == 0 ]] ; then
+        #echo Get tc files: DIR=$DIR >& 2
+        get_tc_files $DIR
+    else
+        TC_FILES=$(
+            for i in $* ; do
+                echo $DIR/$i
+            done
+            )
+    fi
     if [ $? != 0 ]; then
         exit 1
     fi
-    echo "Got all files" >& 2
+    echo "Got all files in `pwd`" >& 2
+    #echo "TC_FILES: $TC_FILES" >& 2
 else
     TC_FILES="$DIR/$FILE"
     echo "TC_FILES: $TC_FILES" >& 2
@@ -200,13 +229,12 @@ fi
 
 
 # run appropriate subcommand
-case "$1" in
-    -anum)
-        tc_anum $TC_FILES ;;
-    -mnum)
-        tc_mnum $TC_FILES ;;
-    -f)
-        tc_fullinfo $TC_FILES ;;
-    *)
-        tc_names $TC_FILES ;;
-esac
+if [ $opt_full == "true" ] ; then
+    tc_fullinfo $TC_FILES
+elif [ -n "$opt_anum" ] ; then
+    tc_anum $TC_FILES
+elif [ -n "$opt_mnum" ] ; then
+    tc_mnum $TC_FILES
+else
+    tc_names $TC_FILES
+fi
index c8cd679..007ed89 100755 (executable)
@@ -1,16 +1,18 @@
 #!/bin/bash
 
 if [[ -z $1 ]]; then
-    echo "Usage note: tcheadgen.sh <header_filename.h>"
+    echo "Usage note: tcheadgen.sh <header_filename.h> <test-sources>"
     exit 1
 fi
 
 FILE="$PWD/$1"
+shift
+TC_FILES=$*
 TFILE="/tmp/retr.csv$$"
 HEADER_NAME=$(echo $1 | tr '[:lower:]' '[:upper:]' | sed -e 's/-/_/g' -e 's/\./_/')
 SCRIPT_DIR="$(cd "$(dirname $0)" && pwd)"
 
-$SCRIPT_DIR/retriever.sh > $TFILE
+$SCRIPT_DIR/retriever.sh $TC_FILES > $TFILE
 if [ $? -ne 0 ]; then cat $TFILE; exit 1; fi
 awk -F',' -v HEADER_NAME="$HEADER_NAME" '
     BEGIN {
@@ -70,4 +72,3 @@ print ""
 print "#endif // " HEADER_NAME
 }' $TFILE > $FILE
 unlink $TFILE
-
index 15ea51f..edc876d 100755 (executable)
@@ -12,9 +12,9 @@ if [ ! -f $FILE ]; then
     exit
 fi
 SCRIPT_DIR="$(cd "$(dirname $0)" && pwd)"
-AUTO_NUM=$(cd $SCRIPT_DIR/..; scripts/retriever.sh -anum src/$MODULE_NAME)
+AUTO_NUM=$(cd $SCRIPT_DIR/..; scripts/retriever.sh --anum src/$MODULE_NAME)
 if [ $? -ne 0 ]; then echo $AUTO_NUM; exit 1; fi
-MAN_NUM=$(cd $SCRIPT_DIR/..; scripts/retriever.sh -mnum src/$MODULE_NAME)
+MAN_NUM=$(cd $SCRIPT_DIR/..; scripts/retriever.sh --mnum src/$MODULE_NAME)
 if [ $? -ne 0 ]; then echo $MAN_NUM; exit 1; fi
 
 TFILE="/tmp/tempfile.xml"
@@ -23,7 +23,7 @@ if [ -f $TFILE ]; then
 fi
 
 function regen {
-    awk -v RS='\r\n' -v ORS='\r\n' -v MODULE_NAME=$MODULE_NAME -v AUTO_NUM=$AUTO_NUM -v MAN_NUM=$MAN_NUM '    
+    awk -v RS='\r\n' -v ORS='\r\n' -v MODULE_NAME=$MODULE_NAME -v AUTO_NUM=$AUTO_NUM -v MAN_NUM=$MAN_NUM '
     BEGIN {
         found = 0;
         replaced = 0;
index 7aea8eb..5ff5890 100755 (executable)
@@ -8,11 +8,6 @@ SET(CAPI_LIB "dali-toolkit-internal")
 # List of test case sources (Only these get parsed for test cases)
 SET(TC_SOURCES
  utc-Dali-AddOns.cpp
- utc-Dali-Accessibility-Accessible.cpp
- utc-Dali-Accessibility-Controls.cpp
- utc-Dali-Accessibility-Controls-BridgeUp.cpp
- utc-Dali-Accessibility-Text.cpp
- utc-Dali-Accessibility-Value.cpp
  utc-Dali-BidirectionalSupport.cpp
  utc-Dali-ColorConversion.cpp
  utc-Dali-Control-internal.cpp
@@ -41,8 +36,18 @@ SET(TC_SOURCES
  utc-Dali-VisualUrl.cpp
 )
 
-# Append list of test harness files (Won't get parsed for test cases)
-LIST(APPEND TC_SOURCES
+IF(ELDBUS_AVAILABLE)
+  LIST(APPEND TC_SOURCES
+    utc-Dali-Accessibility-Accessible.cpp
+    utc-Dali-Accessibility-Controls.cpp
+    utc-Dali-Accessibility-Controls-BridgeUp.cpp
+    utc-Dali-Accessibility-Text.cpp
+    utc-Dali-Accessibility-Value.cpp
+    )
+ENDIF()
+
+# List of test harness files (Won't get parsed for test cases)
+SET(TEST_HARNESS_SOURCES
    ../dali-toolkit/dali-toolkit-test-utils/toolkit-adaptor.cpp
    ../dali-toolkit/dali-toolkit-test-utils/toolkit-application.cpp
    ../dali-toolkit/dali-toolkit-test-utils/toolkit-clipboard.cpp
@@ -81,9 +86,15 @@ LIST(APPEND TC_SOURCES
    dali-toolkit-test-utils/toolkit-text-utils.cpp
    dali-toolkit-test-utils/dummy-visual.cpp
    dali-toolkit-test-utils/test-addon-manager.cpp
+)
+
+IF(ELDBUS_AVAILABLE)
+  LIST(APPEND TEST_HARNESS_SOURCES
    dali-toolkit-test-utils/accessibility-test-utils.cpp
    dali-toolkit-test-utils/dbus-wrapper.cpp
-)
+    )
+ENDIF()
+
 
 PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
     dali2-core
@@ -102,6 +113,11 @@ ADD_COMPILE_OPTIONS( ${${CAPI_LIB}_CFLAGS_OTHER} )
 ADD_DEFINITIONS(-DTEST_RESOURCE_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/../../resources\" )
 ADD_DEFINITIONS(-DDALI_ADDONS_PATH=\"${CMAKE_CURRENT_BINARY_DIR}\")
 
+IF(ELDBUS_AVAILABLE)
+  ADD_COMPILE_OPTIONS(-Wno-error=attributes)
+  ADD_DEFINITIONS(-DELDBUS_ENABLED)
+ENDIF()
+
 FOREACH(directory ${${CAPI_LIB}_LIBRARY_DIRS})
     SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -L${directory}")
 ENDFOREACH(directory ${CAPI_LIB_LIBRARY_DIRS})
@@ -109,13 +125,21 @@ ENDFOREACH(directory ${CAPI_LIB_LIBRARY_DIRS})
 STRING(STRIP ${CMAKE_CXX_LINK_FLAGS} CMAKE_CXX_LINK_FLAGS)
 
 INCLUDE_DIRECTORIES(
-    ../../../
-    ${${CAPI_LIB}_INCLUDE_DIRS}
-    ../dali-toolkit/dali-toolkit-test-utils
-    dali-toolkit-test-utils
+  ../../../
+  ${${CAPI_LIB}_INCLUDE_DIRS}
+  ../dali-toolkit/dali-toolkit-test-utils
+  dali-toolkit-test-utils
 )
 
-ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.cpp ${TC_SOURCES})
+ADD_CUSTOM_COMMAND(
+  COMMAND ../../scripts/tcheadgen.sh ${EXEC_NAME}.h ${TC_SOURCES}
+  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+  OUTPUT  ${EXEC_NAME}.h
+  COMMENT "Generating test tables"
+  )
+
+# Add explicit dependency on auto-generated header.
+ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.h ${EXEC_NAME}.cpp ${TC_SOURCES} ${TEST_HARNESS_SOURCES})
 TARGET_LINK_LIBRARIES(${EXEC_NAME}
     ${${CAPI_LIB}_LIBRARIES}
     -lpthread --coverage -ldl -rdynamic
index 6e41930..cec590c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,7 +18,9 @@
 #include <dali-toolkit-test-suite-utils.h>
 #include <dali-toolkit/internal/helpers/color-conversion.h>
 
+#if defined(ELDBUS_ENABLED)
 #include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
+#endif
 
 using namespace Dali;
 using namespace Dali::Toolkit;
@@ -26,7 +28,9 @@ using namespace Dali::Toolkit;
 void dali_color_conversion_startup(void)
 {
   test_return_value = TET_UNDEF;
+#if defined(ELDBUS_ENABLED)
   DBusWrapper::Install(std::unique_ptr<DBusWrapper>(new TestDBusWrapper));
+#endif
 }
 
 void dali_color_conversion_cleanup(void)
index 12276e8..cdfa432 100755 (executable)
@@ -26,7 +26,9 @@
 
 #include <toolkit-environment-variable.h> // for setting environment variable: DALI_DEBUG_RENDERING
 
+#if defined(ELDBUS_ENABLED)
 #include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
+#endif
 
 #include "dummy-control.h"
 
@@ -78,7 +80,9 @@ void TestDebugVisual( Integration::Scene scene,  Visual::Base& visual, Visual::T
 void dali_debug_rendering_startup(void)
 {
   test_return_value = TET_UNDEF;
+#if defined(ELDBUS_ENABLED)
   DBusWrapper::Install(std::unique_ptr<DBusWrapper>(new TestDBusWrapper));
+#endif
 }
 
 void dali_debug_rendering_cleanup(void)
index df76c38..38fdc58 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,7 +18,9 @@
 #include <dali-toolkit-test-suite-utils.h>
 #include <dali-toolkit/internal/helpers/property-helper.h>
 
+#if defined(ELDBUS_ENABLED)
 #include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
+#endif
 
 using namespace Dali;
 using namespace Dali::Toolkit;
@@ -26,7 +28,9 @@ using namespace Dali::Toolkit;
 void dali_property_helper_startup(void)
 {
   test_return_value = TET_UNDEF;
+#if defined(ELDBUS_ENABLED)
   DBusWrapper::Install(std::unique_ptr<DBusWrapper>(new TestDBusWrapper));
+#endif
 }
 
 void dali_property_helper_cleanup(void)
index 06ce4c8..c5ad959 100644 (file)
@@ -24,7 +24,9 @@
 #include <dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.h>
 #undef private
 
+#if defined(ELDBUS_ENABLED)
 #include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
+#endif
 
 using namespace Dali;
 using namespace Toolkit;
@@ -32,7 +34,9 @@ using namespace Toolkit;
 void dali_textselectionpopupinternal_startup(void)
 {
   test_return_value = TET_UNDEF;
+#if defined(ELDBUS_ENABLED)
   DBusWrapper::Install(std::unique_ptr<DBusWrapper>(new TestDBusWrapper));
+#endif
 }
 
 void dali_textselectionpopupinternal_cleanup(void)
@@ -51,4 +55,3 @@ int UtcDaliToolkitTextSelectionPopupIconPropertiesN(void)
 
   END_TEST;
 }
-
index c1ea9ad..9098be8 100644 (file)
@@ -27,7 +27,9 @@
 #include <dali/devel-api/adaptor-framework/pixel-buffer.h>
 #include <dali-toolkit/internal/visuals/image-atlas-manager.h>
 
+#if defined(ELDBUS_ENABLED)
 #include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
+#endif
 
 using namespace Dali::Toolkit::Internal;
 
@@ -35,7 +37,9 @@ void utc_dali_toolkit_texture_manager_startup(void)
 {
   setenv( "LOG_TEXTURE_MANAGER", "3", 1 );
   test_return_value = TET_UNDEF;
+#if defined(ELDBUS_ENABLED)
   DBusWrapper::Install(std::unique_ptr<DBusWrapper>(new TestDBusWrapper));
+#endif
 }
 
 void utc_dali_toolkit_texture_manager_cleanup(void)
index bda1454..76191dd 100644 (file)
@@ -10,8 +10,8 @@ SET(TC_SOURCES
    utc-Dali-StyleManager.cpp
 )
 
-# Append list of test harness files (Won't get parsed for test cases)
-LIST(APPEND TC_SOURCES
+# List of test harness files (Won't get parsed for test cases)
+SET(TEST_HARNESS_SOURCES
    ../dali-toolkit/dali-toolkit-test-utils/test-harness.cpp
    ../dali-toolkit/dali-toolkit-test-utils/toolkit-adaptor.cpp
    ../dali-toolkit/dali-toolkit-test-utils/toolkit-application.cpp
@@ -74,7 +74,14 @@ INCLUDE_DIRECTORIES(
     ../dali-toolkit/dali-toolkit-test-utils
 )
 
-ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.cpp ${TC_SOURCES})
+ADD_CUSTOM_COMMAND(
+  COMMAND ../../scripts/tcheadgen.sh ${EXEC_NAME}.h ${TC_SOURCES}
+  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+  OUTPUT  ${EXEC_NAME}.h
+  COMMENT "Generating test tables"
+  )
+
+ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.h ${EXEC_NAME}.cpp ${TC_SOURCES} ${TEST_HARNESS_SOURCES})
 TARGET_LINK_LIBRARIES(${EXEC_NAME}
   ${${CAPI_LIB}_LIBRARIES}
   -lpthread -ldl --coverage
index e089fc6..62631ea 100644 (file)
@@ -10,8 +10,8 @@ SET(TC_SOURCES
  utc-Dali-Flexbox-Layout.cpp
 )
 
-# Append list of test harness files (Won't get parsed for test cases)
-LIST(APPEND TC_SOURCES
+# List of test harness files (Won't get parsed for test cases)
+SET(TEST_HARNESS_SOURCES
    ../dali-toolkit/dali-toolkit-test-utils/toolkit-application.cpp
    ../dali-toolkit/dali-toolkit-test-utils/toolkit-clipboard.cpp
    ../dali-toolkit/dali-toolkit-test-utils/toolkit-clipboard-event-notifier.cpp
@@ -70,7 +70,14 @@ INCLUDE_DIRECTORIES(
     ${GTEST_INCLUDE_DIRS}
 )
 
-ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.cpp ${TC_SOURCES})
+ADD_CUSTOM_COMMAND(
+  COMMAND ../../scripts/tcheadgen.sh ${EXEC_NAME}.h ${TC_SOURCES}
+  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+  OUTPUT  ${EXEC_NAME}.h
+  COMMENT "Generating test tables"
+  )
+
+ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.h ${EXEC_NAME}.cpp ${TC_SOURCES} ${TEST_HARNESS_SOURCES})
 TARGET_LINK_LIBRARIES(${EXEC_NAME}
     ${${CAPI_LIB}_LIBRARIES}
     -lpthread --coverage
index f21b289..ea6c3fc 100755 (executable)
@@ -73,8 +73,8 @@ SET(TC_SOURCES
   utc-Dali-NPatchUtilities.cpp
 )
 
-# Append list of test harness files (Won't get parsed for test cases)
-LIST(APPEND TC_SOURCES
+# List of test harness files (Won't get parsed for test cases)
+SET(TEST_HARNESS_SOURCES
   dali-toolkit-test-utils/toolkit-adaptor.cpp
   dali-toolkit-test-utils/toolkit-application.cpp
   dali-toolkit-test-utils/toolkit-clipboard.cpp
@@ -137,7 +137,14 @@ INCLUDE_DIRECTORIES(
     dali-toolkit-test-utils
 )
 
-ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.cpp ${TC_SOURCES})
+ADD_CUSTOM_COMMAND(
+  COMMAND ${SCRIPT_DIR}/tcheadgen.sh ${EXEC_NAME}.h ${TC_SOURCES}
+  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+  OUTPUT ${EXEC_NAME}.h
+  COMMENT "Generating test tables"
+  )
+
+ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.h ${EXEC_NAME}.cpp ${TC_SOURCES} ${TEST_HARNESS_SOURCES})
 TARGET_LINK_LIBRARIES(${EXEC_NAME}
     ${${CAPI_LIB}_LIBRARIES}
     -lpthread --coverage