From 8a35cc2a73a8d02feb30262a76e79fee49961df4 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Tue, 10 Jul 2018 16:26:39 +0200 Subject: Update controller mechanism Add luaunit as xUnit lua framework Change-Id: I49627b6554c62d05eca5e367d073b037385e40b1 Signed-off-by: Romain Forlot --- conf.d/project/lua.d/low-can-tests.lua | 59 ++++++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 17 deletions(-) (limited to 'conf.d/project/lua.d/low-can-tests.lua') diff --git a/conf.d/project/lua.d/low-can-tests.lua b/conf.d/project/lua.d/low-can-tests.lua index e1c7112..e724c38 100644 --- a/conf.d/project/lua.d/low-can-tests.lua +++ b/conf.d/project/lua.d/low-can-tests.lua @@ -1,34 +1,59 @@ --[[ - Copyright (C) 2016 "IoT.bzh" - Author Fulup Ar Foll + Copyright (C) 2016 "IoT.bzh" + Author Fulup Ar Foll - 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 + 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 + 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. + 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 '_' + NOTE: strict mode: every global variables should be prefixed by '_' --]] +EXPORT_ASSERT_TO_GLOBALS = true +require('luaunit') +--module( "low-can-testcase", lunit.testcase, package.seeall ) -- Static variables should be prefixed with _ -_EventHandle={} +_EventHandle = {} + +_engine_on_msg_received = false + +local clock = os.clock +function sleep(n) -- seconds + local t0 = clock() + while clock() - t0 <= n do end +end + +function _evt_catcher_ (source, action, event) + local match = string.find(event.data.message, "is_engine_on: engine.speed CAN signal found, but engine seems off") + if match ~= nil then + _engine_on_msg_received = true + end +end -- Display receive arguments and echo them to caller -function _launch_tests_ (source, args) +function _launch_tests (source, args) + local responseJ = {} + + AFB:servsync(source, "monitor","set", { verbosity = "debug" }) + AFB:servsync(source, "monitor","trace", { add = { api = "low-can", daemon = "vverbose" }}) + + local err,responseJ = AFB:servsync(source, "low-can","subscribe", { event = "diagnostic_messages.engine.speed" }) + + assertStrMatches(responseJ.request.status, "success", nil, nil, "Correctly subscribed to engine.speed signal") - -- get list of supported HAL devices - AFB:service(source, "low-can","subscribe", { event = "diagnostic_messages.engine.speed" }, "_Process_result_", {}) + AFB:servsync(source, "monitor","trace", { drop = true}) - AFB:notice (source, "--InLua-- Engine Speed presence test. done") + assertTrue(_engine_on_msg_received, "Ok, got the message indicating that engine is Off") return 0 -- happy end end -- cgit 1.2.3-korg