From 0648db82e6a5694befcf9e2fff25f4392e6814e1 Mon Sep 17 00:00:00 2001 From: Frederic Marec Date: Tue, 28 Aug 2018 09:32:19 +0200 Subject: Init test directory for iiodevices Change-Id: I8b76687cfff4824d1d83a7f77336a136fa79b9d6 Signed-off-by: Frederic Marec --- test/CMakeLists.txt | 27 +++++++++++++++++++++ test/afb-test.sh | 31 +++++++++++++++++++++++++ test/afb-test/CMakeLists.txt | 22 ++++++++++++++++++ test/afb-test/etc/CMakeLists.txt | 31 +++++++++++++++++++++++++ test/afb-test/etc/aft-iiodevices_config.json | 22 ++++++++++++++++++ test/afb-test/fixtures/CMakeLists.txt | 31 +++++++++++++++++++++++++ test/afb-test/tests/CMakeLists.txt | 31 +++++++++++++++++++++++++ test/afb-test/tests/iiodevices_BasicAPITest.lua | 26 +++++++++++++++++++++ 8 files changed, 221 insertions(+) create mode 100644 test/CMakeLists.txt create mode 100755 test/afb-test.sh create mode 100644 test/afb-test/CMakeLists.txt create mode 100644 test/afb-test/etc/CMakeLists.txt create mode 100644 test/afb-test/etc/aft-iiodevices_config.json create mode 100644 test/afb-test/fixtures/CMakeLists.txt create mode 100644 test/afb-test/tests/CMakeLists.txt create mode 100644 test/afb-test/tests/iiodevices_BasicAPITest.lua (limited to 'test') diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..abba06f --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,27 @@ +########################################################################### +# Copyright 2015 - 2018 IoT.bzh +# +# author:Frédéric Marec +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + + +# Include any directory not starting with _ +# ----------------------------------------------------- +PROJECT_SUBDIRS_ADD(${PROJECT_SRC_DIR_PATTERN}) + +ADD_TEST(NAME AGL_SERVICE_IIODEVICES_TESTS + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND afb-test.sh ${CMAKE_BINARY_DIR} +) \ No newline at end of file diff --git a/test/afb-test.sh b/test/afb-test.sh new file mode 100755 index 0000000..f11e4ea --- /dev/null +++ b/test/afb-test.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +BINDER=$(command -v afb-daemon) +AFBTEST="$(pkg-config --variable libdir afb-test)/aft.so" +PROCNAME="aft-iiodevices" +PORT=1234 +TOKEN= +LOGFILE="test.log" +[ "$1" ] && BUILDDIR="$1" || exit 1 + +TESTPACKAGEDIR="${BUILDDIR}/package-test" +export AFT_CONFIG_PATH="${TESTPACKAGEDIR}/etc" +export AFT_PLUGIN_PATH="${TESTPACKAGEDIR}/var:${TESTPACKAGEDIR}/lib/plugins" + +pkill $PROCNAME + +timeout -s 9 10 ${BINDER} --name="${PROCNAME}" \ + --port="${PORT}" \ + --roothttp=. \ + --tracereq=common \ + --token=${TOKEN} \ + --workdir="${TESTPACKAGEDIR}" \ + --binding="../package/lib/afb-iiodevices.so" \ + --binding="$AFBTEST" \ + --call="aft-iiodevices/launch_all_tests:{}" \ + --call="aft-iiodevices/exit:{}" \ + -vvv > "${LOGFILE}" 2>&1 + +find "${BUILDDIR}" -name test_results.log -exec cat {} \; + + diff --git a/test/afb-test/CMakeLists.txt b/test/afb-test/CMakeLists.txt new file mode 100644 index 0000000..9df744e --- /dev/null +++ b/test/afb-test/CMakeLists.txt @@ -0,0 +1,22 @@ +########################################################################### +# Copyright 2018 IoT.bzh +# +# author:Frédéric Marec +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + + +# Include any directory not starting with _ +# ----------------------------------------------------- +PROJECT_SUBDIRS_ADD(${PROJECT_SRC_DIR_PATTERN}) \ No newline at end of file diff --git a/test/afb-test/etc/CMakeLists.txt b/test/afb-test/etc/CMakeLists.txt new file mode 100644 index 0000000..c737f9b --- /dev/null +++ b/test/afb-test/etc/CMakeLists.txt @@ -0,0 +1,31 @@ +########################################################################### +# Copyright 2018 IoT.bzh +# +# author:Frédéric Marec +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + +################################################## +# Iiodevices test configuration files +################################################## +PROJECT_TARGET_ADD(afb-test-config) + + file(GLOB CONF_FILES "*.json") + + add_input_files("${CONF_FILES}") + + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + LABELS "TEST-CONFIG" + OUTPUT_NAME ${TARGET_NAME} + ) \ No newline at end of file diff --git a/test/afb-test/etc/aft-iiodevices_config.json b/test/afb-test/etc/aft-iiodevices_config.json new file mode 100644 index 0000000..33bd7f7 --- /dev/null +++ b/test/afb-test/etc/aft-iiodevices_config.json @@ -0,0 +1,22 @@ +{ + "id": "http://iot.bzh/download/public/schema/json/ctl-schema.json#", + "$schema": "http://iot.bzh/download/public/schema/json/ctl-schema.json#", + "metadata": { + "uid": "Test", + "version": "1.0", + "api": "aft-iiodevices", + "info": "AFB-test binding configuration file to test iiodevices api.", + "require": [ + "iiodevices" + ] + }, + "testVerb": { + "uid": "launch_all_tests", + "info": "Launch all the tests", + "action": "lua://AFT#_launch_test", + "args": { + "trace": "iiodevices", + "files": ["iiodevices_BasicAPITest.lua"] + } + } +} diff --git a/test/afb-test/fixtures/CMakeLists.txt b/test/afb-test/fixtures/CMakeLists.txt new file mode 100644 index 0000000..c737f9b --- /dev/null +++ b/test/afb-test/fixtures/CMakeLists.txt @@ -0,0 +1,31 @@ +########################################################################### +# Copyright 2018 IoT.bzh +# +# author:Frédéric Marec +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + +################################################## +# Iiodevices test configuration files +################################################## +PROJECT_TARGET_ADD(afb-test-config) + + file(GLOB CONF_FILES "*.json") + + add_input_files("${CONF_FILES}") + + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + LABELS "TEST-CONFIG" + OUTPUT_NAME ${TARGET_NAME} + ) \ No newline at end of file diff --git a/test/afb-test/tests/CMakeLists.txt b/test/afb-test/tests/CMakeLists.txt new file mode 100644 index 0000000..98fb34d --- /dev/null +++ b/test/afb-test/tests/CMakeLists.txt @@ -0,0 +1,31 @@ +########################################################################### +# Copyright 2018 IoT.bzh +# +# author:Frédéric Marec +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + + +################################################## +# Iiodevices Lua Scripts +################################################## +PROJECT_TARGET_ADD(test-files) + + file(GLOB LUA_FILES "*.lua" "*.sh") + add_input_files("${LUA_FILES}") + + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + LABELS "TEST-DATA" + OUTPUT_NAME ${TARGET_NAME} + ) \ No newline at end of file diff --git a/test/afb-test/tests/iiodevices_BasicAPITest.lua b/test/afb-test/tests/iiodevices_BasicAPITest.lua new file mode 100644 index 0000000..27afa9f --- /dev/null +++ b/test/afb-test/tests/iiodevices_BasicAPITest.lua @@ -0,0 +1,26 @@ +--[[ + Copyright (C) 2018 "IoT.bzh" + Author Frédéric Marec + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + NOTE: strict mode: every global variables should be prefixed by '_' +--]] + +local testPrefix ="iiodevices_BasicAPITest_"; + +-- This tests the 'list' verb of the iiodevices API +_AFT.testVerbStatusSuccess(testPrefix.."list","iiodevices","list", {}); + +_AFT.exitAtEnd(); -- cgit 1.2.3-korg