diff --git a/.travis.yml b/.travis.yml index e317b0c2e..4e7585772 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,20 +32,40 @@ addons: secure: ${SONAR_TOKEN} before_install: + - cat /proc/cpuinfo + - lscpu + - bash -c 'echo "CPUs nproc: $(nproc)"' - docker pull tangocs/mysql:9.2.2 - docker pull tangocs/tango-cs:latest - git clone https://github.com/JoakimSoderberg/coveralls-cmake.git - git clone -b v4.2.2 https://${CI_USER_TOKEN}@github.com/zeromq/cppzmq.git cppzmq - git clone -b tango-9-lts https://${CI_USER_TOKEN}@github.com/tango-controls/tango-idl.git idl + - git clone -b Release_1.14 https://github.com/tango-controls/tango_admin.git - wget https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip && unzip build-wrapper-linux-x86.zip before_script: - - docker run --name mysql_db -e MYSQL_ROOT_PASSWORD=root -d tangocs/mysql:9.2.2 --sql-mode="" - - CONTAINER=$(docker run --name tango_cs -e TANGO_HOST=127.0.0.1:10000 -e MYSQL_HOST=mysql_db:3306 -e MYSQL_USER=tango -e MYSQL_PASSWORD=tango -e MYSQL_DATABASE=tango --link mysql_db:mysql_db -d tangocs/tango-cs:latest) - - IPADDR=$(docker inspect -f '{{ .NetworkSettings.IPAddress }}' $CONTAINER) - - TANGO_HOST=${IPADDR}:10000 - - docker build --build-arg APP_UID=$(id -u) --build-arg APP_GID=$(id -g) -t cpp_tango .travis/${OS_TYPE} - - docker run --name cpp_tango -e TANGO_HOST=${TANGO_HOST} -e BINTRAY_USER_NAME=tango-ci -e BINTRAY_API_KEY=${CI_BINTRAY_API_KEY} -e COVERALLS_REPO_TOKEN=${COVERALLS_REPO_TOKEN} --link tango_cs:tango_cs -v `pwd`:/home/tango/src -v `pwd`/idl:/home/tango/idl -v `pwd`/cppzmq:/home/tango/cppzmq -v `pwd`/coveralls-cmake:/home/tango/coveralls-cmake -v `pwd`/build-wrapper-linux-x86:/home/tango/build-wrapper-linux-x86 -dit cpp_tango + - > + docker build + --build-arg APP_UID=$(id -u) + --build-arg APP_GID=$(id -g) + -t cpp_tango + .travis/${OS_TYPE} + - > + docker run + --name cpp_tango + -e TANGO_HOST=${TANGO_HOST} + -e BINTRAY_USER_NAME=tango-ci + -e BINTRAY_API_KEY=${CI_BINTRAY_API_KEY} + -e COVERALLS_REPO_TOKEN=${COVERALLS_REPO_TOKEN} + -v `pwd`:/home/tango/src + -v `pwd`/idl:/home/tango/idl + -v `pwd`/cppzmq:/home/tango/cppzmq + -v `pwd`/tango_admin:/home/tango/tango_admin + -v `pwd`/coveralls-cmake:/home/tango/coveralls-cmake + -v `pwd`/build-wrapper-linux-x86:/home/tango/build-wrapper-linux-x86 + -v /var/run/docker.sock:/var/run/docker.sock + -dit + cpp_tango - .travis/install_tango_idl.sh - .travis/install_cppzmq.sh #work around gcov ignored by sonar @@ -53,6 +73,7 @@ before_script: script: - .travis/${OS_TYPE}/run.sh + - .travis/install_tango_admin.sh - .travis/test.sh COVERALLS=OFF after_success: @@ -68,7 +89,3 @@ deploy: after-script: - docker stop cpp_tango - docker rm cpp_tango - - docker stop tango_cs - - docker rm tango_cs - - docker stop mysql_db - - docker rm mysql_db diff --git a/.travis/debian7/Dockerfile b/.travis/debian7/Dockerfile index f94db5356..4e11086b8 100644 --- a/.travis/debian7/Dockerfile +++ b/.travis/debian7/Dockerfile @@ -28,10 +28,26 @@ RUN /tmp/cmake-install.sh --skip-license --exclude-subdir RUN apt-get install -y omniidl libomniorb4-dev libcos4-dev libomnithread3-dev libzmq3-dev +RUN apt-get install -y \ + apt-transport-https \ + ca-certificates \ + curl \ + gnupg2 \ + software-properties-common \ + python-software-properties \ + && curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \ + && add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/debian wheezy stable" \ + && sed -i -e '/^deb-src.*docker.*/d' /etc/apt/sources.list \ + && apt-get update \ + && apt-get install -y docker-ce + RUN groupadd -g "$APP_GID" tango RUN useradd -u "$APP_UID" -g "$APP_GID" -ms /bin/bash tango +RUN usermod -a -G docker tango + ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig USER tango diff --git a/.travis/debian8/Dockerfile b/.travis/debian8/Dockerfile index f550f90e1..02e076c0f 100644 --- a/.travis/debian8/Dockerfile +++ b/.travis/debian8/Dockerfile @@ -16,10 +16,24 @@ RUN apt-get install -y curl lsb-release RUN apt-get install -y omniidl libomniorb4-dev libcos4-dev libomnithread3-dev libzmq3-dev +RUN apt-get install -y \ + apt-transport-https \ + ca-certificates \ + curl \ + gnupg2 \ + software-properties-common \ + && curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \ + && add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/debian jessie stable" \ + && apt-get update \ + && apt-get install -y docker-ce + RUN groupadd -g "$APP_GID" tango RUN useradd -u "$APP_UID" -g "$APP_GID" -ms /bin/bash tango +RUN usermod -a -G docker tango + ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig USER tango diff --git a/.travis/debian8/run.sh b/.travis/debian8/run.sh index 62e1240ce..dda177f75 100755 --- a/.travis/debian8/run.sh +++ b/.travis/debian8/run.sh @@ -7,10 +7,11 @@ docker exec cpp_tango mkdir -p /home/tango/src/build echo "Run cmake cppTango in $CMAKE_BUILD_TYPE mode" echo "Using COVERALLS=$COVERALLS" -docker exec cpp_tango cmake -H/home/tango/src -B/home/tango/src/build -DCOVERALLS=$COVERALLS -DCOVERALLS_MODULE_PATH=/home/tango/coveralls-cmake/cmake -DCMAKE_VERBOSE_MAKEFILE=true -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE +docker exec cpp_tango cmake -H/home/tango/src -B/home/tango/src/build -DCOVERALLS=$COVERALLS -DCOVERALLS_MODULE_PATH=/home/tango/coveralls-cmake/cmake -DCMAKE_VERBOSE_MAKEFILE=true -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ + -DCMAKE_CTEST_COMMAND="$([[ "$COVERALLS" == "ON" ]] && echo '/home/tango/src/.travis/run_ctest.sh' || echo 'ctest')" if [ $? -ne "0" ] then exit -1 fi -docker exec cpp_tango /home/tango/build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir /home/tango/src/bw-output make -C /home/tango/src/build -j 2 \ No newline at end of file +docker exec cpp_tango /home/tango/build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir /home/tango/src/bw-output make -C /home/tango/src/build -j 2 diff --git a/.travis/debian9/Dockerfile b/.travis/debian9/Dockerfile index 31e26dc7b..31b1e1f03 100644 --- a/.travis/debian9/Dockerfile +++ b/.travis/debian9/Dockerfile @@ -14,10 +14,24 @@ RUN apt-get install -y curl lsb-release RUN apt-get install -y omniidl libomniorb4-dev libcos4-dev libomnithread3-dev libzmq3-dev +RUN apt-get install -y \ + apt-transport-https \ + ca-certificates \ + curl \ + gnupg2 \ + software-properties-common \ + && curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \ + && add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/debian stretch stable" \ + && apt-get update \ + && apt-get install -y docker-ce + RUN groupadd -g "$APP_GID" tango RUN useradd -u "$APP_UID" -g "$APP_GID" -ms /bin/bash tango +RUN usermod -a -G docker tango + ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig USER tango diff --git a/.travis/install_tango_admin.sh b/.travis/install_tango_admin.sh new file mode 100755 index 000000000..cc6c44efc --- /dev/null +++ b/.travis/install_tango_admin.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +echo "Install tango" +docker exec --user root cpp_tango make -C /home/tango/src/build install +if [ $? -ne 0 ] +then + exit 1 +fi + +admin_dir="/home/tango/tango_admin" + +echo "Build tango_admin" +docker exec cpp_tango mkdir -p "${admin_dir}/build" +docker exec cpp_tango cmake -H"${admin_dir}" -B"${admin_dir}/build" +docker exec cpp_tango make -C "${admin_dir}/build" +if [ $? -ne 0 ] +then + exit 1 +fi + +echo "Install tango_admin" +docker exec --user root cpp_tango cp "${admin_dir}/build/tango_admin" /usr/local/bin +if [ $? -ne "0" ] +then + exit 1 +fi diff --git a/.travis/run_ctest.sh b/.travis/run_ctest.sh new file mode 100755 index 000000000..4376c6b10 --- /dev/null +++ b/.travis/run_ctest.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +build_dir="/home/tango/src/build" + +if ! docker exec \ + -w "${build_dir}" \ + cpp_tango \ + ctest \ + -output-on-failure \ + -j8 +then + if ! docker exec \ + -w "${build_dir}" \ + cpp_tango ctest \ + --output-on-failure \ + --rerun-failed \ + --repeat-until-fail 2 + then + exit 1 + fi +fi diff --git a/.travis/test.sh b/.travis/test.sh index f19eeb868..fbef367ad 100755 --- a/.travis/test.sh +++ b/.travis/test.sh @@ -1,28 +1,21 @@ #!/usr/bin/env bash -TEST_COMMAND="exec ctest --output-on-failure" -if [ $COVERALLS = "ON" ] -then - TEST_COMMAND="exec make coveralls" -fi +build_dir="/home/tango/src/build" -echo "PreTest" -docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/cpp_test_suite/environment; exec ./pre_test.sh' -if [ $? -ne "0" ] -then - exit -1 -fi -echo "Test" -echo "TEST_COMMAND=$TEST_COMMAND" -docker exec cpp_tango /bin/sh -c "cd /home/tango/src/build; $TEST_COMMAND" -if [ $? -ne "0" ] -then - exit -1 +if [[ "$COVERALLS" == "ON" ]]; then + if ! docker exec \ + -w "${build_dir}" \ + cpp_tango \ + make coveralls + then + exit 1 + fi +else + if ! docker exec \ + -w "${build_dir}" \ + cpp_tango \ + ../.travis/run_ctest.sh + then + exit 1 + fi fi - -echo "PostTest" -docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/cpp_test_suite/environment; exec ./post_test.sh' -if [ $? -ne "0" ] -then - exit -1 -fi \ No newline at end of file diff --git a/INSTALL.md b/INSTALL.md index 72f7e92fa..3ef9d81a9 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -122,128 +122,79 @@ $ cmake .. $ make ``` -### Start TANGO environment - -``` -$ make start-tango -Setup test environment -557e3c8a3daa2b75aac4fe04562bac32570db0ace08edd06a23cebaa7fd86f5e -CONTAINER=27bad3659305155c33d99505c4836b616d9c2a6de3431229e79b71a020f18455 -TANGO_HOST=172.17.0.3:10000 -Create tango_host file -Wait till tango-cs is online -``` - -This process takes ~30 s - ### Run tests -``` -$ make run-tests -TANGO_HOST=172.17.0.3:10000 -Run conf_devtest -Added test server : DevTest/test -> test/debian8/10, class : DevTest -Added test server : DevTest/test -> test/debian8/11, class : DevTest -Added test server : DevTest/test -> test/debian8/12, class : DevTest - -Added test server : FwdTest/test -> test/fwd_debian8/10, class : FwdTest - -Added pseudo server : DsCache/test -> test/cache1/1, class : CacheTest1 -Added pseudo server : DsCache/test -> test/cache1/2, class : CacheTest1 -Added pseudo server : DsCache/test -> test/cache2/1, class : CacheTest2 - - - -Constructing a list of tests -Done constructing a list of tests -Checking test dependency graph... -Checking test dependency graph end -test 1 - Start 1: log4tango_test - - - -100% tests passed, 0 tests failed out of 59 - -Total Test time (real) = 843.30 sec +From `build/` directory run: -Run command: /home/tango/src/build/cpp_test_suite/environment/post_test.sh ``` +$ ctest --output-on-failure --parallel 4 -The whole test suite takes ~ 15 min +Test project /home/tango-cs/Documents/cppTango/build + Start 54: old_tests::ring_depth + Start 66: asyn::asyn_cmd + Start 77: event::per_event + Start 83: event::user_event + 1/93 Test #83: event::user_event ................. Passed 22.65 sec -### Setup and run individual tests +... -To run individual tests use TANGO_HOST provided by the `start-tango` target. +90/93 Test #1: log4tango_test .................... Passed 0.20 sec +91/93 Test #39: CXX::cxx_nan_inf_in_prop .......... Passed 13.28 sec +92/93 Test #43: old_tests::attr_types ............. Passed 12.89 sec +93/93 Test #14: CXX::cxx_attr_conf ................ Passed 12.81 sec -Make sure TANGO_HOST is set correctly: +100% tests passed, 0 tests failed out of 93 -``` -$ cd build -$ cat tango_host -#!/bin/bash -export TANGO_HOST=172.17.0.3:10000 +Total Test time (real) = 546.93 sec ``` -TANGO_HOST must be the same as what `start-tango` has returned. +Test output and device server logs are collected in `build/cpp_test_suite/test_results`. -``` -$ . tango_host -``` - -Now run some test: +### Run individual tests ``` -$ ctest -R attr_misc -V -UpdateCTestConfiguration from :/storage/Projects/org.tango/git/cppTango/build/DartConfiguration.tcl -Parse Config file:/storage/Projects/org.tango/git/cppTango/build/DartConfiguration.tcl - Add coverage exclude regular expressions. -UpdateCTestConfiguration from :/storage/Projects/org.tango/git/cppTango/build/DartConfiguration.tcl -Parse Config file:/storage/Projects/org.tango/git/cppTango/build/DartConfiguration.tcl -Test project /storage/Projects/org.tango/git/cppTango/build -Run command: /storage/Projects/org.tango/git/cppTango/build/cpp_test_suite/environment/pre_test.sh -TANGO_HOST=172.17.0.3:10000 -Run conf_devtest - +$ ctest -R old_tests::attr_misc -V + +UpdateCTestConfiguration from :/home/tango-cs/Documents/cppTango/build/DartConfiguration.tcl +Parse Config file:/home/tango-cs/Documents/cppTango/build/DartConfiguration.tcl +UpdateCTestConfiguration from :/home/tango-cs/Documents/cppTango/build/DartConfiguration.tcl +Parse Config file:/home/tango-cs/Documents/cppTango/build/DartConfiguration.tcl +Test project /home/tango-cs/Documents/cppTango/build Constructing a list of tests Done constructing a list of tests +Updating test list for fixtures +Added 0 tests to meet fixture requirements Checking test dependency graph... Checking test dependency graph end -test 12 - Start 12: old_tests::attr_misc - -12: Test command: /storage/Projects/org.tango/git/cppTango/build/cpp_test_suite/old_tests/attr_misc "test/debian8/10" -12: Test timeout computed to be: 1500 -12: -12: new DeviceProxy(test/debian8/10) returned -12: -12: Setting/Getting attribute info --> OK -12: Writing outside attribute limits --> OK -12: Min alarm detection (on a float spectrum) --> OK -12: Reset min alarm detection --> OK -12: Max alarm detection (on a float spectrum) --> OK -12: Reset max alarm detection --> OK -12: Min alarm detection (on a unsigned short spectrum) --> OK -12: Reset min alarm detection --> OK -12: Max alarm detection (on a unsigned short spectrum) --> OK -12: Reset max alarm detection --> OK -12: Setting/Getting V5 attribute info --> OK -12: Alarm, Warning level detection --> OK -12: Exception when trying to change "hard coded" properties --> OK -1/1 Test #12: old_tests::attr_misc ............. Passed 0.29 sec +test 49 + Start 49: old_tests::attr_misc + +49: Test command: /home/tango-cs/Documents/cppTango/build/cpp_test_suite/environment/run_with_fixture.sh "/home/tango-cs/Documents/cppTango/build/cpp_test_suite/old_tests/attr_misc" "test/debian8/10" +49: Test timeout computed to be: 1500 +49: +49: new DeviceProxy(test/debian8/10) returned +49: +49: Setting/Getting attribute info --> OK +49: Writing outside attribute limits --> OK +49: Min alarm detection (on a float spectrum) --> OK +49: Reset min alarm detection --> OK +49: Max alarm detection (on a float spectrum) --> OK +49: Reset max alarm detection --> OK +49: Min alarm detection (on a unsigned short spectrum) --> OK +49: Reset min alarm detection --> OK +49: Max alarm detection (on a unsigned short spectrum) --> OK +49: Reset max alarm detection --> OK +49: Setting/Getting V5 attribute info --> OK +49: Alarm, Warning level detection --> OK +49: Exception when trying to change "hard coded" properties --> OK +1/1 Test #49: old_tests::attr_misc ............. Passed 8.55 sec The following tests passed: old_tests::attr_misc 100% tests passed, 0 tests failed out of 1 -Total Test time (real) = 0.33 sec +Total Test time (real) = 8.56 sec ``` See [CTest guide](https://cmake.org/Wiki/CMake/Testing_With_CTest) - -### Stop TANGO environment - -``` -$ make stop-tango -``` diff --git a/cpp_test_suite/CMakeLists.txt b/cpp_test_suite/CMakeLists.txt index 1297c9e74..25c2ec668 100644 --- a/cpp_test_suite/CMakeLists.txt +++ b/cpp_test_suite/CMakeLists.txt @@ -2,8 +2,6 @@ project(test_suite) set(CMAKE_CXX_FLAGS_RELEASE "-O0 -g") -configure_file(CTestCustom.cmake CTestCustom.cmake) - #TODO different OS set(SERV_NAME "DevTest") set(INST_NAME "test") @@ -29,6 +27,13 @@ macro(TEST_SUITE_ADD_TEST test) # add_test(NAME "CPP::${test}" COMMAND $ ${DEV1} ${DEV2} ${DEV3} ${DEV1_ALIAS}) endmacro() +function(tango_add_test name_tag name command_tag command) + add_test( + NAME "${name}" + COMMAND "${CMAKE_BINARY_DIR}/cpp_test_suite/environment/run_with_fixture.sh" "${command}" + ${ARGN}) +endfunction() + add_subdirectory(cxxtest) add_subdirectory(old_tests) diff --git a/cpp_test_suite/CTestCustom.cmake b/cpp_test_suite/CTestCustom.cmake deleted file mode 100644 index 44e09541c..000000000 --- a/cpp_test_suite/CTestCustom.cmake +++ /dev/null @@ -1,2 +0,0 @@ -set(CTEST_CUSTOM_PRE_TEST ${PROJECT_BINARY_DIR}/environment/pre_test.sh) -set(CTEST_CUSTOM_POST_TEST ${PROJECT_BINARY_DIR}/environment/post_test.sh) \ No newline at end of file diff --git a/cpp_test_suite/asyn/CMakeLists.txt b/cpp_test_suite/asyn/CMakeLists.txt index 2f8ae5c70..3947ee77e 100644 --- a/cpp_test_suite/asyn/CMakeLists.txt +++ b/cpp_test_suite/asyn/CMakeLists.txt @@ -16,14 +16,14 @@ foreach(TEST ${TESTS}) TEST_SUITE_ADD_TEST(${TEST}) endforeach(TEST) -add_test(NAME "asyn::asyn_cmd" COMMAND $ ${DEV1}) -add_test(NAME "asyn::asyn_attr" COMMAND $ ${DEV1}) -add_test(NAME "asyn::asyn_attr_multi" COMMAND $ ${DEV1}) -add_test(NAME "asyn::asyn_write_attr" COMMAND $ ${DEV1}) -add_test(NAME "asyn::asyn_write_attr_multi" COMMAND $ ${DEV1}) -add_test(NAME "asyn::asyn_cb" COMMAND $ ${DEV1} ${DEV2}) -add_test(NAME "asyn::asyn_cb2" COMMAND $ ${DEV1} ${DEV2}) -add_test(NAME "asyn::asyn_cb_cmd" COMMAND $ ${DEV1}) -add_test(NAME "asyn::asyn_attr_cb" COMMAND $ ${DEV1}) -add_test(NAME "asyn::asyn_write_cb" COMMAND $ ${DEV1}) -add_test(NAME "asyn::auto_asyn_cmd" COMMAND $ ${DEV1}) \ No newline at end of file +tango_add_test(NAME "asyn::asyn_cmd" COMMAND $ ${DEV1}) +tango_add_test(NAME "asyn::asyn_attr" COMMAND $ ${DEV1}) +tango_add_test(NAME "asyn::asyn_attr_multi" COMMAND $ ${DEV1}) +tango_add_test(NAME "asyn::asyn_write_attr" COMMAND $ ${DEV1}) +tango_add_test(NAME "asyn::asyn_write_attr_multi" COMMAND $ ${DEV1}) +tango_add_test(NAME "asyn::asyn_cb" COMMAND $ ${DEV1} ${DEV2}) +tango_add_test(NAME "asyn::asyn_cb2" COMMAND $ ${DEV1} ${DEV2}) +tango_add_test(NAME "asyn::asyn_cb_cmd" COMMAND $ ${DEV1}) +tango_add_test(NAME "asyn::asyn_attr_cb" COMMAND $ ${DEV1}) +tango_add_test(NAME "asyn::asyn_write_cb" COMMAND $ ${DEV1}) +tango_add_test(NAME "asyn::auto_asyn_cmd" COMMAND $ ${DEV1}) diff --git a/cpp_test_suite/cxxtest/CMakeLists.txt b/cpp_test_suite/cxxtest/CMakeLists.txt index 1d9a1b93e..68bfa2695 100644 --- a/cpp_test_suite/cxxtest/CMakeLists.txt +++ b/cpp_test_suite/cxxtest/CMakeLists.txt @@ -18,7 +18,7 @@ macro(CXX_GENERATE_TEST name) target_link_libraries(${name} PRIVATE tango ${CMAKE_THREAD_LIBS_INIT}) target_compile_definitions(${name} PRIVATE "-DVALGRIND -D_PTHREADS -D_REENTRANT") - add_test(NAME "CXX::${name}" COMMAND $ + tango_add_test(NAME "CXX::${name}" COMMAND $ --device1=${DEV1} --device2=${DEV2} --device3=${DEV3} @@ -82,18 +82,4 @@ CXX_GENERATE_TEST(cxx_stateless_subscription) CXX_GENERATE_TEST(cxx_nan_inf_in_prop) CXX_GENERATE_TEST(cxx_asyn_reconnection) -#utilities -configure_file(bin/start_server.sh.cmake ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/start_server.sh @ONLY) -configure_file(bin/kill_server.sh.cmake ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/kill_server.sh @ONLY) - -# now copy the temporary into the final destination, setting the permissions -file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/start_server.sh - DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin - FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ - GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) -file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/kill_server.sh - DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin - FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ - GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) - configure_file(include/config.h.cmake include/config.h @ONLY) diff --git a/cpp_test_suite/cxxtest/bin/kill_server.sh.cmake b/cpp_test_suite/cxxtest/bin/kill_server.sh.cmake deleted file mode 100644 index 84ab8a367..000000000 --- a/cpp_test_suite/cxxtest/bin/kill_server.sh.cmake +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -kill_servers(){ - PIDS=`ps -e | grep DevTest | grep -v grep | awk '{print $1}'` - echo "PIDS = $PIDS" - for pid in $PIDS - do - echo "Killing process with PID $pid" - kill $pid - done - - sleep 2 -} - -kill_servers \ No newline at end of file diff --git a/cpp_test_suite/cxxtest/bin/start_server.sh.cmake b/cpp_test_suite/cxxtest/bin/start_server.sh.cmake deleted file mode 100644 index da026e55b..000000000 --- a/cpp_test_suite/cxxtest/bin/start_server.sh.cmake +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -start_server(){ - echo "Starting DevTest $1" - @PROJECT_BINARY_DIR@/cpp_test_ds/DevTest $1 -v5 1>@PROJECT_BINARY_DIR@/cpp_test_ds/DevTest_$1.out 2>&1 & - echo $! > @PROJECT_BINARY_DIR@/cpp_test_ds/DevTest_$1.pid - - sleep 7 - echo "Done. PID="`cat @PROJECT_BINARY_DIR@/cpp_test_ds/DevTest_$1.pid` -} - -start_server $1 \ No newline at end of file diff --git a/cpp_test_suite/cxxtest/include/config.h.cmake b/cpp_test_suite/cxxtest/include/config.h.cmake index e01262334..bee04809a 100644 --- a/cpp_test_suite/cxxtest/include/config.h.cmake +++ b/cpp_test_suite/cxxtest/include/config.h.cmake @@ -5,8 +5,8 @@ namespace Tango { const std::string kProjectBinaryDir{"@PROJECT_BINARY_DIR@"}; - const std::string kStartServerCmd{"@CMAKE_CURRENT_BINARY_DIR@/bin/start_server.sh "}; - const std::string kKillServerCmd{"@CMAKE_CURRENT_BINARY_DIR@/bin/kill_server.sh"}; + const std::string kStartServerCmd{"@CMAKE_BINARY_DIR@/cpp_test_suite/environment/start_server.sh "}; + const std::string kKillServerCmd{"@CMAKE_BINARY_DIR@/cpp_test_suite/environment/kill_server.sh"}; } -#endif \ No newline at end of file +#endif diff --git a/cpp_test_suite/environment/CMakeLists.txt b/cpp_test_suite/environment/CMakeLists.txt index 4ccab1f55..e4947b71f 100644 --- a/cpp_test_suite/environment/CMakeLists.txt +++ b/cpp_test_suite/environment/CMakeLists.txt @@ -1,23 +1,10 @@ #TODO windows -configure_file(tango_host.cmake ${PROJECT_BINARY_DIR}/tango_host @ONLY) -configure_file(pre_test.sh.cmake pre_test.sh @ONLY) -execute_process(COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/pre_test.sh) -configure_file(post_test.sh.cmake post_test.sh @ONLY) -execute_process(COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/post_test.sh) +configure_file(run_with_fixture.sh.cmake run_with_fixture.sh @ONLY) +execute_process(COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/run_with_fixture.sh) -execute_process(COMMAND chmod +x ${CMAKE_CURRENT_SOURCE_DIR}/setup.sh) -add_custom_target(start-tango ${CMAKE_CURRENT_SOURCE_DIR}/setup.sh - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - SOURCES setup.sh) +configure_file(start_server.sh.cmake start_server.sh @ONLY) +execute_process(COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/start_server.sh) -configure_file(run.sh.cmake run.sh @ONLY) -execute_process(COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/run.sh) -add_custom_target(run-tests ${CMAKE_CURRENT_BINARY_DIR}/run.sh - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - SOURCES run.sh.cmake) - -execute_process(COMMAND chmod +x ${CMAKE_CURRENT_SOURCE_DIR}/shutdown.sh) -add_custom_target(stop-tango ${CMAKE_CURRENT_SOURCE_DIR}/shutdown.sh - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - SOURCES shutdown.sh) \ No newline at end of file +configure_file(kill_server.sh.cmake kill_server.sh @ONLY) +execute_process(COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/kill_server.sh) diff --git a/cpp_test_suite/environment/kill_server.sh.cmake b/cpp_test_suite/environment/kill_server.sh.cmake new file mode 100755 index 000000000..ac0a8aeea --- /dev/null +++ b/cpp_test_suite/environment/kill_server.sh.cmake @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# vim: syntax=sh + +pids="$(find \ + "$TANGO_TC_DIRECTORY/server_pids/" \ + -maxdepth 1 \ + -mindepth 1 \ + -type d \ + -printf "%f\n" \ + 2> /dev/null)" + +echo "Killing PIDS =" $pids + +kill $pids &> /dev/null + +sleep 2 diff --git a/cpp_test_suite/environment/post_test.sh.cmake b/cpp_test_suite/environment/post_test.sh.cmake deleted file mode 100644 index 16f419921..000000000 --- a/cpp_test_suite/environment/post_test.sh.cmake +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -#TODO Starter? - -PID=$(<@PROJECT_BINARY_DIR@/cpp_test_ds/DevTest_@INST_NAME@.pid) -kill $PID - -PID=$(<@PROJECT_BINARY_DIR@/cpp_test_ds/fwd_ds/FwdTest_@INST_NAME@.pid) -kill $PID \ No newline at end of file diff --git a/cpp_test_suite/environment/pre_test.sh.cmake b/cpp_test_suite/environment/pre_test.sh.cmake deleted file mode 100644 index 5dae38aff..000000000 --- a/cpp_test_suite/environment/pre_test.sh.cmake +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -source tango_host - -echo "TANGO_HOST=$TANGO_HOST" - -echo "Run conf_devtest" -@PROJECT_BINARY_DIR@/new_tests/conf_devtest @SERV_NAME@/@INST_NAME@ @DEV1@ @DEV2@ @DEV3@ @DEV1_ALIAS@ @ATTR_ALIAS@ @FWD_DEV@ @DEV20@ - -echo "Start DevTest" -echo "DevTest libraries:" -echo "`ldd @PROJECT_BINARY_DIR@/cpp_test_ds/DevTest`" -#TODO Starter? -@PROJECT_BINARY_DIR@/cpp_test_ds/DevTest @INST_NAME@ -v5 1>@PROJECT_BINARY_DIR@/cpp_test_ds/DevTest_@INST_NAME@.out 2>&1 & -echo $! > @PROJECT_BINARY_DIR@/cpp_test_ds/DevTest_@INST_NAME@.pid - -sleep 3 - -echo "Start FwdTest" -echo "FwdTest libraries:" -echo "`ldd @PROJECT_BINARY_DIR@/cpp_test_ds/fwd_ds/FwdTest`" -@PROJECT_BINARY_DIR@/cpp_test_ds/fwd_ds/FwdTest @INST_NAME@ -v5 1>@PROJECT_BINARY_DIR@/cpp_test_ds/fwd_ds/FwdTest_@INST_NAME@.out 2>&1 & -echo $! > @PROJECT_BINARY_DIR@/cpp_test_ds/fwd_ds/FwdTest_@INST_NAME@.pid - -sleep 3 \ No newline at end of file diff --git a/cpp_test_suite/environment/run.sh.cmake b/cpp_test_suite/environment/run.sh.cmake deleted file mode 100644 index 3aaeabb43..000000000 --- a/cpp_test_suite/environment/run.sh.cmake +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -source tango_host -echo "TANGO_HOST=$TANGO_HOST" -@CMAKE_CTEST_COMMAND@ -V \ No newline at end of file diff --git a/cpp_test_suite/environment/run_with_fixture.sh.cmake b/cpp_test_suite/environment/run_with_fixture.sh.cmake new file mode 100755 index 000000000..b2920f7e4 --- /dev/null +++ b/cpp_test_suite/environment/run_with_fixture.sh.cmake @@ -0,0 +1,150 @@ +#!/usr/bin/env bash +# vim: syntax=sh + +if [ $# -lt 1 ]; then + echo "usage: $0 [args...]" + exit 1 +fi + +tc_exec="$1" +tc_exec_name="$(basename "$tc_exec")" +tc_name="${tc_exec_name}_$(date '+%Y%m%d.%H%M%S.%N')" +shift 1 + +tc_tango_container="${tc_name}_tango_cs" +tc_mysql_container="${tc_name}_mysql_db" + +tc_directory="@PROJECT_BINARY_DIR@/test_results/${tc_name}" +mkdir -p "${tc_directory}" + +function teardown { + kill "$tc_fwdtest_pid" "$tc_devtest_pid" &> /dev/null + docker stop "$tc_tango_container" "$tc_mysql_container" &> /dev/null +} + + +# --- setup database ---------------------------------------------------------- + +docker run \ + --name "$tc_mysql_container" \ + --rm \ + -e MYSQL_ROOT_PASSWORD=root \ + -e MYSQL_INITDB_SKIP_TZINFO=1 \ + -d \ + tangocs/mysql:9.2.2 \ + --sql-mode="" \ + --innodb=OFF \ + --default-storage-engine=MyISAM \ + > /dev/null + +docker run \ + --name "$tc_tango_container" \ + --rm \ + -e TANGO_HOST=127.0.0.1:10000 \ + -e MYSQL_HOST=mysql_db:3306 \ + -e MYSQL_USER=tango \ + -e MYSQL_PASSWORD=tango \ + -e MYSQL_DATABASE=tango \ + --link "$tc_mysql_container":mysql_db \ + -d \ + tangocs/tango-cs:latest \ + > /dev/null + +tc_tango_ipaddr="$(docker inspect \ + -f '{{ .NetworkSettings.IPAddress }}' \ + "$tc_tango_container")" + +export TANGO_HOST="$tc_tango_ipaddr:10000" + +if hash tango_admin 2>/dev/null; then + if ! tango_admin --ping-database 30; then + echo "Failed to ping database" + teardown + exit 1 + fi +else + sleep 30 +fi + + +# -- setup devices ------------------------------------------------------------ + +instance_lower="$(echo '@INST_NAME@' | awk '{print tolower($0)}')" + +"@PROJECT_BINARY_DIR@/new_tests/conf_devtest" \ + @SERV_NAME@/@INST_NAME@ \ + @DEV1@ \ + @DEV2@ \ + @DEV3@ \ + @DEV1_ALIAS@ \ + @ATTR_ALIAS@ \ + @FWD_DEV@ \ + @DEV20@ \ + &> "${tc_directory}/conf_devtest.out" + +"@PROJECT_BINARY_DIR@/cpp_test_ds/DevTest" @INST_NAME@ -v5 \ + &> "${tc_directory}/DevTest_@INST_NAME@.out" & + +tc_devtest_pid="$!" + +if hash tango_admin 2>/dev/null; then + if ! tango_admin --ping-device "dserver/devtest/${instance_lower}" 3; then + echo "Failed to ping DevTest" + teardown + exit 1 + fi +else + sleep 3 +fi + +"@PROJECT_BINARY_DIR@/cpp_test_ds/fwd_ds/FwdTest" @INST_NAME@ -v5 \ + &> "${tc_directory}/FwdTest_@INST_NAME@.out" & + +tc_fwdtest_pid="$!" + +if hash tango_admin 2>/dev/null; then + if ! tango_admin --ping-device "dserver/fwdtest/${instance_lower}" 3; then + echo "Failed to ping FwdTest" + teardown + exit 1 + fi +else + sleep 3 +fi + + +# --- run test ---------------------------------------------------------------- + +export TANGO_TC_DIRECTORY="$tc_directory" + +set -o pipefail + +"$tc_exec" "$@" 2>&1 | tee "${tc_directory}/${tc_exec_name}.out" + +tc_exit_code="$?" + +set +o pipefail + +echo "$tc_exit_code" > "${tc_directory}/${tc_exec_name}_exit_code.out" + + +# --- teardown ---------------------------------------------------------------- + +( + extra_pids="$(find \ + "${tc_directory}/server_pids/" \ + -maxdepth 1 \ + -mindepth 1 \ + -type d \ + -printf "%f\n" \ + 2> /dev/null)" + + kill $extra_pids &> /dev/null + + teardown +) & + + +# --- exit -------------------------------------------------------------------- + +exit "$tc_exit_code" diff --git a/cpp_test_suite/environment/setup.sh b/cpp_test_suite/environment/setup.sh deleted file mode 100644 index 4357d52f9..000000000 --- a/cpp_test_suite/environment/setup.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -echo "Setup test environment" - -#run mysql-tango docker -docker run --name mysql_db \ - -e MYSQL_ROOT_PASSWORD=root \ - -d tangocs/mysql:9.2.2 --sql-mode="" - -#run tango-cs docker -CONTAINER=$(docker run --name tango_cs \ - -p 10000:10000 \ - -e TANGO_HOST=127.0.0.1:10000 \ - -e MYSQL_HOST=mysql_db:3306 \ - -e MYSQL_USER=tango \ - -e MYSQL_PASSWORD=tango \ - -e MYSQL_DATABASE=tango \ - --link mysql_db:mysql_db \ - -d tangocs/tango-cs:latest) - -echo "CONTAINER=$CONTAINER" - -IPADDR=$(docker inspect -f '{{ .NetworkSettings.IPAddress }}' $CONTAINER) -#export TANGO_HOST -TANGO_HOST=$IPADDR:10000 -echo "TANGO_HOST=$TANGO_HOST" -export TANGO_HOST - -echo "Create tango_host file" -echo "#!/bin/bash" > tango_host -echo "export TANGO_HOST=$TANGO_HOST" >> tango_host - -echo "Wait till tango-cs is online" -#TODO notification? -sleep 30 - -#ctest \ No newline at end of file diff --git a/cpp_test_suite/environment/shutdown.sh b/cpp_test_suite/environment/shutdown.sh deleted file mode 100644 index 771151e52..000000000 --- a/cpp_test_suite/environment/shutdown.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -echo "Shutdown test environment" - -#kill tango-cs docker -docker stop tango_cs -docker rm tango_cs - -#kill mysql-tango docker -docker stop mysql_db -docker rm mysql_db - -echo "Revert tango_host file" -echo "TANGO_HOST=$TANGO_HOST" -echo "#!/bin/bash" > tango_host -echo "export TANGO_HOST=$TANGO_HOST" >> tango_host \ No newline at end of file diff --git a/cpp_test_suite/environment/start_server.sh.cmake b/cpp_test_suite/environment/start_server.sh.cmake new file mode 100755 index 000000000..b9b957821 --- /dev/null +++ b/cpp_test_suite/environment/start_server.sh.cmake @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# vim: syntax=sh + +instance="$1" + +index="$(find \ + "$TANGO_TC_DIRECTORY" \ + -maxdepth 1 \ + -mindepth 1 \ + -type f \ + -name "DevTest_${instance}.*.out" | wc -l)" + +echo "Starting DevTest/$instance" + +"@PROJECT_BINARY_DIR@/cpp_test_ds/DevTest" "$instance" -v5 \ + &> "${TANGO_TC_DIRECTORY}/DevTest_${instance}.${index}.out" & + +server_pid="$!" + +mkdir -p "${TANGO_TC_DIRECTORY}/server_pids/${server_pid}" + +if hash tango_admin 2>/dev/null; then + instance_lower="$(echo "$instance" | awk '{print tolower($0)}')" + tango_admin --ping-device "dserver/devtest/${instance_lower}" 7 +else + sleep 7 +fi + +echo "Done. PID = ${server_pid}" diff --git a/cpp_test_suite/environment/tango_host.cmake b/cpp_test_suite/environment/tango_host.cmake deleted file mode 100644 index 3a38ccf06..000000000 --- a/cpp_test_suite/environment/tango_host.cmake +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -export TANGO_HOST=@TANGO_HOST@ \ No newline at end of file diff --git a/cpp_test_suite/event/CMakeLists.txt b/cpp_test_suite/event/CMakeLists.txt index 073556010..6ada0b6ee 100644 --- a/cpp_test_suite/event/CMakeLists.txt +++ b/cpp_test_suite/event/CMakeLists.txt @@ -24,20 +24,20 @@ foreach(TEST ${TESTS}) TEST_SUITE_ADD_TEST(${TEST}) endforeach(TEST) -add_test(NAME "event::per_event" COMMAND $ ${DEV1} ${DEV2}) -add_test(NAME "event::att_type_event" COMMAND $ ${DEV1}) -add_test(NAME "event::change_event" COMMAND $ ${DEV1}) -add_test(NAME "event::change_event64" COMMAND $ ${DEV1}) -add_test(NAME "event::change_event_buffer" COMMAND $ ${DEV1}) -add_test(NAME "event::archive_event" COMMAND $ ${DEV1}) -add_test(NAME "event::user_event" COMMAND $ ${DEV1}) -add_test(NAME "event::multi_event" COMMAND $ ${DEV1}) -add_test(NAME "event::state_event" COMMAND $ ${DEV1}) -add_test(NAME "event::att_conf_event" COMMAND $ ${DEV1}) -add_test(NAME "event::att_conf_event_buffer" COMMAND $ ${DEV1}) -add_test(NAME "event::data_ready_event" COMMAND $ ${DEV1}) -add_test(NAME "event::data_ready_event_buffer" COMMAND $ ${DEV1}) -add_test(NAME "event::multi_dev_event" COMMAND $ ${DEV1} ${DEV2} ${DEV3}) -add_test(NAME "event::dev_intr_event" COMMAND $ ${DEV1}) -add_test(NAME "event::pipe_event" COMMAND $ ${DEV1}) -add_test(NAME "event::event_lock" COMMAND $ ${DEV1}) \ No newline at end of file +tango_add_test(NAME "event::per_event" COMMAND $ ${DEV1} ${DEV2}) +tango_add_test(NAME "event::att_type_event" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::change_event" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::change_event64" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::change_event_buffer" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::archive_event" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::user_event" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::multi_event" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::state_event" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::att_conf_event" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::att_conf_event_buffer" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::data_ready_event" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::data_ready_event_buffer" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::multi_dev_event" COMMAND $ ${DEV1} ${DEV2} ${DEV3}) +tango_add_test(NAME "event::dev_intr_event" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::pipe_event" COMMAND $ ${DEV1}) +tango_add_test(NAME "event::event_lock" COMMAND $ ${DEV1}) diff --git a/cpp_test_suite/event/att_conf_event_buffer.cpp b/cpp_test_suite/event/att_conf_event_buffer.cpp index 5a69f2d82..3c1417772 100644 --- a/cpp_test_suite/event/att_conf_event_buffer.cpp +++ b/cpp_test_suite/event/att_conf_event_buffer.cpp @@ -140,6 +140,16 @@ int main(int argc, char **argv) eve_id = device->subscribe_event(att_name,Tango::ATTR_CONF_EVENT,1,filters); + { + Tango::DevVarDoubleArray dvda(2); + dvda.length(2); + dvda[0] = 0.0; + dvda[1] = 0.0; + DeviceData d_in; + d_in << dvda; + device->command_inout("IOSetWAttrLimit", d_in); + } + // // Send 10 attribute configuration events // diff --git a/cpp_test_suite/event/event_lock.cpp b/cpp_test_suite/event/event_lock.cpp index 5cbba15dc..f5d345f06 100644 --- a/cpp_test_suite/event/event_lock.cpp +++ b/cpp_test_suite/event/event_lock.cpp @@ -45,6 +45,30 @@ void EventCallback::push_event(Tango::EventData *ed) } } +void set_abs_change(std::string device_name, std::string attribute_name) +{ + Tango::DbDatum attribute_datum(attribute_name); + attribute_datum << 1; + + Tango::DbDatum change_datum("abs_change"); + change_datum << 1; + + Tango::DbData data; + data.push_back(attribute_datum); + data.push_back(change_datum); + + Tango::DbAttribute attribute(attribute_name, device_name); + attribute.put_property(data); + + Tango::DeviceProxy device(device_name); + Tango::DeviceProxy admin_device(device.adm_name().c_str()); + Tango::DeviceData name_data; + name_data << device_name; + admin_device.command_inout("DevRestart", name_data); + + Tango_sleep(1); +} + int main(int argc, char *argv[]) { Tango::DeviceProxy *dev; @@ -63,6 +87,8 @@ int main(int argc, char *argv[]) try { + set_abs_change(devName, att_name); + dev = new Tango::DeviceProxy(devName); dev->poll_attribute(att_name, 1000); @@ -94,10 +120,12 @@ int main(int argc, char *argv[]) catch (Tango::DevFailed &ex) { Tango::Except::print_exception(ex); + assert(false); } catch (...) { cout << "Unknown exception....." << endl; + assert(false); } delete dev; diff --git a/cpp_test_suite/new_tests/cxx_mem_attr.cpp b/cpp_test_suite/new_tests/cxx_mem_attr.cpp index 1681eb8c1..7ce39d426 100644 --- a/cpp_test_suite/new_tests/cxx_mem_attr.cpp +++ b/cpp_test_suite/new_tests/cxx_mem_attr.cpp @@ -90,7 +90,8 @@ class MemAttrTestSuite: public CxxTest::TestSuite void test_One_memorized_attribute_failing_during_init_cmd(void) { - + DeviceAttribute short_attr_w("Short_attr_w", static_cast(10)); + TS_ASSERT_THROWS_NOTHING(device1->write_attribute(short_attr_w)); // // Ask the attribute to throw exception during any write call // diff --git a/cpp_test_suite/old_tests/CMakeLists.txt b/cpp_test_suite/old_tests/CMakeLists.txt index 668a8a6b8..33aa48228 100644 --- a/cpp_test_suite/old_tests/CMakeLists.txt +++ b/cpp_test_suite/old_tests/CMakeLists.txt @@ -51,33 +51,33 @@ endforeach(TEST) configure_file(locked_device_cmd.h.cmake locked_device_cmd.h @ONLY) target_include_directories(lock PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) -add_test(NAME "old_tests::misc_devproxy" COMMAND $ ${DEV1} ${SERV_NAME}/${INST_NAME}) +tango_add_test(NAME "old_tests::misc_devproxy" COMMAND $ ${DEV1} ${SERV_NAME}/${INST_NAME}) -add_test(NAME "old_tests::cmd_types" COMMAND $ ${DEV1} 10) +tango_add_test(NAME "old_tests::cmd_types" COMMAND $ ${DEV1} 10) -add_test(NAME "old_tests::attr_types" COMMAND $ ${DEV1} 10) -add_test(NAME "old_tests::att_conf" COMMAND $ ${DEV1}) -add_test(NAME "old_tests::misc_devdata" COMMAND $) -add_test(NAME "old_tests::misc_devattr" COMMAND $) -add_test(NAME "old_tests::write_attr" COMMAND $ ${DEV1} 10) -add_test(NAME "old_tests::copy_devproxy" COMMAND $ ${DEV1} ${DEV2} ${DEV3}) -add_test(NAME "old_tests::attr_misc" COMMAND $ ${DEV1}) -add_test(NAME "old_tests::obj_prop" COMMAND $) -add_test(NAME "old_tests::attr_proxy" COMMAND $ ${DEV1}/Short_attr_rw) -add_test(NAME "old_tests::write_attr_3" COMMAND $ ${DEV1} 10) -add_test(NAME "old_tests::read_hist_ext" COMMAND $ ${DEV1}) -add_test(NAME "old_tests::ring_depth" COMMAND $ ${DEV1}) -add_test(NAME "old_tests::mem_att" COMMAND $ ${DEV1}) -add_test(NAME "old_tests::state_attr" COMMAND $ ${DEV1}) -add_test(NAME "old_tests::rds" COMMAND $ ${DEV1}) -add_test(NAME "old_tests::ds_cache" COMMAND $) -add_test(NAME "old_tests::w_r_attr" COMMAND $ ${DEV1}) -add_test(NAME "old_tests::lock" COMMAND $ ${DEV1} ${DEV2}) -add_test(NAME "old_tests::sub_dev" COMMAND $ ${DEV1} ${DEV2} ${DEV3}) -add_test(NAME "old_tests::print_data" COMMAND $ ${DEV1}) -add_test(NAME "old_tests::attr_manip" COMMAND $ ${DEV1}) +tango_add_test(NAME "old_tests::attr_types" COMMAND $ ${DEV1} 10) +tango_add_test(NAME "old_tests::att_conf" COMMAND $ ${DEV1}) +tango_add_test(NAME "old_tests::misc_devdata" COMMAND $) +tango_add_test(NAME "old_tests::misc_devattr" COMMAND $) +tango_add_test(NAME "old_tests::write_attr" COMMAND $ ${DEV1} 10) +tango_add_test(NAME "old_tests::copy_devproxy" COMMAND $ ${DEV1} ${DEV2} ${DEV3}) +tango_add_test(NAME "old_tests::attr_misc" COMMAND $ ${DEV1}) +tango_add_test(NAME "old_tests::obj_prop" COMMAND $) +tango_add_test(NAME "old_tests::attr_proxy" COMMAND $ ${DEV1}/Short_attr_rw) +tango_add_test(NAME "old_tests::write_attr_3" COMMAND $ ${DEV1} 10) +tango_add_test(NAME "old_tests::read_hist_ext" COMMAND $ ${DEV1}) +tango_add_test(NAME "old_tests::ring_depth" COMMAND $ ${DEV1}) +tango_add_test(NAME "old_tests::mem_att" COMMAND $ ${DEV1}) +tango_add_test(NAME "old_tests::state_attr" COMMAND $ ${DEV1}) +tango_add_test(NAME "old_tests::rds" COMMAND $ ${DEV1}) +tango_add_test(NAME "old_tests::ds_cache" COMMAND $) +tango_add_test(NAME "old_tests::w_r_attr" COMMAND $ ${DEV1}) +tango_add_test(NAME "old_tests::lock" COMMAND $ ${DEV1} ${DEV2}) +tango_add_test(NAME "old_tests::sub_dev" COMMAND $ ${DEV1} ${DEV2} ${DEV3}) +tango_add_test(NAME "old_tests::print_data" COMMAND $ ${DEV1}) +tango_add_test(NAME "old_tests::attr_manip" COMMAND $ ${DEV1}) if (CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.9.2) - add_test(NAME "old_tests::size" COMMAND $) + tango_add_test(NAME "old_tests::size" COMMAND $) endif() -add_test(NAME "old_tests::ConfEventBugClient" COMMAND $ ${DEV3}) -add_test(NAME "old_tests::attr_conf_test" COMMAND $ ${DEV1}) +tango_add_test(NAME "old_tests::ConfEventBugClient" COMMAND $ ${DEV3}) +tango_add_test(NAME "old_tests::attr_conf_test" COMMAND $ ${DEV1})