summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Marec <frederic.marec@iot.bzh>2019-05-10 17:59:25 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2019-05-13 08:19:37 +0000
commitcb6b878f2a09f8b8b9b030a12efe948b3276745d (patch)
tree8e7052ae5ef2b7ca35795d7118129dd7115aaab5
parentc412ecf8c08a926c15c26b61e981b162f072a94f (diff)
Add test fixtures to set up environment
Add script to check /etc/platform-info presence Add script to check necessary files Add script to set up environment Add script to set down environment Modify get test Bug-AGL: SPEC-2362 Change-Id: I733cb86cc8c616ffdbfcb88cb96a2a4a5b97e652 Signed-off-by: Frederic Marec <frederic.marec@iot.bzh>
-rw-r--r--test/afb-test/fixtures/CMakeLists.txt30
-rwxr-xr-xtest/afb-test/fixtures/createPlatformInfoDirectory.sh29
-rw-r--r--test/afb-test/fixtures/hardware.json1
-rwxr-xr-xtest/afb-test/fixtures/removePlatforInfoDirectory.sh26
-rwxr-xr-xtest/afb-test/fixtures/testPresence.sh35
-rw-r--r--test/afb-test/tests/aft-BasicAPITests.lua34
6 files changed, 154 insertions, 1 deletions
diff --git a/test/afb-test/fixtures/CMakeLists.txt b/test/afb-test/fixtures/CMakeLists.txt
new file mode 100644
index 0000000..a8baab9
--- /dev/null
+++ b/test/afb-test/fixtures/CMakeLists.txt
@@ -0,0 +1,30 @@
+###########################################################################
+# Copyright 2018 IoT.bzh
+#
+# author:Frédéric Marec <frederic.marec@iot.bzh>
+#
+# 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.
+###########################################################################
+
+##################################################
+# Platform-info test Fixtures
+##################################################
+PROJECT_TARGET_ADD(data-files)
+
+ file(GLOB DATA_FILES "*.sh" "*.json")
+ add_input_files("${DATA_FILES}")
+
+ SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
+ LABELS "TEST-DATA"
+ OUTPUT_NAME ${TARGET_NAME}
+ )
diff --git a/test/afb-test/fixtures/createPlatformInfoDirectory.sh b/test/afb-test/fixtures/createPlatformInfoDirectory.sh
new file mode 100755
index 0000000..db2c801
--- /dev/null
+++ b/test/afb-test/fixtures/createPlatformInfoDirectory.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+set -e
+
+###########################################################################
+# Copyright 2018 IoT.bzh
+#
+# author:Frédéric Marec <frederic.marec@iot.bzh>
+#
+# 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.
+###########################################################################
+
+#set SUDO variable
+SUDO=$(command -v sudo)
+
+"${SUDO}" mkdir -p "/etc/platform-info"
+pwd
+"${SUDO}" cp "var/build.json" "/etc/platform-info"
+"${SUDO}" cp "var/hardware.json" "/etc/platform-info" \ No newline at end of file
diff --git a/test/afb-test/fixtures/hardware.json b/test/afb-test/fixtures/hardware.json
new file mode 100644
index 0000000..9695b6b
--- /dev/null
+++ b/test/afb-test/fixtures/hardware.json
@@ -0,0 +1 @@
+{"cpu_count":6,"bluetooth_devices":"","soc_family":"R-Car Gen3","cpu_arch":"aarch64","soc_name":"M3","soc_id":"r8a7796","cpu_compatibility":"cortex-a57 armv8","memory_total":1753,"soc_revision":"ES1.0","ethernet_devices":"dummy0 eth0","can_devices":"can0 can1 sllin0","board_model":"kingfisher-m3ulcb-r8a7796","wifi_devices":"wlan0"} \ No newline at end of file
diff --git a/test/afb-test/fixtures/removePlatforInfoDirectory.sh b/test/afb-test/fixtures/removePlatforInfoDirectory.sh
new file mode 100755
index 0000000..8e87636
--- /dev/null
+++ b/test/afb-test/fixtures/removePlatforInfoDirectory.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+set -e
+
+###########################################################################
+# Copyright 2018 IoT.bzh
+#
+# author:Frédéric Marec <frederic.marec@iot.bzh>
+#
+# 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.
+###########################################################################
+
+#set SUDO variable
+SUDO=$(command -v sudo)
+
+"${SUDO}" rm -rf "/etc/platform-info"
diff --git a/test/afb-test/fixtures/testPresence.sh b/test/afb-test/fixtures/testPresence.sh
new file mode 100755
index 0000000..2e82422
--- /dev/null
+++ b/test/afb-test/fixtures/testPresence.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+set -e
+
+###########################################################################
+# Copyright 2019 IoT.bzh
+#
+# author:Frédéric Marec <frederic.marec@iot.bzh>
+#
+# 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.
+###########################################################################
+
+if [ ! -d "/etc/platform-info" ]
+then
+ echo "missing directory /etc/platform-info"
+ exit 0
+else
+ if [ ! -f "/etc/platform-info/build.json" ] && [ ! -f "/etc/platform-info/hardware.json" ]
+ then
+ echo "missing tests files for testing"
+ exit 0
+ else
+ exit 1
+ fi
+fi \ No newline at end of file
diff --git a/test/afb-test/tests/aft-BasicAPITests.lua b/test/afb-test/tests/aft-BasicAPITests.lua
index 730db7e..73cdd8e 100644
--- a/test/afb-test/tests/aft-BasicAPITests.lua
+++ b/test/afb-test/tests/aft-BasicAPITests.lua
@@ -20,11 +20,43 @@
local testPrefix ="agl-info_BasicAPITest_"
+_AFT.setBeforeAll(function()
+
+ if not os.execute("/bin/bash ".._AFT.bindingRootDir.."/var/testPresence.sh") then
+
+ print("Platform-info environment already set up")
+ return 0
+
+ else
+ if not os.execute("/bin/bash ".._AFT.bindingRootDir.."/var/createPlatformInfoDirectory.sh") then
+
+ print("Fail to set up Platform-info test environment")
+ return -1
+
+ else
+ print("Platform-info environment set up")
+ _AFT.setAfterAll(function()
+ if not os.execute("/bin/bash ".._AFT.bindingRootDir.."/var/removePlatforInfoDirectory.sh") then
+
+ print("Fail to set down Platform-info test environment")
+ return -1
+
+ else
+ print("Platform-info environment set down")
+ return 0
+
+ end
+ end)
+ return 0
+ end
+ end
+end)
+
-- This tests the 'get' verb of the platform-info API
_AFT.testVerbStatusSuccess(testPrefix.."get", "platform-info", "get", ".build.layers.agl-manifest.revision")
-- This tests the 'get' verb of the platform-info API
-_AFT.testVerbStatusError(testPrefix.."get", "platform-info", "get", {})
+_AFT.testVerbStatusSuccess(testPrefix.."get", "platform-info", "get", {})
-- This tests the 'set' verb of the platform-info API
_AFT.testVerbStatusSuccess(testPrefix.."set", "platform-info", "set", {arg=".build.layers.agl-manifest.revision", value="test"})