summaryrefslogtreecommitdiffstats
path: root/test/afb-test/tests/iiodevices_BasicAPITest.lua
diff options
context:
space:
mode:
authorFrederic Marec <frederic.marec@iot.bzh>2018-08-28 17:01:48 +0200
committerFrédéric Marec <frederic.marec@iot.bzh>2018-10-04 12:37:01 +0000
commitc729e902dff501c8c3e441d49c6d0fe1ad28eede (patch)
treed4678a3e7115149a17ce796752e32dc403c52c52 /test/afb-test/tests/iiodevices_BasicAPITest.lua
parent0648db82e6a5694befcf9e2fff25f4392e6814e1 (diff)
Add tests for iiodevice binding
Add test for accelerometer, compass and gyroscope Add script beforeAll.sh to initiate iio dummy devices Add Readme.md to describe how to use test Fix BUILD_TYPE in cmake.config Change-Id: I39edfce6a43b519c0ff6bc0a7d2f1d2477098cff Signed-off-by: Frederic Marec <frederic.marec@iot.bzh>
Diffstat (limited to 'test/afb-test/tests/iiodevices_BasicAPITest.lua')
-rw-r--r--test/afb-test/tests/iiodevices_BasicAPITest.lua73
1 files changed, 69 insertions, 4 deletions
diff --git a/test/afb-test/tests/iiodevices_BasicAPITest.lua b/test/afb-test/tests/iiodevices_BasicAPITest.lua
index 27afa9f..4bce13a 100644
--- a/test/afb-test/tests/iiodevices_BasicAPITest.lua
+++ b/test/afb-test/tests/iiodevices_BasicAPITest.lua
@@ -18,9 +18,74 @@
NOTE: strict mode: every global variables should be prefixed by '_'
--]]
-local testPrefix ="iiodevices_BasicAPITest_";
+-- Init ddevices
--- This tests the 'list' verb of the iiodevices API
-_AFT.testVerbStatusSuccess(testPrefix.."list","iiodevices","list", {});
+local device = {"acceleration", "gyroscope", "compass"}
-_AFT.exitAtEnd();
+_AFT.setBeforeAll(function()
+ if not os.execute("/bin/bash ".._AFT.bindingRootDir.."/var/beforeAll.sh") then
+ print("Fail to create iio_dummy_device")
+ return -1
+ else
+ return 0
+ end
+end)
+
+local testPrefix ="iiodevices_BasicAPITest_"
+
+for i = 1, 3
+do
+
+ -- This tests the 'subscribe' verb of the iiodevices API without frequency
+ _AFT.testVerbStatusSuccess(testPrefix.."subscribe-without-frequency_"..device[i],"iiodevices","subscribe", {event = device[i], args = "xy"}, nil,
+ function()
+ _AFT.callVerb("iiodevices","unsubscribe",{event= device[i]})
+ end)
+
+ -- This tests the 'subscribe' verb of the iiodevices API with null frequency
+ _AFT.testVerbStatusSuccess(testPrefix.."subscribe-with-null-frequency_"..device[i],"iiodevices","subscribe", {event = device[i], args = "xy", frequency = 0 }, nil,
+ function()
+ _AFT.callVerb("iiodevices","unsubscribe",{event= device[i]})
+ end)
+
+ -- This tests the 'subscribe' verb of the iiodevices API with high frequency
+ _AFT.testVerbStatusSuccess(testPrefix.."subscribe-with-100000000000-frequency_"..device[i],"iiodevices","subscribe", {event = device[i], args = "xy", frequency = 100000000000 }, nil,
+ function()
+ _AFT.callVerb("iiodevices","unsubscribe",{event= device[i]})
+ end)
+
+ -- This tests the 'subscribe' verb of the iiodevices API with negative frequency
+ _AFT.testVerbStatusSuccess(testPrefix.."subscribe-with-negative-frequency_"..device[i],"iiodevices","subscribe", {event = device[i], args = "xy", frequency = -1 }, nil,
+ function()
+ _AFT.callVerb("iiodevices","unsubscribe",{event= device[i]})
+ end)
+
+ -- This tests the 'subscribe' verb of the iiodevices API with floating frequency
+ _AFT.testVerbStatusError(testPrefix.."subscribe-with-floating-frequency_"..device[i],"iiodevices","subscribe", {event = device[i], args = "xy", frequency = -3.141592654 }, nil,
+ function()
+ _AFT.callVerb("iiodevices","unsubscribe",{event= device[i]})
+ end)
+
+ -- This tests the 'subscribe' verb of the iiodevices API
+ _AFT.testVerbStatusSuccess(testPrefix.."subscribe_"..device[i],"iiodevices","subscribe",{event = device[i], args = "xy", frequency = 10 }, nil,
+ function()
+ _AFT.callVerb("iiodevices","unsubscribe",{event = device[i]})
+ end)
+
+ -- This tests the 'unsubscribe' verb of the iiodevices API
+ _AFT.testVerbStatusSuccess(testPrefix.."unsubscribe_"..device[i],"iiodevices","unsubscribe",{event = device[i]},
+ function()
+ _AFT.callVerb("iiodevices","unsubscribe",{event = device[i], args = "xy"})
+ end, nil)
+
+ -- This tests the 'unsubscribe' verb of the iiodevices API when we are not actually subscribed to a device
+ _AFT.testVerbStatusSuccess(testPrefix.."doubleUnsubscribe_"..device[i],"iiodevices","unsubscribe",{event = device[i]},
+ function()
+ _AFT.callVerb("iiodevices","unsubscribe",{event = device[i]})
+ end,nil)
+
+ -- This tests the 'unsubscribe' verb of the iiodevices API when unsubscribing from a non-existing device
+ _AFT.testVerbStatusSuccess(testPrefix.."unsubscribeNonExistingdevice_"..device[i],"iiodevices","unsubscribe",{event = device[i]})
+end
+
+_AFT.exitAtEnd()