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
)
#!/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
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
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 )
}
#!/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
}')
}
+
+
function tc_names {
if [[ -z "$1" ]]; then
exit
err_flag = 0;
tc_list = "";
}
+ BEGINFILE {
+ start_fun = "NULL";
+ clean_fun = "NULL";
+ }
/^void .*startup\(void\)/ {
gsub(/^void /, "");
gsub(/\(void\)$/,"");
' $*
}
-
-# 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
# 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
#!/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 {
print "#endif // " HEADER_NAME
}' $TFILE > $FILE
unlink $TFILE
-
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"
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;
# 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
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
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
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})
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
/*
- * 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.
#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;
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)
#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"
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)
/*
- * 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.
#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;
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)
#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;
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)
END_TEST;
}
-
#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;
{
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)
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
../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
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
${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
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
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