aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2018-06-19 18:40:32 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2018-07-09 18:25:57 +0200
commit7c5d80deacad2a1f6943dd0b77449c3f6e20fdfc (patch)
tree0a6782a85994b38adf35aebefd9c5b5561c43f92
parent0b188b21df19bac0cff339c738cd439e887436b8 (diff)
Create first tests to be used with afb-test binding The test binding is now found using pkg-config command. Change-Id: Ib1cd08236b6b8fab93ccb67ac613a9c83908d12e Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r--CMakeLists.txt4
m---------conf.d/app-templates0
-rwxr-xr-xconf.d/autobuild/agl/autobuild2
-rwxr-xr-xconf.d/autobuild/linux/autobuild2
-rw-r--r--conf.d/cmake/config.cmake6
-rw-r--r--libs/CMakeLists.txt6
-rw-r--r--low-can-binding/binding/application-generated.cpp4
-rw-r--r--low-can-binding/binding/low-can-apidef.h98
-rw-r--r--test/CMakeLists.txt27
-rwxr-xr-xtest/afb-test.sh31
-rw-r--r--test/afb-test/CMakeLists.txt22
-rw-r--r--test/afb-test/etc/CMakeLists.txt31
-rw-r--r--test/afb-test/etc/aft-low-can_config.json22
-rw-r--r--test/afb-test/fixtures/CMakeLists.txt31
-rwxr-xr-xtest/afb-test/fixtures/replay_launcher.sh14
-rw-r--r--test/afb-test/fixtures/test1.canreplay508
-rw-r--r--test/afb-test/fixtures/test12.canreplay45
-rw-r--r--test/afb-test/fixtures/test13.canreplay93
-rw-r--r--test/afb-test/fixtures/test14.canreplay93
-rw-r--r--test/afb-test/fixtures/test2-1.canreplay508
-rw-r--r--test/afb-test/fixtures/test2-2.canreplay508
-rw-r--r--test/afb-test/fixtures/test2-3.canreplay219
-rw-r--r--test/afb-test/tests/CMakeLists.txt31
-rw-r--r--test/afb-test/tests/low-can-coverage.lua72
-rw-r--r--test/afb-test/tests/low-can-tests.lua50
25 files changed, 2367 insertions, 60 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b4850977..8970eb56 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
###########################################################################
-# Copyright 2015, 2016, 2017 IoT.bzh
+# Copyright 2015 - 2018 IoT.bzh
#
# author: Romain Forlot <romain.forlot@iot.bzh>
#
@@ -18,4 +18,6 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.3)
+include(CTest)
+enable_testing()
include(${CMAKE_CURRENT_SOURCE_DIR}/conf.d/cmake/config.cmake)
diff --git a/conf.d/app-templates b/conf.d/app-templates
-Subproject bb3c5413dd0e2ff098a99748a53be1c66186f23
+Subproject 92646f63ffc32e2c6ede8fb10da2299fc5a5456
diff --git a/conf.d/autobuild/agl/autobuild b/conf.d/autobuild/agl/autobuild
index 3a1ba5f4..83097ab8 100755
--- a/conf.d/autobuild/agl/autobuild
+++ b/conf.d/autobuild/agl/autobuild
@@ -55,7 +55,7 @@ package: build
@mkdir -p ${BUILD_DIR}/$@/etc
@mkdir -p ${BUILD_DIR}/$@/lib
@mkdir -p ${BUILD_DIR}/$@/htdocs
- @mkdir -p ${BUILD_DIR}/$@/data
+ @mkdir -p ${BUILD_DIR}/$@/var
@cmake --build ${BUILD_DIR} --target widget
@mkdir -p ${DEST} && cp ${BUILD_DIR}/*wgt ${DEST}
diff --git a/conf.d/autobuild/linux/autobuild b/conf.d/autobuild/linux/autobuild
index 3a1ba5f4..83097ab8 100755
--- a/conf.d/autobuild/linux/autobuild
+++ b/conf.d/autobuild/linux/autobuild
@@ -55,7 +55,7 @@ package: build
@mkdir -p ${BUILD_DIR}/$@/etc
@mkdir -p ${BUILD_DIR}/$@/lib
@mkdir -p ${BUILD_DIR}/$@/htdocs
- @mkdir -p ${BUILD_DIR}/$@/data
+ @mkdir -p ${BUILD_DIR}/$@/var
@cmake --build ${BUILD_DIR} --target widget
@mkdir -p ${DEST} && cp ${BUILD_DIR}/*wgt ${DEST}
diff --git a/conf.d/cmake/config.cmake b/conf.d/cmake/config.cmake
index 1ebb2a45..172e20a2 100644
--- a/conf.d/cmake/config.cmake
+++ b/conf.d/cmake/config.cmake
@@ -63,7 +63,6 @@ set (PKG_REQUIRED_LIST
json-c
libsystemd>=222
afb-daemon
- libmicrohttpd>=0.9.55
)
# Prefix path where will be installed the files
@@ -73,7 +72,7 @@ set(CMAKE_INSTALL_PREFIX $ENV{HOME}/opt)
# Customize link option
# -----------------------------
-list (APPEND link_libraries -pthread)
+list (APPEND link_libraries -pthread --coverage)
# Compilation options definition
# Use CMake generator expressions to specify only for a specific language
@@ -104,9 +103,10 @@ set(CXX_COMPILE_OPTIONS -pthread CACHE STRING "Compilation flags for C++ languag
# -Wp,-U_FORTIFY_SOURCE
# CACHE STRING "Compilation flags for PROFILING build type.")
#set(DEBUG_COMPILE_OPTIONS
+# -Og
# -g
# -ggdb
-# -Wp,-U_FORTIFY_SOURCE
+# -D_FORTIFY_SOURCE=2
# CACHE STRING "Compilation flags for DEBUG build type.")
#set(CCOV_COMPILE_OPTIONS
# -g
diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt
index 995c4e77..6a16d32f 100644
--- a/libs/CMakeLists.txt
+++ b/libs/CMakeLists.txt
@@ -1,7 +1,7 @@
###########################################################################
-# Copyright 2015, 2016, 2017 IoT.bzh
+# Copyright 2015 - 2018 IoT.bzh
#
-# author: Fulup Ar Foll <fulup@iot.bzh>
+# author: Romain Forlot <romain.forlot@iot.bzh>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,4 +17,4 @@
###########################################################################
# Add target to project dependency list
-project_subdirs_add() \ No newline at end of file
+project_subdirs_add()
diff --git a/low-can-binding/binding/application-generated.cpp b/low-can-binding/binding/application-generated.cpp
index 9ec8fb33..8253c62e 100644
--- a/low-can-binding/binding/application-generated.cpp
+++ b/low-can-binding/binding/application-generated.cpp
@@ -429,7 +429,7 @@ application_t::application_t()
0,
0,
UNIT::INVALID,
- 5.00000f,
+ 6.00000f,
decoder_t::decode_obd2_response,
nullptr,
true,
@@ -441,7 +441,7 @@ application_t::application_t()
0,
0,
UNIT::INVALID,
- 5.00000f,
+ 6.00000f,
decoder_t::decode_obd2_response,
nullptr,
true,
diff --git a/low-can-binding/binding/low-can-apidef.h b/low-can-binding/binding/low-can-apidef.h
index d66af134..a6fe7972 100644
--- a/low-can-binding/binding/low-can-apidef.h
+++ b/low-can-binding/binding/low-can-apidef.h
@@ -2,56 +2,56 @@
static const char _afb_description_v2_low_can[] =
"{\"openapi\":\"3.0.0\",\"$schema\":\"http:iot.bzh/download/openapi/schem"
"a-3.0/default-schema.json\",\"info\":{\"description\":\"\",\"title\":\"l"
- "ow-level-can-service\",\"version\":\"4.0\",\"x-binding-c-generator\":{\""
- "api\":\"low-can\",\"version\":2,\"prefix\":\"\",\"postfix\":\"\",\"start"
- "\":null,\"onevent\":null,\"init\":\"initv2\",\"scope\":\"\",\"private\":"
- "false}},\"servers\":[{\"url\":\"ws://{host}:{port}/api/monitor\",\"descr"
- "iption\":\"Low level CAN API.\",\"variables\":{\"host\":{\"default\":\"l"
- "ocalhost\"},\"port\":{\"default\":\"1234\"}},\"x-afb-events\":[{\"$ref\""
- ":\"#/components/schemas/afb-event\"}]}],\"components\":{\"schemas\":{\"a"
- "fb-reply\":{\"$ref\":\"#/components/schemas/afb-reply-v2\"},\"afb-event\""
- ":{\"$ref\":\"#/components/schemas/afb-event-v2\"},\"afb-reply-v2\":{\"ti"
- "tle\":\"Generic response.\",\"type\":\"object\",\"required\":[\"jtype\","
- "\"request\"],\"properties\":{\"jtype\":{\"type\":\"string\",\"const\":\""
- "afb-reply\"},\"request\":{\"type\":\"object\",\"required\":[\"status\"],"
- "\"properties\":{\"status\":{\"type\":\"string\"},\"info\":{\"type\":\"st"
- "ring\"},\"token\":{\"type\":\"string\"},\"uuid\":{\"type\":\"string\"},\""
- "reqid\":{\"type\":\"string\"}}},\"response\":{\"type\":\"object\"}}},\"a"
- "fb-event-v2\":{\"type\":\"object\",\"required\":[\"jtype\",\"event\"],\""
- "properties\":{\"jtype\":{\"type\":\"string\",\"const\":\"afb-event\"},\""
- "event\":{\"type\":\"string\"},\"data\":{\"type\":\"object\"}}}},\"x-perm"
- "issions\":{\"monitor\":{\"permission\":\"urn:AGL:permission:low-can:publ"
- "ic:monitor\"},\"write\":{\"permission\":\"urn:AGL:permission::platform:c"
- "an:write \"}},\"responses\":{\"200\":{\"description\":\"A complex object"
- " array response\",\"content\":{\"application/json\":{\"schema\":{\"$ref\""
- ":\"#/components/schemas/afb-reply\"}}}}}},\"paths\":{\"/subscribe\":{\"d"
- "escription\":\"Subscribe to CAN signals events\",\"parameters\":[{\"in\""
- ":\"query\",\"name\":\"event\",\"required\":false,\"schema\":{\"type\":\""
- "string\"}}],\"responses\":{\"200\":{\"$ref\":\"#/components/responses/20"
- "0\"}}},\"/unsubscribe\":{\"description\":\"Unsubscribe previously suscri"
- "bed signals.\",\"parameters\":[{\"in\":\"query\",\"name\":\"event\",\"re"
- "quired\":false,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\""
- ":{\"$ref\":\"#/components/responses/200\"}}},\"/get\":{\"description\":\""
- "get a current value of CAN message\",\"parameters\":[{\"in\":\"query\",\""
+ "ow-can\",\"version\":\"4.0\",\"x-binding-c-generator\":{\"api\":\"low-ca"
+ "n\",\"version\":2,\"prefix\":\"\",\"postfix\":\"\",\"start\":null,\"onev"
+ "ent\":null,\"init\":\"initv2\",\"scope\":\"\",\"private\":false}},\"serv"
+ "ers\":[{\"url\":\"ws://{host}:{port}/api/monitor\",\"description\":\"Low"
+ " level CAN API.\",\"variables\":{\"host\":{\"default\":\"localhost\"},\""
+ "port\":{\"default\":\"1234\"}},\"x-afb-events\":[{\"$ref\":\"#/component"
+ "s/schemas/afb-event\"}]}],\"components\":{\"schemas\":{\"afb-reply\":{\""
+ "$ref\":\"#/components/schemas/afb-reply-v2\"},\"afb-event\":{\"$ref\":\""
+ "#/components/schemas/afb-event-v2\"},\"afb-reply-v2\":{\"title\":\"Gener"
+ "ic response.\",\"type\":\"object\",\"required\":[\"jtype\",\"request\"],"
+ "\"properties\":{\"jtype\":{\"type\":\"string\",\"const\":\"afb-reply\"},"
+ "\"request\":{\"type\":\"object\",\"required\":[\"status\"],\"properties\""
+ ":{\"status\":{\"type\":\"string\"},\"info\":{\"type\":\"string\"},\"toke"
+ "n\":{\"type\":\"string\"},\"uuid\":{\"type\":\"string\"},\"reqid\":{\"ty"
+ "pe\":\"string\"}}},\"response\":{\"type\":\"object\"}}},\"afb-event-v2\""
+ ":{\"type\":\"object\",\"required\":[\"jtype\",\"event\"],\"properties\":"
+ "{\"jtype\":{\"type\":\"string\",\"const\":\"afb-event\"},\"event\":{\"ty"
+ "pe\":\"string\"},\"data\":{\"type\":\"object\"}}}},\"x-permissions\":{\""
+ "monitor\":{\"permission\":\"urn:AGL:permission:low-can:public:monitor\"}"
+ ",\"write\":{\"permission\":\"urn:AGL:permission::platform:can:write \"}}"
+ ",\"responses\":{\"200\":{\"description\":\"A complex object array respon"
+ "se\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/compone"
+ "nts/schemas/afb-reply\"}}}}}},\"paths\":{\"/subscribe\":{\"description\""
+ ":\"Subscribe to CAN signals events\",\"parameters\":[{\"in\":\"query\",\""
"name\":\"event\",\"required\":false,\"schema\":{\"type\":\"string\"}}],\""
- "responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}},\"/list"
- "\":{\"description\":\"get a supported CAN message list\",\"responses\":{"
- "\"200\":{\"$ref\":\"#/components/responses/200\"}}},\"/auth\":{\"descrip"
- "tion\":\"Authenticate session to be raise Level Of Assurance.\",\"get\":"
- "{\"x-permissions\":{\"$ref\":\"#/components/x-permissions/write\"},\"res"
- "ponses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}},\"/write\""
- ":{\"description\":\"Write a CAN messages to the CAN bus.\",\"get\":{\"x-"
- "permissions\":{\"LOA\":1},\"parameters\":[{\"in\":\"query\",\"name\":\"b"
- "us_name\",\"required\":false,\"schema\":{\"type\":\"string\"}},{\"in\":\""
- "query\",\"name\":\"frame\",\"required\":false,\"schema\":{\"type\":\"arr"
- "ay\"},\"parameters\":[{\"in\":\"query\",\"name\":\"can_id\",\"required\""
- ":false,\"schema\":{\"type\":\"string\"}},{\"in\":\"query\",\"name\":\"ca"
- "n_dlc\",\"required\":false,\"schema\":{\"type\":\"string\"}},{\"in\":\"q"
- "uery\",\"name\":\"can_data\",\"required\":false,\"schema\":{\"type\":\"s"
- "tring\"}}]},{\"in\":\"query\",\"name\":\"signal_name\",\"required\":fals"
- "e,\"schema\":{\"type\":\"string\"}},{\"in\":\"query\",\"name\":\"signal_"
- "value\",\"required\":false,\"schema\":{\"type\":\"integer\"}}],\"respons"
- "es\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}}}}"
+ "responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}},\"/unsu"
+ "bscribe\":{\"description\":\"Unsubscribe previously suscribed signals.\""
+ ",\"parameters\":[{\"in\":\"query\",\"name\":\"event\",\"required\":false"
+ ",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"$ref\":\"#"
+ "/components/responses/200\"}}},\"/get\":{\"description\":\"get a current"
+ " value of CAN message\",\"parameters\":[{\"in\":\"query\",\"name\":\"eve"
+ "nt\",\"required\":false,\"schema\":{\"type\":\"string\"}}],\"responses\""
+ ":{\"200\":{\"$ref\":\"#/components/responses/200\"}}},\"/list\":{\"descr"
+ "iption\":\"get a supported CAN message list\",\"responses\":{\"200\":{\""
+ "$ref\":\"#/components/responses/200\"}}},\"/auth\":{\"description\":\"Au"
+ "thenticate session to be raise Level Of Assurance.\",\"get\":{\"x-permis"
+ "sions\":{\"$ref\":\"#/components/x-permissions/write\"},\"responses\":{\""
+ "200\":{\"$ref\":\"#/components/responses/200\"}}}},\"/write\":{\"descrip"
+ "tion\":\"Write a CAN messages to the CAN bus.\",\"get\":{\"x-permissions"
+ "\":{\"LOA\":1},\"parameters\":[{\"in\":\"query\",\"name\":\"bus_name\",\""
+ "required\":false,\"schema\":{\"type\":\"string\"}},{\"in\":\"query\",\"n"
+ "ame\":\"frame\",\"required\":false,\"schema\":{\"type\":\"array\"},\"par"
+ "ameters\":[{\"in\":\"query\",\"name\":\"can_id\",\"required\":false,\"sc"
+ "hema\":{\"type\":\"string\"}},{\"in\":\"query\",\"name\":\"can_dlc\",\"r"
+ "equired\":false,\"schema\":{\"type\":\"string\"}},{\"in\":\"query\",\"na"
+ "me\":\"can_data\",\"required\":false,\"schema\":{\"type\":\"string\"}}]}"
+ ",{\"in\":\"query\",\"name\":\"signal_name\",\"required\":false,\"schema\""
+ ":{\"type\":\"string\"}},{\"in\":\"query\",\"name\":\"signal_value\",\"re"
+ "quired\":false,\"schema\":{\"type\":\"integer\"}}],\"responses\":{\"200\""
+ ":{\"$ref\":\"#/components/responses/200\"}}}}}}"
;
static const struct afb_auth _afb_auths_v2_low_can[] = {
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
new file mode 100644
index 00000000..0c422615
--- /dev/null
+++ b/test/CMakeLists.txt
@@ -0,0 +1,27 @@
+###########################################################################
+# Copyright 2015 - 2018 IoT.bzh
+#
+# author: Romain Forlot <romain.forlot@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.
+###########################################################################
+
+
+# Include any directory not starting with _
+# -----------------------------------------------------
+PROJECT_SUBDIRS_ADD(${PROJECT_SRC_DIR_PATTERN})
+
+ADD_TEST(NAME AGL_SERVICE_CAN_LOW_LEVEL_TESTS
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMAND afb-test.sh ${CMAKE_BINARY_DIR}
+)
diff --git a/test/afb-test.sh b/test/afb-test.sh
new file mode 100755
index 00000000..eaebbe08
--- /dev/null
+++ b/test/afb-test.sh
@@ -0,0 +1,31 @@
+#!/bin/sh -x
+
+BINDER=$(command -v afb-daemon)
+CLIENT=$(command -v afb-client-demo)
+AFBTEST="$(pkg-config --variable libdir afb-test)/aft.so"
+PROCNAME="aft-low-can"
+PORT=1234
+TOKEN=
+LOGPIPE="test.log"
+[ "$1" ] && BUILDDIR="$1" || exit 1
+
+[ ! -p $LOGPIPE ] && mkfifo $LOGPIPE
+
+pkill $PROCNAME
+
+${BINDER} --name="${PROCNAME}" \
+--port="${PORT}" \
+--roothttp=. \
+--tracereq=common \
+--token=${TOKEN} \
+--workdir="${BUILDDIR}/package" \
+--binding="lib/afb-low-can.so" \
+--binding="$AFBTEST" \
+-vvv > ${LOGPIPE} 2>&1 &
+
+while read -r line
+do
+ [ "$(echo "${line}" | grep 'NOTICE: Browser URL=')" ] && break
+done < ${LOGPIPE}
+
+${CLIENT} ws://localhost:${PORT}/api?token=${TOKEN} afTest launch_all_tests
diff --git a/test/afb-test/CMakeLists.txt b/test/afb-test/CMakeLists.txt
new file mode 100644
index 00000000..742253c4
--- /dev/null
+++ b/test/afb-test/CMakeLists.txt
@@ -0,0 +1,22 @@
+###########################################################################
+# Copyright 2015 - 2018 IoT.bzh
+#
+# author: Romain Forlot <romain.forlot@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.
+###########################################################################
+
+
+# Include any directory not starting with _
+# -----------------------------------------------------
+PROJECT_SUBDIRS_ADD(${PROJECT_SRC_DIR_PATTERN})
diff --git a/test/afb-test/etc/CMakeLists.txt b/test/afb-test/etc/CMakeLists.txt
new file mode 100644
index 00000000..31c2eb1c
--- /dev/null
+++ b/test/afb-test/etc/CMakeLists.txt
@@ -0,0 +1,31 @@
+###########################################################################
+# Copyright 2015 - 2018 IoT.bzh
+#
+# author: Romain Forlot <romain.forlot@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.
+###########################################################################
+
+##################################################
+# Low-CAN 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 "BINDING-CONFIG"
+ OUTPUT_NAME ${TARGET_NAME}
+ )
diff --git a/test/afb-test/etc/aft-low-can_config.json b/test/afb-test/etc/aft-low-can_config.json
new file mode 100644
index 00000000..7bf85dbf
--- /dev/null
+++ b/test/afb-test/etc/aft-low-can_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": "afTest",
+ "info": "AFB-test binding configuration file to test low-can api.",
+ "require": [
+ "low-can"
+ ]
+ },
+ "testVerb": {
+ "uid": "launch_all_tests",
+ "info": "Launch all the tests",
+ "action": "lua://AFT#_launch_test",
+ "args": {
+ "trace": "low-can",
+ "files": "low-can-coverage.lua"
+ }
+ }
+}
diff --git a/test/afb-test/fixtures/CMakeLists.txt b/test/afb-test/fixtures/CMakeLists.txt
new file mode 100644
index 00000000..2cfde777
--- /dev/null
+++ b/test/afb-test/fixtures/CMakeLists.txt
@@ -0,0 +1,31 @@
+###########################################################################
+# Copyright 2015 - 2018 IoT.bzh
+#
+# author: Romain Forlot <romain.forlot@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.
+###########################################################################
+
+
+##################################################
+# Low-CAN Scripts
+##################################################
+PROJECT_TARGET_ADD(data-files)
+
+ file(GLOB DATA_FILES "*.sh" "*.canreplay")
+ add_input_files("${DATA_FILES}")
+
+ SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
+ LABELS "DATA"
+ OUTPUT_NAME ${TARGET_NAME}
+ )
diff --git a/test/afb-test/fixtures/replay_launcher.sh b/test/afb-test/fixtures/replay_launcher.sh
new file mode 100755
index 00000000..186b05b3
--- /dev/null
+++ b/test/afb-test/fixtures/replay_launcher.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+PLAYER=$(command -v canplayer 2> /dev/null || command -v linuxcan-canplayer 2> /dev/null)
+FILE=$1
+
+if [ "$PLAYER" ]
+then
+ $PLAYER -I "$FILE" &
+else
+ echo "can-utils packages not installed"
+ exit 1
+fi
+
+exit 0
diff --git a/test/afb-test/fixtures/test1.canreplay b/test/afb-test/fixtures/test1.canreplay
new file mode 100644
index 00000000..5669ef90
--- /dev/null
+++ b/test/afb-test/fixtures/test1.canreplay
@@ -0,0 +1,508 @@
+(1520951000.000000) can0 7E8#04410C1FD0000000
+(1520951000.200000) can0 7E8#04410C1FD1000000
+(1520951000.400000) can0 7E8#04410C1FD2000000
+(1520951000.600000) can0 7E8#04410C1FD3000000
+(1520951000.800000) can0 7E8#04410C1FD4000000
+(1520951001.000000) can0 7E8#04410C1FD5000000
+(1520951001.200000) can0 7E8#04410C1FD6000000
+(1520951001.400000) can0 7E8#04410C1FD7000000
+(1520951001.600000) can0 7E8#04410C1FD8000000
+(1520951001.800000) can0 7E8#04410C1FD9000000
+(1520951002.000000) can0 7E8#04410C1FDA000000
+(1520951002.200000) can0 7E8#04410C1FDB000000
+(1520951002.400000) can0 7E8#04410C1FDC000000
+(1520951002.600000) can0 7E8#04410C1FDD000000
+(1520951002.800000) can0 7E8#04410C1FDE000000
+(1520951003.000000) can0 7E8#04410C1FDF000000
+(1520951003.200000) can0 7E8#04410C1FE0000000
+(1520951003.400000) can0 7E8#04410C1FE1000000
+(1520951003.600000) can0 7E8#04410C1FE2000000
+(1520951003.800000) can0 7E8#04410C1FE3000000
+(1520951004.000000) can0 7E8#04410C1FE4000000
+(1520951004.200000) can0 7E8#04410C1FE5000000
+(1520951004.400000) can0 7E8#04410C1FE6000000
+(1520951004.600000) can0 7E8#04410C1FE7000000
+(1520951004.800000) can0 7E8#04410C1FE8000000
+(1520951005.000000) can0 7E8#04410C1FE9000000
+(1520951005.200000) can0 7E8#04410C1FEA000000
+(1520951005.400000) can0 7E8#04410C1FEB000000
+(1520951005.600000) can0 7E8#04410C1FEC000000
+(1520951005.800000) can0 7E8#04410C1FED000000
+(1520951006.000000) can0 7E8#04410C1FEE000000
+(1520951006.200000) can0 7E8#04410C1FEF000000
+(1520951006.400000) can0 7E8#04410C1FF0000000
+(1520951006.600000) can0 7E8#04410C1FF1000000
+(1520951006.800000) can0 7E8#04410C1FF2000000
+(1520951007.000000) can0 7E8#04410C1FF3000000
+(1520951007.200000) can0 7E8#04410C1FF4000000
+(1520951007.400000) can0 7E8#04410C1FF5000000
+(1520951007.600000) can0 7E8#04410C1FF6000000
+(1520951007.800000) can0 7E8#04410C1FF7000000
+(1520951008.000000) can0 7E8#04410C1FF8000000
+(1520951008.200000) can0 7E8#04410C1FF9000000
+(1520951008.400000) can0 7E8#04410C1FFA000000
+(1520951008.600000) can0 7E8#04410C1FFB000000
+(1520951008.800000) can0 7E8#04410C1FFC000000
+(1520951009.000000) can0 7E8#04410C1FFD000000
+(1520951009.200000) can0 7E8#04410C1FFE000000
+(1520951009.400000) can0 7E8#04410C1FFF000000
+(1520951009.600000) can0 7E8#04410C2000000000
+(1520951009.800000) can0 7E8#04410C2001000000
+(1520951010.000000) can0 7E8#04410C2001000000
+(1520951010.200000) can0 7E8#04410C2000000000
+(1520951010.400000) can0 7E8#04410C1FFF000000
+(1520951010.600000) can0 7E8#04410C1FFE000000
+(1520951010.800000) can0 7E8#04410C1FFD000000
+(1520951011.000000) can0 7E8#04410C1FFC000000
+(1520951011.200000) can0 7E8#04410C1FFB000000
+(1520951011.400000) can0 7E8#04410C1FFA000000
+(1520951011.600000) can0 7E8#04410C1FF9000000
+(1520951011.800000) can0 7E8#04410C1FF8000000
+(1520951012.000000) can0 7E8#04410C1FF7000000
+(1520951012.200000) can0 7E8#04410C1FF6000000
+(1520951012.400000) can0 7E8#04410C1FF5000000
+(1520951012.600000) can0 7E8#04410C1FF4000000
+(1520951012.800000) can0 7E8#04410C1FF3000000
+(1520951013.000000) can0 7E8#04410C1FF2000000
+(1520951013.200000) can0 7E8#04410C1FF1000000
+(1520951013.400000) can0 7E8#04410C1FF0000000
+(1520951013.600000) can0 7E8#04410C1FEF000000
+(1520951013.800000) can0 7E8#04410C1FEE000000
+(1520951014.000000) can0 7E8#04410C1FED000000
+(1520951014.200000) can0 7E8#04410C1FEC000000
+(1520951014.400000) can0 7E8#04410C1FEB000000
+(1520951014.600000) can0 7E8#04410C1FEA000000
+(1520951014.800000) can0 7E8#04410C1FE9000000
+(1520951015.000000) can0 7E8#04410C1FE8000000
+(1520951015.200000) can0 7E8#04410C1FE7000000
+(1520951015.400000) can0 7E8#04410C1FE6000000
+(1520951015.600000) can0 7E8#04410C1FE5000000
+(1520951015.800000) can0 7E8#04410C1FE4000000
+(1520951016.000000) can0 7E8#04410C1FE3000000
+(1520951016.200000) can0 7E8#04410C1FE2000000
+(1520951016.400000) can0 7E8#04410C1FE1000000
+(1520951016.600000) can0 7E8#04410C1FE0000000
+(1520951016.800000) can0 7E8#04410C1FDF000000
+(1520951017.000000) can0 7E8#04410C1FDE000000
+(1520951017.200000) can0 7E8#04410C1FDD000000
+(1520951017.400000) can0 7E8#04410C1FDC000000
+(1520951017.600000) can0 7E8#04410C1FDB000000
+(1520951017.800000) can0 7E8#04410C1FDA000000
+(1520951018.000000) can0 7E8#04410C1FD9000000
+(1520951018.200000) can0 7E8#04410C1FD8000000
+(1520951018.400000) can0 7E8#04410C1FD7000000
+(1520951018.600000) can0 7E8#04410C1FD6000000
+(1520951018.800000) can0 7E8#04410C1FD5000000
+(1520951019.000000) can0 7E8#04410C1FD4000000
+(1520951019.200000) can0 7E8#04410C1FD3000000
+(1520951019.400000) can0 7E8#04410C1FD2000000
+(1520951019.600000) can0 7E8#04410C1FD1000000
+(1520951019.800000) can0 7E8#04410C1FD0000000
+
+
+(1520951020.000000) can0 7E8#04410C1FD0000000
+(1520951020.200000) can0 7E8#04410C1FD1000000
+(1520951020.400000) can0 7E8#04410C1FD2000000
+(1520951020.600000) can0 7E8#04410C1FD3000000
+(1520951020.800000) can0 7E8#04410C1FD4000000
+(1520951021.000000) can0 7E8#04410C1FD5000000
+(1520951021.200000) can0 7E8#04410C1FD6000000
+(1520951021.400000) can0 7E8#04410C1FD7000000
+(1520951021.600000) can0 7E8#04410C1FD8000000
+(1520951021.800000) can0 7E8#04410C1FD9000000
+(1520951022.000000) can0 7E8#04410C1FDA000000
+(1520951022.200000) can0 7E8#04410C1FDB000000
+(1520951022.400000) can0 7E8#04410C1FDC000000
+(1520951022.600000) can0 7E8#04410C1FDD000000
+(1520951022.800000) can0 7E8#04410C1FDE000000
+(1520951023.000000) can0 7E8#04410C1FDF000000
+(1520951023.200000) can0 7E8#04410C1FE0000000
+(1520951023.400000) can0 7E8#04410C1FE1000000
+(1520951023.600000) can0 7E8#04410C1FE2000000
+(1520951023.800000) can0 7E8#04410C1FE3000000
+(1520951024.000000) can0 7E8#04410C1FE4000000
+(1520951024.200000) can0 7E8#04410C1FE5000000
+(1520951024.400000) can0 7E8#04410C1FE6000000
+(1520951024.600000) can0 7E8#04410C1FE7000000
+(1520951024.800000) can0 7E8#04410C1FE8000000
+(1520951025.000000) can0 7E8#04410C1FE9000000
+(1520951025.200000) can0 7E8#04410C1FEA000000
+(1520951025.400000) can0 7E8#04410C1FEB000000
+(1520951025.600000) can0 7E8#04410C1FEC000000
+(1520951025.800000) can0 7E8#04410C1FED000000
+(1520951026.000000) can0 7E8#04410C1FEE000000
+(1520951026.200000) can0 7E8#04410C1FEF000000
+(1520951026.400000) can0 7E8#04410C1FF0000000
+(1520951026.600000) can0 7E8#04410C1FF1000000
+(1520951026.800000) can0 7E8#04410C1FF2000000
+(1520951027.000000) can0 7E8#04410C1FF3000000
+(1520951027.200000) can0 7E8#04410C1FF4000000
+(1520951027.400000) can0 7E8#04410C1FF5000000
+(1520951027.600000) can0 7E8#04410C1FF6000000
+(1520951027.800000) can0 7E8#04410C1FF7000000
+(1520951028.000000) can0 7E8#04410C1FF8000000
+(1520951028.200000) can0 7E8#04410C1FF9000000
+(1520951028.400000) can0 7E8#04410C1FFA000000
+(1520951028.600000) can0 7E8#04410C1FFB000000
+(1520951028.800000) can0 7E8#04410C1FFC000000
+(1520951029.000000) can0 7E8#04410C1FFD000000
+(1520951029.200000) can0 7E8#04410C1FFE000000
+(1520951029.400000) can0 7E8#04410C1FFF000000
+(1520951029.600000) can0 7E8#04410C2000000000
+(1520951029.800000) can0 7E8#04410C2001000000
+(1520951030.000000) can0 7E8#04410C2001000000
+(1520951030.200000) can0 7E8#04410C2000000000
+(1520951030.400000) can0 7E8#04410C1FFF000000
+(1520951030.600000) can0 7E8#04410C1FFE000000
+(1520951030.800000) can0 7E8#04410C1FFD000000
+(1520951031.000000) can0 7E8#04410C1FFC000000
+(1520951031.200000) can0 7E8#04410C1FFB000000
+(1520951031.400000) can0 7E8#04410C1FFA000000
+(1520951031.600000) can0 7E8#04410C1FF9000000
+(1520951031.800000) can0 7E8#04410C1FF8000000
+(1520951032.000000) can0 7E8#04410C1FF7000000
+(1520951032.200000) can0 7E8#04410C1FF6000000
+(1520951032.400000) can0 7E8#04410C1FF5000000
+(1520951032.600000) can0 7E8#04410C1FF4000000
+(1520951032.800000) can0 7E8#04410C1FF3000000
+(1520951033.000000) can0 7E8#04410C1FF2000000
+(1520951033.200000) can0 7E8#04410C1FF1000000
+(1520951033.400000) can0 7E8#04410C1FF0000000
+(1520951033.600000) can0 7E8#04410C1FEF000000
+(1520951033.800000) can0 7E8#04410C1FEE000000
+(1520951034.000000) can0 7E8#04410C1FED000000
+(1520951034.200000) can0 7E8#04410C1FEC000000
+(1520951034.400000) can0 7E8#04410C1FEB000000
+(1520951034.600000) can0 7E8#04410C1FEA000000
+(1520951034.800000) can0 7E8#04410C1FE9000000
+(1520951035.000000) can0 7E8#04410C1FE8000000
+(1520951035.200000) can0 7E8#04410C1FE7000000
+(1520951035.400000) can0 7E8#04410C1FE6000000
+(1520951035.600000) can0 7E8#04410C1FE5000000
+(1520951035.800000) can0 7E8#04410C1FE4000000
+(1520951036.000000) can0 7E8#04410C1FE3000000
+(1520951036.200000) can0 7E8#04410C1FE2000000
+(1520951036.400000) can0 7E8#04410C1FE1000000
+(1520951036.600000) can0 7E8#04410C1FE0000000
+(1520951036.800000) can0 7E8#04410C1FDF000000
+(1520951037.000000) can0 7E8#04410C1FDE000000
+(1520951037.200000) can0 7E8#04410C1FDD000000
+(1520951037.400000) can0 7E8#04410C1FDC000000
+(1520951037.600000) can0 7E8#04410C1FDB000000
+(1520951037.800000) can0 7E8#04410C1FDA000000
+(1520951038.000000) can0 7E8#04410C1FD9000000
+(1520951038.200000) can0 7E8#04410C1FD8000000
+(1520951038.400000) can0 7E8#04410C1FD7000000
+(1520951038.600000) can0 7E8#04410C1FD6000000
+(1520951038.800000) can0 7E8#04410C1FD5000000
+(1520951039.000000) can0 7E8#04410C1FD4000000
+(1520951039.200000) can0 7E8#04410C1FD3000000
+(1520951039.400000) can0 7E8#04410C1FD2000000
+(1520951039.600000) can0 7E8#04410C1FD1000000
+(1520951039.800000) can0 7E8#04410C1FD0000000
+
+
+(1520951040.000000) can0 7E8#04410C1FD0000000
+(1520951040.200000) can0 7E8#04410C1FD1000000
+(1520951040.400000) can0 7E8#04410C1FD2000000
+(1520951040.600000) can0 7E8#04410C1FD3000000
+(1520951040.800000) can0 7E8#04410C1FD4000000
+(1520951041.000000) can0 7E8#04410C1FD5000000
+(1520951041.200000) can0 7E8#04410C1FD6000000
+(1520951041.400000) can0 7E8#04410C1FD7000000
+(1520951041.600000) can0 7E8#04410C1FD8000000
+(1520951041.800000) can0 7E8#04410C1FD9000000
+(1520951042.000000) can0 7E8#04410C1FDA000000
+(1520951042.200000) can0 7E8#04410C1FDB000000
+(1520951042.400000) can0 7E8#04410C1FDC000000
+(1520951042.600000) can0 7E8#04410C1FDD000000
+(1520951042.800000) can0 7E8#04410C1FDE000000
+(1520951043.000000) can0 7E8#04410C1FDF000000
+(1520951043.200000) can0 7E8#04410C1FE0000000
+(1520951043.400000) can0 7E8#04410C1FE1000000
+(1520951043.600000) can0 7E8#04410C1FE2000000
+(1520951043.800000) can0 7E8#04410C1FE3000000
+(1520951044.000000) can0 7E8#04410C1FE4000000
+(1520951044.200000) can0 7E8#04410C1FE5000000
+(1520951044.400000) can0 7E8#04410C1FE6000000
+(1520951044.600000) can0 7E8#04410C1FE7000000
+(1520951044.800000) can0 7E8#04410C1FE8000000
+(1520951045.000000) can0 7E8#04410C1FE9000000
+(1520951045.200000) can0 7E8#04410C1FEA000000
+(1520951045.400000) can0 7E8#04410C1FEB000000
+(1520951045.600000) can0 7E8#04410C1FEC000000
+(1520951045.800000) can0 7E8#04410C1FED000000
+(1520951046.000000) can0 7E8#04410C1FEE000000
+(1520951046.200000) can0 7E8#04410C1FEF000000
+(1520951046.400000) can0 7E8#04410C1FF0000000
+(1520951046.600000) can0 7E8#04410C1FF1000000
+(1520951046.800000) can0 7E8#04410C1FF2000000
+(1520951047.000000) can0 7E8#04410C1FF3000000
+(1520951047.200000) can0 7E8#04410C1FF4000000
+(1520951047.400000) can0 7E8#04410C1FF5000000
+(1520951047.600000) can0 7E8#04410C1FF6000000
+(1520951047.800000) can0 7E8#04410C1FF7000000
+(1520951048.000000) can0 7E8#04410C1FF8000000
+(1520951048.200000) can0 7E8#04410C1FF9000000
+(1520951048.400000) can0 7E8#04410C1FFA000000
+(1520951048.600000) can0 7E8#04410C1FFB000000
+(1520951048.800000) can0 7E8#04410C1FFC000000
+(1520951049.000000) can0 7E8#04410C1FFD000000
+(1520951049.200000) can0 7E8#04410C1FFE000000
+(1520951049.400000) can0 7E8#04410C1FFF000000
+(1520951049.600000) can0 7E8#04410C2000000000
+(1520951049.800000) can0 7E8#04410C2001000000
+(1520951050.000000) can0 7E8#04410C2001000000
+(1520951050.200000) can0 7E8#04410C2000000000
+(1520951050.400000) can0 7E8#04410C1FFF000000
+(1520951050.600000) can0 7E8#04410C1FFE000000
+(1520951050.800000) can0 7E8#04410C1FFD000000
+(1520951051.000000) can0 7E8#04410C1FFC000000
+(1520951051.200000) can0 7E8#04410C1FFB000000
+(1520951051.400000) can0 7E8#04410C1FFA000000
+(1520951051.600000) can0 7E8#04410C1FF9000000
+(1520951051.800000) can0 7E8#04410C1FF8000000
+(1520951052.000000) can0 7E8#04410C1FF7000000
+(1520951052.200000) can0 7E8#04410C1FF6000000
+(1520951052.400000) can0 7E8#04410C1FF5000000
+(1520951052.600000) can0 7E8#04410C1FF4000000
+(1520951052.800000) can0 7E8#04410C1FF3000000
+(1520951053.000000) can0 7E8#04410C1FF2000000
+(1520951053.200000) can0 7E8#04410C1FF1000000
+(1520951053.400000) can0 7E8#04410C1FF0000000
+(1520951053.600000) can0 7E8#04410C1FEF000000
+(1520951053.800000) can0 7E8#04410C1FEE000000
+(1520951054.000000) can0 7E8#04410C1FED000000
+(1520951054.200000) can0 7E8#04410C1FEC000000
+(1520951054.400000) can0 7E8#04410C1FEB000000
+(1520951054.600000) can0 7E8#04410C1FEA000000
+(1520951054.800000) can0 7E8#04410C1FE9000000
+(1520951055.000000) can0 7E8#04410C1FE8000000
+(1520951055.200000) can0 7E8#04410C1FE7000000
+(1520951055.400000) can0 7E8#04410C1FE6000000
+(1520951055.600000) can0 7E8#04410C1FE5000000
+(1520951055.800000) can0 7E8#04410C1FE4000000
+(1520951056.000000) can0 7E8#04410C1FE3000000
+(1520951056.200000) can0 7E8#04410C1FE2000000
+(1520951056.400000) can0 7E8#04410C1FE1000000
+(1520951056.600000) can0 7E8#04410C1FE0000000
+(1520951056.800000) can0 7E8#04410C1FDF000000
+(1520951057.000000) can0 7E8#04410C1FDE000000
+(1520951057.200000) can0 7E8#04410C1FDD000000
+(1520951057.400000) can0 7E8#04410C1FDC000000
+(1520951057.600000) can0 7E8#04410C1FDB000000
+(1520951057.800000) can0 7E8#04410C1FDA000000
+(1520951058.000000) can0 7E8#04410C1FD9000000
+(1520951058.200000) can0 7E8#04410C1FD8000000
+(1520951058.400000) can0 7E8#04410C1FD7000000
+(1520951058.600000) can0 7E8#04410C1FD6000000
+(1520951058.800000) can0 7E8#04410C1FD5000000
+(1520951059.000000) can0 7E8#04410C1FD4000000
+(1520951059.200000) can0 7E8#04410C1FD3000000
+(1520951059.400000) can0 7E8#04410C1FD2000000
+(1520951059.600000) can0 7E8#04410C1FD1000000
+(1520951059.800000) can0 7E8#04410C1FD0000000
+
+
+(1520951060.000000) can0 7E8#04410C1FD0000000
+(1520951060.200000) can0 7E8#04410C1FD1000000
+(1520951060.400000) can0 7E8#04410C1FD2000000
+(1520951060.600000) can0 7E8#04410C1FD3000000
+(1520951060.800000) can0 7E8#04410C1FD4000000
+(1520951061.000000) can0 7E8#04410C1FD5000000
+(1520951061.200000) can0 7E8#04410C1FD6000000
+(1520951061.400000) can0 7E8#04410C1FD7000000
+(1520951061.600000) can0 7E8#04410C1FD8000000
+(1520951061.800000) can0 7E8#04410C1FD9000000
+(1520951062.000000) can0 7E8#04410C1FDA000000
+(1520951062.200000) can0 7E8#04410C1FDB000000
+(1520951062.400000) can0 7E8#04410C1FDC000000
+(1520951062.600000) can0 7E8#04410C1FDD000000
+(1520951062.800000) can0 7E8#04410C1FDE000000
+(1520951063.000000) can0 7E8#04410C1FDF000000
+(1520951063.200000) can0 7E8#04410C1FE0000000
+(1520951063.400000) can0 7E8#04410C1FE1000000
+(1520951063.600000) can0 7E8#04410C1FE2000000
+(1520951063.800000) can0 7E8#04410C1FE3000000
+(1520951064.000000) can0 7E8#04410C1FE4000000
+(1520951064.200000) can0 7E8#04410C1FE5000000
+(1520951064.400000) can0 7E8#04410C1FE6000000
+(1520951064.600000) can0 7E8#04410C1FE7000000
+(1520951064.800000) can0 7E8#04410C1FE8000000
+(1520951065.000000) can0 7E8#04410C1FE9000000
+(1520951065.200000) can0 7E8#04410C1FEA000000
+(1520951065.400000) can0 7E8#04410C1FEB000000
+(1520951065.600000) can0 7E8#04410C1FEC000000
+(1520951065.800000) can0 7E8#04410C1FED000000
+(1520951066.000000) can0 7E8#04410C1FEE000000
+(1520951066.200000) can0 7E8#04410C1FEF000000
+(1520951066.400000) can0 7E8#04410C1FF0000000
+(1520951066.600000) can0 7E8#04410C1FF1000000
+(1520951066.800000) can0 7E8#04410C1FF2000000
+(1520951067.000000) can0 7E8#04410C1FF3000000
+(1520951067.200000) can0 7E8#04410C1FF4000000
+(1520951067.400000) can0 7E8#04410C1FF5000000
+(1520951067.600000) can0 7E8#04410C1FF6000000
+(1520951067.800000) can0 7E8#04410C1FF7000000
+(1520951068.000000) can0 7E8#04410C1FF8000000
+(1520951068.200000) can0 7E8#04410C1FF9000000
+(1520951068.400000) can0 7E8#04410C1FFA000000
+(1520951068.600000) can0 7E8#04410C1FFB000000
+(1520951068.800000) can0 7E8#04410C1FFC000000
+(1520951069.000000) can0 7E8#04410C1FFD000000
+(1520951069.200000) can0 7E8#04410C1FFE000000
+(1520951069.400000) can0 7E8#04410C1FFF000000
+(1520951069.600000) can0 7E8#04410C2000000000
+(1520951069.800000) can0 7E8#04410C2001000000
+(1520951070.000000) can0 7E8#04410C2001000000
+(1520951070.200000) can0 7E8#04410C2000000000
+(1520951070.400000) can0 7E8#04410C1FFF000000
+(1520951070.600000) can0 7E8#04410C1FFE000000
+(1520951070.800000) can0 7E8#04410C1FFD000000
+(1520951071.000000) can0 7E8#04410C1FFC000000
+(1520951071.200000) can0 7E8#04410C1FFB000000
+(1520951071.400000) can0 7E8#04410C1FFA000000
+(1520951071.600000) can0 7E8#04410C1FF9000000
+(1520951071.800000) can0 7E8#04410C1FF8000000
+(1520951072.000000) can0 7E8#04410C1FF7000000
+(1520951072.200000) can0 7E8#04410C1FF6000000
+(1520951072.400000) can0 7E8#04410C1FF5000000
+(1520951072.600000) can0 7E8#04410C1FF4000000
+(1520951072.800000) can0 7E8#04410C1FF3000000
+(1520951073.000000) can0 7E8#04410C1FF2000000
+(1520951073.200000) can0 7E8#04410C1FF1000000
+(1520951073.400000) can0 7E8#04410C1FF0000000
+(1520951073.600000) can0 7E8#04410C1FEF000000
+(1520951073.800000) can0 7E8#04410C1FEE000000
+(1520951074.000000) can0 7E8#04410C1FED000000
+(1520951074.200000) can0 7E8#04410C1FEC000000
+(1520951074.400000) can0 7E8#04410C1FEB000000
+(1520951074.600000) can0 7E8#04410C1FEA000000
+(1520951074.800000) can0 7E8#04410C1FE9000000
+(1520951075.000000) can0 7E8#04410C1FE8000000
+(1520951075.200000) can0 7E8#04410C1FE7000000
+(1520951075.400000) can0 7E8#04410C1FE6000000
+(1520951075.600000) can0 7E8#04410C1FE5000000
+(1520951075.800000) can0 7E8#04410C1FE4000000
+(1520951076.000000) can0 7E8#04410C1FE3000000
+(1520951076.200000) can0 7E8#04410C1FE2000000
+(1520951076.400000) can0 7E8#04410C1FE1000000
+(1520951076.600000) can0 7E8#04410C1FE0000000
+(1520951076.800000) can0 7E8#04410C1FDF000000
+(1520951077.000000) can0 7E8#04410C1FDE000000
+(1520951077.200000) can0 7E8#04410C1FDD000000
+(1520951077.400000) can0 7E8#04410C1FDC000000
+(1520951077.600000) can0 7E8#04410C1FDB000000
+(1520951077.800000) can0 7E8#04410C1FDA000000
+(1520951078.000000) can0 7E8#04410C1FD9000000
+(1520951078.200000) can0 7E8#04410C1FD8000000
+(1520951078.400000) can0 7E8#04410C1FD7000000
+(1520951078.600000) can0 7E8#04410C1FD6000000
+(1520951078.800000) can0 7E8#04410C1FD5000000
+(1520951079.000000) can0 7E8#04410C1FD4000000
+(1520951079.200000) can0 7E8#04410C1FD3000000
+(1520951079.400000) can0 7E8#04410C1FD2000000
+(1520951079.600000) can0 7E8#04410C1FD1000000
+(1520951079.800000) can0 7E8#04410C1FD0000000
+
+
+(1520951080.000000) can0 7E8#04410C1FD0000000
+(1520951080.200000) can0 7E8#04410C1FD1000000
+(1520951080.400000) can0 7E8#04410C1FD2000000
+(1520951080.600000) can0 7E8#04410C1FD3000000
+(1520951080.800000) can0 7E8#04410C1FD4000000
+(1520951081.000000) can0 7E8#04410C1FD5000000
+(1520951081.200000) can0 7E8#04410C1FD6000000
+(1520951081.400000) can0 7E8#04410C1FD7000000
+(1520951081.600000) can0 7E8#04410C1FD8000000
+(1520951081.800000) can0 7E8#04410C1FD9000000
+(1520951082.000000) can0 7E8#04410C1FDA000000
+(1520951082.200000) can0 7E8#04410C1FDB000000
+(1520951082.400000) can0 7E8#04410C1FDC000000
+(1520951082.600000) can0 7E8#04410C1FDD000000
+(1520951082.800000) can0 7E8#04410C1FDE000000
+(1520951083.000000) can0 7E8#04410C1FDF000000
+(1520951083.200000) can0 7E8#04410C1FE0000000
+(1520951083.400000) can0 7E8#04410C1FE1000000
+(1520951083.600000) can0 7E8#04410C1FE2000000
+(1520951083.800000) can0 7E8#04410C1FE3000000
+(1520951084.000000) can0 7E8#04410C1FE4000000
+(1520951084.200000) can0 7E8#04410C1FE5000000
+(1520951084.400000) can0 7E8#04410C1FE6000000
+(1520951084.600000) can0 7E8#04410C1FE7000000
+(1520951084.800000) can0 7E8#04410C1FE8000000
+(1520951085.000000) can0 7E8#04410C1FE9000000
+(1520951085.200000) can0 7E8#04410C1FEA000000
+(1520951085.400000) can0 7E8#04410C1FEB000000
+(1520951085.600000) can0 7E8#04410C1FEC000000
+(1520951085.800000) can0 7E8#04410C1FED000000
+(1520951086.000000) can0 7E8#04410C1FEE000000
+(1520951086.200000) can0 7E8#04410C1FEF000000
+(1520951086.400000) can0 7E8#04410C1FF0000000
+(1520951086.600000) can0 7E8#04410C1FF1000000
+(1520951086.800000) can0 7E8#04410C1FF2000000
+(1520951087.000000) can0 7E8#04410C1FF3000000
+(1520951087.200000) can0 7E8#04410C1FF4000000
+(1520951087.400000) can0 7E8#04410C1FF5000000
+(1520951087.600000) can0 7E8#04410C1FF6000000
+(1520951087.800000) can0 7E8#04410C1FF7000000
+(1520951088.000000) can0 7E8#04410C1FF8000000
+(1520951088.200000) can0 7E8#04410C1FF9000000
+(1520951088.400000) can0 7E8#04410C1FFA000000
+(1520951088.600000) can0 7E8#04410C1FFB000000
+(1520951088.800000) can0 7E8#04410C1FFC000000
+(1520951089.000000) can0 7E8#04410C1FFD000000
+(1520951089.200000) can0 7E8#04410C1FFE000000
+(1520951089.400000) can0 7E8#04410C1FFF000000
+(1520951089.600000) can0 7E8#04410C2000000000
+(1520951089.800000) can0 7E8#04410C2001000000
+(1520951090.000000) can0 7E8#04410C2001000000
+(1520951090.200000) can0 7E8#04410C2000000000
+(1520951090.400000) can0 7E8#04410C1FFF000000
+(1520951090.600000) can0 7E8#04410C1FFE000000
+(1520951090.800000) can0 7E8#04410C1FFD000000
+(1520951091.000000) can0 7E8#04410C1FFC000000
+(1520951091.200000) can0 7E8#04410C1FFB000000
+(1520951091.400000) can0 7E8#04410C1FFA000000
+(1520951091.600000) can0 7E8#04410C1FF9000000
+(1520951091.800000) can0 7E8#04410C1FF8000000
+(1520951092.000000) can0 7E8#04410C1FF7000000
+(1520951092.200000) can0 7E8#04410C1FF6000000
+(1520951092.400000) can0 7E8#04410C1FF5000000
+(1520951092.600000) can0 7E8#04410C1FF4000000
+(1520951092.800000) can0 7E8#04410C1FF3000000
+(1520951093.000000) can0 7E8#04410C1FF2000000
+(1520951093.200000) can0 7E8#04410C1FF1000000
+(1520951093.400000) can0 7E8#04410C1FF0000000
+(1520951093.600000) can0 7E8#04410C1FEF000000
+(1520951093.800000) can0 7E8#04410C1FEE000000
+(1520951094.000000) can0 7E8#04410C1FED000000
+(1520951094.200000) can0 7E8#04410C1FEC000000
+(1520951094.400000) can0 7E8#04410C1FEB000000
+(1520951094.600000) can0 7E8#04410C1FEA000000
+(1520951094.800000) can0 7E8#04410C1FE9000000
+(1520951095.000000) can0 7E8#04410C1FE8000000
+(1520951095.200000) can0 7E8#04410C1FE7000000
+(1520951095.400000) can0 7E8#04410C1FE6000000
+(1520951095.600000) can0 7E8#04410C1FE5000000
+(1520951095.800000) can0 7E8#04410C1FE4000000
+(1520951096.000000) can0 7E8#04410C1FE3000000
+(1520951096.200000) can0 7E8#04410C1FE2000000
+(1520951096.400000) can0 7E8#04410C1FE1000000
+(1520951096.600000) can0 7E8#04410C1FE0000000
+(1520951096.800000) can0 7E8#04410C1FDF000000
+(1520951097.000000) can0 7E8#04410C1FDE000000
+(1520951097.200000) can0 7E8#04410C1FDD000000
+(1520951097.400000) can0 7E8#04410C1FDC000000
+(1520951097.600000) can0 7E8#04410C1FDB000000
+(1520951097.800000) can0 7E8#04410C1FDA000000
+(1520951098.000000) can0 7E8#04410C1FD9000000
+(1520951098.200000) can0 7E8#04410C1FD8000000
+(1520951098.400000) can0 7E8#04410C1FD7000000
+(1520951098.600000) can0 7E8#04410C1FD6000000
+(1520951098.800000) can0 7E8#04410C1FD5000000
+(1520951099.000000) can0 7E8#04410C1FD4000000
+(1520951099.200000) can0 7E8#04410C1FD3000000
+(1520951099.400000) can0 7E8#04410C1FD2000000
+(1520951099.600000) can0 7E8#04410C1FD1000000
+(1520951099.800000) can0 7E8#04410C1FD0000000
diff --git a/test/afb-test/fixtures/test12.canreplay b/test/afb-test/fixtures/test12.canreplay
new file mode 100644
index 00000000..29c85174
--- /dev/null
+++ b/test/afb-test/fixtures/test12.canreplay
@@ -0,0 +1,45 @@
+(1520950960.000000) can0 3D9#00000C80000000
+(1520950960.200000) can0 3D9#00000CD0000000
+(1520950960.400000) can0 3D9#00000D20000000
+(1520950960.600000) can0 3D9#00000D70000000
+(1520950960.800000) can0 3D9#00000DC0000000
+(1520950961.000000) can0 3D9#00000E10000000
+(1520950961.200000) can0 3D9#00000E60000000
+(1520950961.400000) can0 3D9#00000EB0000000
+(1520950961.600000) can0 3D9#00000F00000000
+(1520950961.800000) can0 3D9#00000F50000000
+(1520950962.000000) can0 3D9#00000FA0000000
+(1520950962.200000) can0 3D9#00000FF0000000
+(1520950962.400000) can0 3D9#00001040000000
+(1520950962.600000) can0 3D9#00001090000000
+(1520950962.800000) can0 3D9#000010E0000000
+(1520950963.000000) can0 3D9#00001130000000
+(1520950963.200000) can0 3D9#00001180000000
+(1520950963.400000) can0 3D9#000011D0000000
+(1520950963.600000) can0 3D9#00001220000000
+(1520950963.800000) can0 3D9#00001270000000
+(1520950964.000000) can0 3D9#000012C0000000
+(1520950964.200000) can0 3D9#00001310000000
+(1520950964.400000) can0 3D9#00001360000000
+(1520950964.600000) can0 3D9#000013B0000000
+(1520950964.800000) can0 3D9#00001400000000
+(1520950965.000000) can0 3D9#00001450000000
+(1520950965.200000) can0 3D9#000014A0000000
+(1520950965.400000) can0 3D9#000014F0000000
+(1520950965.600000) can0 3D9#00001540000000
+(1520950965.800000) can0 3D9#00001590000000
+(1520950966.000000) can0 3D9#000015E0000000
+(1520950966.200000) can0 3D9#00001630000000
+(1520950966.400000) can0 3D9#00001680000000
+(1520950966.600000) can0 3D9#000016D0000000
+(1520950966.800000) can0 3D9#00001720000000
+(1520950967.000000) can0 3D9#00001770000000
+(1520950967.200000) can0 3D9#000017C0000000
+(1520950967.400000) can0 3D9#00001810000000
+(1520950967.600000) can0 3D9#00001860000000
+(1520950967.800000) can0 3D9#000018B0000000
+(1520950968.000000) can0 3D9#00001900000000
+(1520950968.200000) can0 3D9#00001950000000
+(1520950968.400000) can0 3D9#000019A0000000
+(1520950968.600000) can0 3D9#000019F0000000
+(1520950968.800000) can0 3D9#00001A40000000
diff --git a/test/afb-test/fixtures/test13.canreplay b/test/afb-test/fixtures/test13.canreplay
new file mode 100644
index 00000000..079aff98
--- /dev/null
+++ b/test/afb-test/fixtures/test13.canreplay
@@ -0,0 +1,93 @@
+(1520950960.000000) can0 3D9#00000C80000000
+(1520950960.200000) can0 3D9#00000CD0000000
+(1520950960.400000) can0 3D9#00000D20000000
+(1520950960.600000) can0 3D9#00000D70000000
+(1520950960.800000) can0 3D9#00000DC0000000
+(1520950961.000000) can0 3D9#00000E10000000
+(1520950961.200000) can0 3D9#00000E60000000
+(1520950961.400000) can0 3D9#00000EB0000000
+(1520950961.600000) can0 3D9#00000F00000000
+(1520950961.800000) can0 3D9#00000F50000000
+(1520950962.000000) can0 3D9#00000FA0000000
+(1520950962.200000) can0 3D9#00000FF0000000
+(1520950962.400000) can0 3D9#00001040000000
+(1520950962.600000) can0 3D9#00001090000000
+(1520950962.800000) can0 3D9#000010E0000000
+(1520950963.000000) can0 3D9#00001130000000
+(1520950963.200000) can0 3D9#00001180000000
+(1520950963.400000) can0 3D9#000011D0000000
+(1520950963.600000) can0 3D9#00001220000000
+(1520950963.800000) can0 3D9#00001270000000
+(1520950964.000000) can0 3D9#000012C0000000
+(1520950964.200000) can0 3D9#00001310000000
+(1520950964.400000) can0 3D9#00001360000000
+(1520950964.600000) can0 3D9#000013B0000000
+(1520950964.800000) can0 3D9#00001400000000
+(1520950965.000000) can0 3D9#00001450000000
+(1520950965.200000) can0 3D9#000014A0000000
+(1520950965.400000) can0 3D9#000014F0000000
+(1520950965.600000) can0 3D9#00001540000000
+(1520950965.800000) can0 3D9#00001590000000
+(1520950966.000000) can0 3D9#000015E0000000
+(1520950966.200000) can0 3D9#00001630000000
+(1520950966.400000) can0 3D9#00001680000000
+(1520950966.600000) can0 3D9#000016D0000000
+(1520950966.800000) can0 3D9#00001720000000
+(1520950967.000000) can0 3D9#00001770000000
+(1520950967.200000) can0 3D9#000017C0000000
+(1520950967.400000) can0 3D9#00001810000000
+(1520950967.600000) can0 3D9#00001860000000
+(1520950967.800000) can0 3D9#000018B0000000
+(1520950968.000000) can0 3D9#00001900000000
+(1520950968.200000) can0 3D9#00001950000000
+(1520950968.400000) can0 3D9#000019A0000000
+(1520950968.600000) can0 3D9#000019F0000000
+(1520950968.800000) can0 3D9#00001A40000000
+
+
+
+(1520950970.000000) can0 3D9#00001A40000000
+(1520950970.200000) can0 3D9#000019F0000000
+(1520950970.400000) can0 3D9#000019A0000000
+(1520950970.600000) can0 3D9#00001950000000
+(1520950970.800000) can0 3D9#00001900000000
+(1520950971.000000) can0 3D9#000018B0000000
+(1520950971.200000) can0 3D9#00001860000000
+(1520950971.400000) can0 3D9#00001810000000
+(1520950971.600000) can0 3D9#000017C0000000
+(1520950971.800000) can0 3D9#00001770000000
+(1520950972.000000) can0 3D9#00001720000000
+(1520950972.200000) can0 3D9#000016D0000000
+(1520950972.400000) can0 3D9#00001680000000
+(1520950972.600000) can0 3D9#00001630000000
+(1520950972.800000) can0 3D9#000015E0000000
+(1520950973.000000) can0 3D9#00001590000000
+(1520950973.200000) can0 3D9#00001540000000
+(1520950973.400000) can0 3D9#000014F0000000
+(1520950973.600000) can0 3D9#000014A0000000
+(1520950973.800000) can0 3D9#00001450000000
+(1520950974.000000) can0 3D9#00001400000000
+(1520950974.200000) can0 3D9#000013B0000000
+(1520950974.400000) can0 3D9#00001360000000
+(1520950974.600000) can0 3D9#00001310000000
+(1520950974.800000) can0 3D9#000012C0000000
+(1520950975.000000) can0 3D9#00001270000000
+(1520950975.200000) can0 3D9#00001220000000
+(1520950975.400000) can0 3D9#000011D0000000
+(1520950975.600000) can0 3D9#00001180000000
+(1520950975.800000) can0 3D9#00001130000000
+(1520950976.000000) can0 3D9#000010E0000000
+(1520950976.200000) can0 3D9#00001090000000
+(1520950976.400000) can0 3D9#00001040000000
+(1520950976.600000) can0 3D9#00000FF0000000
+(1520950976.800000) can0 3D9#00000FA0000000
+(1520950977.000000) can0 3D9#00000F50000000
+(1520950977.200000) can0 3D9#00000F00000000
+(1520950977.400000) can0 3D9#00000EB0000000
+(1520950977.600000) can0 3D9#00000E60000000
+(1520950977.800000) can0 3D9#00000E10000000
+(1520950978.000000) can0 3D9#00000DC0000000
+(1520950978.200000) can0 3D9#00000D70000000
+(1520950978.400000) can0 3D9#00000D20000000
+(1520950978.600000) can0 3D9#00000CD0000000
+(1520950978.800000) can0 3D9#00000C80000000
diff --git a/test/afb-test/fixtures/test14.canreplay b/test/afb-test/fixtures/test14.canreplay
new file mode 100644
index 00000000..74a8b202
--- /dev/null
+++ b/test/afb-test/fixtures/test14.canreplay
@@ -0,0 +1,93 @@
+(1520950980.000000) can0 3D9#00003390000000
+(1520950980.200000) can0 3D9#000033E0000000
+(1520950980.400000) can0 3D9#00003430000000
+(1520950980.600000) can0 3D9#00003480000000
+(1520950980.800000) can0 3D9#000034D0000000
+(1520950981.000000) can0 3D9#00003520000000
+(1520950981.200000) can0 3D9#00003570000000
+(1520950981.400000) can0 3D9#000035C0000000
+(1520950981.600000) can0 3D9#00003610000000
+(1520950981.800000) can0 3D9#00003660000000
+(1520950982.000000) can0 3D9#000036B0000000
+(1520950982.200000) can0 3D9#00003700000000
+(1520950982.400000) can0 3D9#00003750000000
+(1520950982.600000) can0 3D9#000037A0000000
+(1520950982.800000) can0 3D9#000037F0000000
+(1520950983.000000) can0 3D9#00003840000000
+(1520950983.200000) can0 3D9#00003890000000
+(1520950983.400000) can0 3D9#000038E0000000
+(1520950983.600000) can0 3D9#00003930000000
+(1520950983.800000) can0 3D9#00003980000000
+(1520950984.000000) can0 3D9#000039D0000000
+(1520950984.200000) can0 3D9#00003A20000000
+(1520950984.400000) can0 3D9#00003A70000000
+(1520950984.600000) can0 3D9#00003AC0000000
+(1520950984.800000) can0 3D9#00003B10000000
+(1520950985.000000) can0 3D9#00003B60000000
+(1520950985.200000) can0 3D9#00003BB0000000
+(1520950985.400000) can0 3D9#00003C00000000
+(1520950985.600000) can0 3D9#00003C50000000
+(1520950985.800000) can0 3D9#00003CA0000000
+(1520950986.000000) can0 3D9#00003CF0000000
+(1520950986.200000) can0 3D9#00003D40000000
+(1520950986.400000) can0 3D9#00003D90000000
+(1520950986.600000) can0 3D9#00003DE0000000
+(1520950986.800000) can0 3D9#00003E30000000
+(1520950987.000000) can0 3D9#00003E80000000
+(1520950987.200000) can0 3D9#00003ED0000000
+(1520950987.400000) can0 3D9#00003F20000000
+(1520950987.600000) can0 3D9#00003F70000000
+(1520950987.800000) can0 3D9#00003FC0000000
+(1520950988.000000) can0 3D9#00004010000000
+(1520950988.200000) can0 3D9#00004060000000
+(1520950988.400000) can0 3D9#000040B0000000
+(1520950988.600000) can0 3D9#00004100000000
+(1520950988.800000) can0 3D9#00004150000000
+
+
+
+(1520950990.000000) can0 3D9#00004150000000
+(1520950990.200000) can0 3D9#00004100000000
+(1520950990.400000) can0 3D9#000040B0000000
+(1520950990.600000) can0 3D9#00004060000000
+(1520950992.800000) can0 3D9#00004010000000
+(1520950991.000000) can0 3D9#00003FC0000000
+(1520950991.200000) can0 3D9#00003F70000000
+(1520950991.400000) can0 3D9#00003F20000000
+(1520950991.600000) can0 3D9#00003ED0000000
+(1520950991.800000) can0 3D9#00003E80000000
+(1520950992.000000) can0 3D9#00003E30000000
+(1520950992.200000) can0 3D9#00003DE0000000
+(1520950992.400000) can0 3D9#00003D90000000
+(1520950992.600000) can0 3D9#00003D40000000
+(1520950992.800000) can0 3D9#00003CF0000000
+(1520950993.000000) can0 3D9#00003CA0000000
+(1520950993.200000) can0 3D9#00003C50000000
+(1520950993.400000) can0 3D9#00003C00000000
+(1520950993.600000) can0 3D9#00003BB0000000
+(1520950993.800000) can0 3D9#00003B60000000
+(1520950994.000000) can0 3D9#00003B10000000
+(1520950994.200000) can0 3D9#00003AC0000000
+(1520950994.400000) can0 3D9#00003A70000000
+(1520950994.600000) can0 3D9#00003A20000000
+(1520950994.800000) can0 3D9#000039D0000000
+(1520950995.000000) can0 3D9#00003980000000
+(1520950995.200000) can0 3D9#00003930000000
+(1520950995.400000) can0 3D9#000038E0000000
+(1520950995.600000) can0 3D9#00003890000000
+(1520950995.800000) can0 3D9#00003840000000
+(1520950996.000000) can0 3D9#000037F0000000
+(1520950996.200000) can0 3D9#000037A0000000
+(1520950996.400000) can0 3D9#00003750000000
+(1520950996.600000) can0 3D9#00003700000000
+(1520950996.800000) can0 3D9#000036B0000000
+(1520950997.000000) can0 3D9#00003660000000
+(1520950997.200000) can0 3D9#00003610000000
+(1520950997.400000) can0 3D9#000035C0000000
+(1520950997.600000) can0 3D9#00003570000000
+(1520950997.800000) can0 3D9#00003520000000
+(1520950998.000000) can0 3D9#000034D0000000
+(1520950998.200000) can0 3D9#00003480000000
+(1520950998.400000) can0 3D9#00003430000000
+(1520950998.600000) can0 3D9#000033E0000000
+(1520950998.800000) can0 3D9#00003390000000
diff --git a/test/afb-test/fixtures/test2-1.canreplay b/test/afb-test/fixtures/test2-1.canreplay
new file mode 100644
index 00000000..5669ef90
--- /dev/null
+++ b/test/afb-test/fixtures/test2-1.canreplay
@@ -0,0 +1,508 @@
+(1520951000.000000) can0 7E8#04410C1FD0000000
+(1520951000.200000) can0 7E8#04410C1FD1000000
+(1520951000.400000) can0 7E8#04410C1FD2000000
+(1520951000.600000) can0 7E8#04410C1FD3000000
+(1520951000.800000) can0 7E8#04410C1FD4000000
+(1520951001.000000) can0 7E8#04410C1FD5000000
+(1520951001.200000) can0 7E8#04410C1FD6000000
+(1520951001.400000) can0 7E8#04410C1FD7000000
+(1520951001.600000) can0 7E8#04410C1FD8000000
+(1520951001.800000) can0 7E8#04410C1FD9000000
+(1520951002.000000) can0 7E8#04410C1FDA000000
+(1520951002.200000) can0 7E8#04410C1FDB000000
+(1520951002.400000) can0 7E8#04410C1FDC000000
+(1520951002.600000) can0 7E8#04410C1FDD000000
+(1520951002.800000) can0 7E8#04410C1FDE000000
+(1520951003.000000) can0 7E8#04410C1FDF000000
+(1520951003.200000) can0 7E8#04410C1FE0000000
+(1520951003.400000) can0 7E8#04410C1FE1000000
+(1520951003.600000) can0 7E8#04410C1FE2000000
+(1520951003.800000) can0 7E8#04410C1FE3000000
+(1520951004.000000) can0 7E8#04410C1FE4000000
+(1520951004.200000) can0 7E8#04410C1FE5000000
+(1520951004.400000) can0 7E8#04410C1FE6000000
+(1520951004.600000) can0 7E8#04410C1FE7000000
+(1520951004.800000) can0 7E8#04410C1FE8000000
+(1520951005.000000) can0 7E8#04410C1FE9000000
+(1520951005.200000) can0 7E8#04410C1FEA000000
+(1520951005.400000) can0 7E8#04410C1FEB000000
+(1520951005.600000) can0 7E8#04410C1FEC000000
+(1520951005.800000) can0 7E8#04410C1FED000000
+(1520951006.000000) can0 7E8#04410C1FEE000000
+(1520951006.200000) can0 7E8#04410C1FEF000000
+(1520951006.400000) can0 7E8#04410C1FF0000000
+(1520951006.600000) can0 7E8#04410C1FF1000000
+(1520951006.800000) can0 7E8#04410C1FF2000000
+(1520951007.000000) can0 7E8#04410C1FF3000000
+(1520951007.200000) can0 7E8#04410C1FF4000000
+(1520951007.400000) can0 7E8#04410C1FF5000000
+(1520951007.600000) can0 7E8#04410C1FF6000000
+(1520951007.800000) can0 7E8#04410C1FF7000000
+(1520951008.000000) can0 7E8#04410C1FF8000000
+(1520951008.200000) can0 7E8#04410C1FF9000000
+(1520951008.400000) can0 7E8#04410C1FFA000000
+(1520951008.600000) can0 7E8#04410C1FFB000000
+(1520951008.800000) can0 7E8#04410C1FFC000000
+(1520951009.000000) can0 7E8#04410C1FFD000000
+(1520951009.200000) can0 7E8#04410C1FFE000000
+(1520951009.400000) can0 7E8#04410C1FFF000000
+(1520951009.600000) can0 7E8#04410C2000000000
+(1520951009.800000) can0 7E8#04410C2001000000
+(1520951010.000000) can0 7E8#04410C2001000000
+(1520951010.200000) can0 7E8#04410C2000000000
+(1520951010.400000) can0 7E8#04410C1FFF000000
+(1520951010.600000) can0 7E8#04410C1FFE000000
+(1520951010.800000) can0 7E8#04410C1FFD000000
+(1520951011.000000) can0 7E8#04410C1FFC000000
+(1520951011.200000) can0 7E8#04410C1FFB000000
+(1520951011.400000) can0 7E8#04410C1FFA000000
+(1520951011.600000) can0 7E8#04410C1FF9000000
+(1520951011.800000) can0 7E8#04410C1FF8000000
+(1520951012.000000) can0 7E8#04410C1FF7000000
+(1520951012.200000) can0 7E8#04410C1FF6000000
+(1520951012.400000) can0 7E8#04410C1FF5000000
+(1520951012.600000) can0 7E8#04410C1FF4000000
+(1520951012.800000) can0 7E8#04410C1FF3000000
+(1520951013.000000) can0 7E8#04410C1FF2000000
+(1520951013.200000) can0 7E8#04410C1FF1000000
+(1520951013.400000) can0 7E8#04410C1FF0000000
+(1520951013.600000) can0 7E8#04410C1FEF000000
+(1520951013.800000) can0 7E8#04410C1FEE000000
+(1520951014.000000) can0 7E8#04410C1FED000000
+(1520951014.200000) can0 7E8#04410C1FEC000000
+(1520951014.400000) can0 7E8#04410C1FEB000000
+(1520951014.600000) can0 7E8#04410C1FEA000000
+(1520951014.800000) can0 7E8#04410C1FE9000000
+(1520951015.000000) can0 7E8#04410C1FE8000000
+(1520951015.200000) can0 7E8#04410C1FE7000000
+(1520951015.400000) can0 7E8#04410C1FE6000000
+(1520951015.600000) can0 7E8#04410C1FE5000000
+(1520951015.800000) can0 7E8#04410C1FE4000000
+(1520951016.000000) can0 7E8#04410C1FE3000000
+(1520951016.200000) can0 7E8#04410C1FE2000000
+(1520951016.400000) can0 7E8#04410C1FE1000000
+(1520951016.600000) can0 7E8#04410C1FE0000000
+(1520951016.800000) can0 7E8#04410C1FDF000000
+(1520951017.000000) can0 7E8#04410C1FDE000000
+(1520951017.200000) can0 7E8#04410C1FDD000000
+(1520951017.400000) can0 7E8#04410C1FDC000000
+(1520951017.600000) can0 7E8#04410C1FDB000000
+(1520951017.800000) can0 7E8#04410C1FDA000000
+(1520951018.000000) can0 7E8#04410C1FD9000000
+(1520951018.200000) can0 7E8#04410C1FD8000000
+(1520951018.400000) can0 7E8#04410C1FD7000000
+(1520951018.600000) can0 7E8#04410C1FD6000000
+(1520951018.800000) can0 7E8#04410C1FD5000000
+(1520951019.000000) can0 7E8#04410C1FD4000000
+(1520951019.200000) can0 7E8#04410C1FD3000000
+(1520951019.400000) can0 7E8#04410C1FD2000000
+(1520951019.600000) can0 7E8#04410C1FD1000000
+(1520951019.800000) can0 7E8#04410C1FD0000000
+
+
+(1520951020.000000) can0 7E8#04410C1FD0000000
+(1520951020.200000) can0 7E8#04410C1FD1000000
+(1520951020.400000) can0 7E8#04410C1FD2000000
+(1520951020.600000) can0 7E8#04410C1FD3000000
+(1520951020.800000) can0 7E8#04410C1FD4000000
+(1520951021.000000) can0 7E8#04410C1FD5000000
+(1520951021.200000) can0 7E8#04410C1FD6000000
+(1520951021.400000) can0 7E8#04410C1FD7000000
+(1520951021.600000) can0 7E8#04410C1FD8000000
+(1520951021.800000) can0 7E8#04410C1FD9000000
+(1520951022.000000) can0 7E8#04410C1FDA000000
+(1520951022.200000) can0 7E8#04410C1FDB000000
+(1520951022.400000) can0 7E8#04410C1FDC000000
+(1520951022.600000) can0 7E8#04410C1FDD000000
+(1520951022.800000) can0 7E8#04410C1FDE000000
+(1520951023.000000) can0 7E8#04410C1FDF000000
+(1520951023.200000) can0 7E8#04410C1FE0000000
+(1520951023.400000) can0 7E8#04410C1FE1000000
+(1520951023.600000) can0 7E8#04410C1FE2000000
+(1520951023.800000) can0 7E8#04410C1FE3000000
+(1520951024.000000) can0 7E8#04410C1FE4000000
+(1520951024.200000) can0 7E8#04410C1FE5000000
+(1520951024.400000) can0 7E8#04410C1FE6000000
+(1520951024.600000) can0 7E8#04410C1FE7000000
+(1520951024.800000) can0 7E8#04410C1FE8000000
+(1520951025.000000) can0 7E8#04410C1FE9000000
+(1520951025.200000) can0 7E8#04410C1FEA000000
+(1520951025.400000) can0 7E8#04410C1FEB000000
+(1520951025.600000) can0 7E8#04410C1FEC000000
+(1520951025.800000) can0 7E8#04410C1FED000000
+(1520951026.000000) can0 7E8#04410C1FEE000000
+(1520951026.200000) can0 7E8#04410C1FEF000000
+(1520951026.400000) can0 7E8#04410C1FF0000000
+(1520951026.600000) can0 7E8#04410C1FF1000000
+(1520951026.800000) can0 7E8#04410C1FF2000000
+(1520951027.000000) can0 7E8#04410C1FF3000000
+(1520951027.200000) can0 7E8#04410C1FF4000000
+(1520951027.400000) can0 7E8#04410C1FF5000000
+(1520951027.600000) can0 7E8#04410C1FF6000000
+(1520951027.800000) can0 7E8#04410C1FF7000000
+(1520951028.000000) can0 7E8#04410C1FF8000000
+(1520951028.200000) can0 7E8#04410C1FF9000000
+(1520951028.400000) can0 7E8#04410C1FFA000000
+(1520951028.600000) can0 7E8#04410C1FFB000000
+(1520951028.800000) can0 7E8#04410C1FFC000000
+(1520951029.000000) can0 7E8#04410C1FFD000000
+(1520951029.200000) can0 7E8#04410C1FFE000000
+(1520951029.400000) can0 7E8#04410C1FFF000000
+(1520951029.600000) can0 7E8#04410C2000000000
+(1520951029.800000) can0 7E8#04410C2001000000
+(1520951030.000000) can0 7E8#04410C2001000000
+(1520951030.200000) can0 7E8#04410C2000000000
+(1520951030.400000) can0 7E8#04410C1FFF000000
+(1520951030.600000) can0 7E8#04410C1FFE000000
+(1520951030.800000) can0 7E8#04410C1FFD000000
+(1520951031.000000) can0 7E8#04410C1FFC000000
+(1520951031.200000) can0 7E8#04410C1FFB000000
+(1520951031.400000) can0 7E8#04410C1FFA000000
+(1520951031.600000) can0 7E8#04410C1FF9000000
+(1520951031.800000) can0 7E8#04410C1FF8000000
+(1520951032.000000) can0 7E8#04410C1FF7000000
+(1520951032.200000) can0 7E8#04410C1FF6000000
+(1520951032.400000) can0 7E8#04410C1FF5000000
+(1520951032.600000) can0 7E8#04410C1FF4000000
+(1520951032.800000) can0 7E8#04410C1FF3000000
+(1520951033.000000) can0 7E8#04410C1FF2000000
+(1520951033.200000) can0 7E8#04410C1FF1000000
+(1520951033.400000) can0 7E8#04410C1FF0000000
+(1520951033.600000) can0 7E8#04410C1FEF000000
+(1520951033.800000) can0 7E8#04410C1FEE000000
+(1520951034.000000) can0 7E8#04410C1FED000000
+(1520951034.200000) can0 7E8#04410C1FEC000000
+(1520951034.400000) can0 7E8#04410C1FEB000000
+(1520951034.600000) can0 7E8#04410C1FEA000000
+(1520951034.800000) can0 7E8#04410C1FE9000000
+(1520951035.000000) can0 7E8#04410C1FE8000000
+(1520951035.200000) can0 7E8#04410C1FE7000000
+(1520951035.400000) can0 7E8#04410C1FE6000000
+(1520951035.600000) can0 7E8#04410C1FE5000000
+(1520951035.800000) can0 7E8#04410C1FE4000000
+(1520951036.000000) can0 7E8#04410C1FE3000000
+(1520951036.200000) can0 7E8#04410C1FE2000000
+(1520951036.400000) can0 7E8#04410C1FE1000000
+(1520951036.600000) can0 7E8#04410C1FE0000000
+(1520951036.800000) can0 7E8#04410C1FDF000000
+(1520951037.000000) can0 7E8#04410C1FDE000000
+(1520951037.200000) can0 7E8#04410C1FDD000000
+(1520951037.400000) can0 7E8#04410C1FDC000000
+(1520951037.600000) can0 7E8#04410C1FDB000000
+(1520951037.800000) can0 7E8#04410C1FDA000000
+(1520951038.000000) can0 7E8#04410C1FD9000000
+(1520951038.200000) can0 7E8#04410C1FD8000000
+(1520951038.400000) can0 7E8#04410C1FD7000000
+(1520951038.600000) can0 7E8#04410C1FD6000000
+(1520951038.800000) can0 7E8#04410C1FD5000000
+(1520951039.000000) can0 7E8#04410C1FD4000000
+(1520951039.200000) can0 7E8#04410C1FD3000000
+(1520951039.400000) can0 7E8#04410C1FD2000000
+(1520951039.600000) can0 7E8#04410C1FD1000000
+(1520951039.800000) can0 7E8#04410C1FD0000000
+
+
+(1520951040.000000) can0 7E8#04410C1FD0000000
+(1520951040.200000) can0 7E8#04410C1FD1000000
+(1520951040.400000) can0 7E8#04410C1FD2000000
+(1520951040.600000) can0 7E8#04410C1FD3000000
+(1520951040.800000) can0 7E8#04410C1FD4000000
+(1520951041.000000) can0 7E8#04410C1FD5000000
+(1520951041.200000) can0 7E8#04410C1FD6000000
+(1520951041.400000) can0 7E8#04410C1FD7000000
+(1520951041.600000) can0 7E8#04410C1FD8000000
+(1520951041.800000) can0 7E8#04410C1FD9000000
+(1520951042.000000) can0 7E8#04410C1FDA000000
+(1520951042.200000) can0 7E8#04410C1FDB000000
+(1520951042.400000) can0 7E8#04410C1FDC000000
+(1520951042.600000) can0 7E8#04410C1FDD000000
+(1520951042.800000) can0 7E8#04410C1FDE000000
+(1520951043.000000) can0 7E8#04410C1FDF000000
+(1520951043.200000) can0 7E8#04410C1FE0000000
+(1520951043.400000) can0 7E8#04410C1FE1000000
+(1520951043.600000) can0 7E8#04410C1FE2000000
+(1520951043.800000) can0 7E8#04410C1FE3000000
+(1520951044.000000) can0 7E8#04410C1FE4000000
+(1520951044.200000) can0 7E8#04410C1FE5000000
+(1520951044.400000) can0 7E8#04410C1FE6000000
+(1520951044.600000) can0 7E8#04410C1FE7000000
+(1520951044.800000) can0 7E8#04410C1FE8000000
+(1520951045.000000) can0 7E8#04410C1FE9000000
+(1520951045.200000) can0 7E8#04410C1FEA000000
+(1520951045.400000) can0 7E8#04410C1FEB000000
+(1520951045.600000) can0 7E8#04410C1FEC000000
+(1520951045.800000) can0 7E8#04410C1FED000000
+(1520951046.000000) can0 7E8#04410C1FEE000000
+(1520951046.200000) can0 7E8#04410C1FEF000000
+(1520951046.400000) can0 7E8#04410C1FF0000000
+(1520951046.600000) can0 7E8#04410C1FF1000000
+(1520951046.800000) can0 7E8#04410C1FF2000000
+(1520951047.000000) can0 7E8#04410C1FF3000000
+(1520951047.200000) can0 7E8#04410C1FF4000000
+(1520951047.400000) can0 7E8#04410C1FF5000000
+(1520951047.600000) can0 7E8#04410C1FF6000000
+(1520951047.800000) can0 7E8#04410C1FF7000000
+(1520951048.000000) can0 7E8#04410C1FF8000000
+(1520951048.200000) can0 7E8#04410C1FF9000000
+(1520951048.400000) can0 7E8#04410C1FFA000000
+(1520951048.600000) can0 7E8#04410C1FFB000000
+(1520951048.800000) can0 7E8#04410C1FFC000000
+(1520951049.000000) can0 7E8#04410C1FFD000000
+(1520951049.200000) can0 7E8#04410C1FFE000000
+(1520951049.400000) can0 7E8#04410C1FFF000000
+(1520951049.600000) can0 7E8#04410C2000000000
+(1520951049.800000) can0 7E8#04410C2001000000
+(1520951050.000000) can0 7E8#04410C2001000000
+(1520951050.200000) can0 7E8#04410C2000000000
+(1520951050.400000) can0 7E8#04410C1FFF000000
+(1520951050.600000) can0 7E8#04410C1FFE000000
+(1520951050.800000) can0 7E8#04410C1FFD000000
+(1520951051.000000) can0 7E8#04410C1FFC000000
+(1520951051.200000) can0 7E8#04410C1FFB000000
+(1520951051.400000) can0 7E8#04410C1FFA000000
+(1520951051.600000) can0 7E8#04410C1FF9000000
+(1520951051.800000) can0 7E8#04410C1FF8000000
+(1520951052.000000) can0 7E8#04410C1FF7000000
+(1520951052.200000) can0 7E8#04410C1FF6000000
+(1520951052.400000) can0 7E8#04410C1FF5000000
+(1520951052.600000) can0 7E8#04410C1FF4000000
+(1520951052.800000) can0 7E8#04410C1FF3000000
+(1520951053.000000) can0 7E8#04410C1FF2000000
+(1520951053.200000) can0 7E8#04410C1FF1000000
+(1520951053.400000) can0 7E8#04410C1FF0000000
+(1520951053.600000) can0 7E8#04410C1FEF000000
+(1520951053.800000) can0 7E8#04410C1FEE000000
+(1520951054.000000) can0 7E8#04410C1FED000000
+(1520951054.200000) can0 7E8#04410C1FEC000000
+(1520951054.400000) can0 7E8#04410C1FEB000000
+(1520951054.600000) can0 7E8#04410C1FEA000000
+(1520951054.800000) can0 7E8#04410C1FE9000000
+(1520951055.000000) can0 7E8#04410C1FE8000000
+(1520951055.200000) can0 7E8#04410C1FE7000000
+(1520951055.400000) can0 7E8#04410C1FE6000000
+(1520951055.600000) can0 7E8#04410C1FE5000000
+(1520951055.800000) can0 7E8#04410C1FE4000000
+(1520951056.000000) can0 7E8#04410C1FE3000000
+(1520951056.200000) can0 7E8#04410C1FE2000000
+(1520951056.400000) can0 7E8#04410C1FE1000000
+(1520951056.600000) can0 7E8#04410C1FE0000000
+(1520951056.800000) can0 7E8#04410C1FDF000000
+(1520951057.000000) can0 7E8#04410C1FDE000000
+(1520951057.200000) can0 7E8#04410C1FDD000000
+(1520951057.400000) can0 7E8#04410C1FDC000000
+(1520951057.600000) can0 7E8#04410C1FDB000000
+(1520951057.800000) can0 7E8#04410C1FDA000000
+(1520951058.000000) can0 7E8#04410C1FD9000000
+(1520951058.200000) can0 7E8#04410C1FD8000000
+(1520951058.400000) can0 7E8#04410C1FD7000000
+(1520951058.600000) can0 7E8#04410C1FD6000000
+(1520951058.800000) can0 7E8#04410C1FD5000000
+(1520951059.000000) can0 7E8#04410C1FD4000000
+(1520951059.200000) can0 7E8#04410C1FD3000000
+(1520951059.400000) can0 7E8#04410C1FD2000000
+(1520951059.600000) can0 7E8#04410C1FD1000000
+(1520951059.800000) can0 7E8#04410C1FD0000000
+
+
+(1520951060.000000) can0 7E8#04410C1FD0000000
+(1520951060.200000) can0 7E8#04410C1FD1000000
+(1520951060.400000) can0 7E8#04410C1FD2000000
+(1520951060.600000) can0 7E8#04410C1FD3000000
+(1520951060.800000) can0 7E8#04410C1FD4000000
+(1520951061.000000) can0 7E8#04410C1FD5000000
+(1520951061.200000) can0 7E8#04410C1FD6000000
+(1520951061.400000) can0 7E8#04410C1FD7000000
+(1520951061.600000) can0 7E8#04410C1FD8000000
+(1520951061.800000) can0 7E8#04410C1FD9000000
+(1520951062.000000) can0 7E8#04410C1FDA000000
+(1520951062.200000) can0 7E8#04410C1FDB000000
+(1520951062.400000) can0 7E8#04410C1FDC000000
+(1520951062.600000) can0 7E8#04410C1FDD000000
+(1520951062.800000) can0 7E8#04410C1FDE000000
+(1520951063.000000) can0 7E8#04410C1FDF000000
+(1520951063.200000) can0 7E8#04410C1FE0000000
+(1520951063.400000) can0 7E8#04410C1FE1000000
+(1520951063.600000) can0 7E8#04410C1FE2000000
+(1520951063.800000) can0 7E8#04410C1FE3000000
+(1520951064.000000) can0 7E8#04410C1FE4000000
+(1520951064.200000) can0 7E8#04410C1FE5000000
+(1520951064.400000) can0 7E8#04410C1FE6000000
+(1520951064.600000) can0 7E8#04410C1FE7000000
+(1520951064.800000) can0 7E8#04410C1FE8000000
+(1520951065.000000) can0 7E8#04410C1FE9000000
+(1520951065.200000) can0 7E8#04410C1FEA000000
+(1520951065.400000) can0 7E8#04410C1FEB000000
+(1520951065.600000) can0 7E8#04410C1FEC000000
+(1520951065.800000) can0 7E8#04410C1FED000000
+(1520951066.000000) can0 7E8#04410C1FEE000000
+(1520951066.200000) can0 7E8#04410C1FEF000000
+(1520951066.400000) can0 7E8#04410C1FF0000000
+(1520951066.600000) can0 7E8#04410C1FF1000000
+(1520951066.800000) can0 7E8#04410C1FF2000000
+(1520951067.000000) can0 7E8#04410C1FF3000000
+(1520951067.200000) can0 7E8#04410C1FF4000000
+(1520951067.400000) can0 7E8#04410C1FF5000000
+(1520951067.600000) can0 7E8#04410C1FF6000000
+(1520951067.800000) can0 7E8#04410C1FF7000000
+(1520951068.000000) can0 7E8#04410C1FF8000000
+(1520951068.200000) can0 7E8#04410C1FF9000000
+(1520951068.400000) can0 7E8#04410C1FFA000000
+(1520951068.600000) can0 7E8#04410C1FFB000000
+(1520951068.800000) can0 7E8#04410C1FFC000000
+(1520951069.000000) can0 7E8#04410C1FFD000000
+(1520951069.200000) can0 7E8#04410C1FFE000000
+(1520951069.400000) can0 7E8#04410C1FFF000000
+(1520951069.600000) can0 7E8#04410C2000000000
+(1520951069.800000) can0 7E8#04410C2001000000
+(1520951070.000000) can0 7E8#04410C2001000000
+(1520951070.200000) can0 7E8#04410C2000000000
+(1520951070.400000) can0 7E8#04410C1FFF000000
+(1520951070.600000) can0 7E8#04410C1FFE000000
+(1520951070.800000) can0 7E8#04410C1FFD000000
+(1520951071.000000) can0 7E8#04410C1FFC000000
+(1520951071.200000) can0 7E8#04410C1FFB000000
+(1520951071.400000) can0 7E8#04410C1FFA000000
+(1520951071.600000) can0 7E8#04410C1FF9000000
+(1520951071.800000) can0 7E8#04410C1FF8000000
+(1520951072.000000) can0 7E8#04410C1FF7000000
+(1520951072.200000) can0 7E8#04410C1FF6000000
+(1520951072.400000) can0 7E8#04410C1FF5000000
+(1520951072.600000) can0 7E8#04410C1FF4000000
+(1520951072.800000) can0 7E8#04410C1FF3000000
+(1520951073.000000) can0 7E8#04410C1FF2000000
+(1520951073.200000) can0 7E8#04410C1FF1000000
+(1520951073.400000) can0 7E8#04410C1FF0000000
+(1520951073.600000) can0 7E8#04410C1FEF000000
+(1520951073.800000) can0 7E8#04410C1FEE000000
+(1520951074.000000) can0 7E8#04410C1FED000000
+(1520951074.200000) can0 7E8#04410C1FEC000000
+(1520951074.400000) can0 7E8#04410C1FEB000000
+(1520951074.600000) can0 7E8#04410C1FEA000000
+(1520951074.800000) can0 7E8#04410C1FE9000000
+(1520951075.000000) can0 7E8#04410C1FE8000000
+(1520951075.200000) can0 7E8#04410C1FE7000000
+(1520951075.400000) can0 7E8#04410C1FE6000000
+(1520951075.600000) can0 7E8#04410C1FE5000000
+(1520951075.800000) can0 7E8#04410C1FE4000000
+(1520951076.000000) can0 7E8#04410C1FE3000000
+(1520951076.200000) can0 7E8#04410C1FE2000000
+(1520951076.400000) can0 7E8#04410C1FE1000000
+(1520951076.600000) can0 7E8#04410C1FE0000000
+(1520951076.800000) can0 7E8#04410C1FDF000000
+(1520951077.000000) can0 7E8#04410C1FDE000000
+(1520951077.200000) can0 7E8#04410C1FDD000000
+(1520951077.400000) can0 7E8#04410C1FDC000000
+(1520951077.600000) can0 7E8#04410C1FDB000000
+(1520951077.800000) can0 7E8#04410C1FDA000000
+(1520951078.000000) can0 7E8#04410C1FD9000000
+(1520951078.200000) can0 7E8#04410C1FD8000000
+(1520951078.400000) can0 7E8#04410C1FD7000000
+(1520951078.600000) can0 7E8#04410C1FD6000000
+(1520951078.800000) can0 7E8#04410C1FD5000000
+(1520951079.000000) can0 7E8#04410C1FD4000000
+(1520951079.200000) can0 7E8#04410C1FD3000000
+(1520951079.400000) can0 7E8#04410C1FD2000000
+(1520951079.600000) can0 7E8#04410C1FD1000000
+(1520951079.800000) can0 7E8#04410C1FD0000000
+
+
+(1520951080.000000) can0 7E8#04410C1FD0000000
+(1520951080.200000) can0 7E8#04410C1FD1000000
+(1520951080.400000) can0 7E8#04410C1FD2000000
+(1520951080.600000) can0 7E8#04410C1FD3000000
+(1520951080.800000) can0 7E8#04410C1FD4000000
+(1520951081.000000) can0 7E8#04410C1FD5000000
+(1520951081.200000) can0 7E8#04410C1FD6000000
+(1520951081.400000) can0 7E8#04410C1FD7000000
+(1520951081.600000) can0 7E8#04410C1FD8000000
+(1520951081.800000) can0 7E8#04410C1FD9000000
+(1520951082.000000) can0 7E8#04410C1FDA000000
+(1520951082.200000) can0 7E8#04410C1FDB000000
+(1520951082.400000) can0 7E8#04410C1FDC000000
+(1520951082.600000) can0 7E8#04410C1FDD000000
+(1520951082.800000) can0 7E8#04410C1FDE000000
+(1520951083.000000) can0 7E8#04410C1FDF000000
+(1520951083.200000) can0 7E8#04410C1FE0000000
+(1520951083.400000) can0 7E8#04410C1FE1000000
+(1520951083.600000) can0 7E8#04410C1FE2000000
+(1520951083.800000) can0 7E8#04410C1FE3000000
+(1520951084.000000) can0 7E8#04410C1FE4000000
+(1520951084.200000) can0 7E8#04410C1FE5000000
+(1520951084.400000) can0 7E8#04410C1FE6000000
+(1520951084.600000) can0 7E8#04410C1FE7000000
+(1520951084.800000) can0 7E8#04410C1FE8000000
+(1520951085.000000) can0 7E8#04410C1FE9000000
+(1520951085.200000) can0 7E8#04410C1FEA000000
+(1520951085.400000) can0 7E8#04410C1FEB000000
+(1520951085.600000) can0 7E8#04410C1FEC000000
+(1520951085.800000) can0 7E8#04410C1FED000000
+(1520951086.000000) can0 7E8#04410C1FEE000000
+(1520951086.200000) can0 7E8#04410C1FEF000000
+(1520951086.400000) can0 7E8#04410C1FF0000000
+(1520951086.600000) can0 7E8#04410C1FF1000000
+(1520951086.800000) can0 7E8#04410C1FF2000000
+(1520951087.000000) can0 7E8#04410C1FF3000000
+(1520951087.200000) can0 7E8#04410C1FF4000000
+(1520951087.400000) can0 7E8#04410C1FF5000000
+(1520951087.600000) can0 7E8#04410C1FF6000000
+(1520951087.800000) can0 7E8#04410C1FF7000000
+(1520951088.000000) can0 7E8#04410C1FF8000000
+(1520951088.200000) can0 7E8#04410C1FF9000000
+(1520951088.400000) can0 7E8#04410C1FFA000000
+(1520951088.600000) can0 7E8#04410C1FFB000000
+(1520951088.800000) can0 7E8#04410C1FFC000000
+(1520951089.000000) can0 7E8#04410C1FFD000000
+(1520951089.200000) can0 7E8#04410C1FFE000000
+(1520951089.400000) can0 7E8#04410C1FFF000000
+(1520951089.600000) can0 7E8#04410C2000000000
+(1520951089.800000) can0 7E8#04410C2001000000
+(1520951090.000000) can0 7E8#04410C2001000000
+(1520951090.200000) can0 7E8#04410C2000000000
+(1520951090.400000) can0 7E8#04410C1FFF000000
+(1520951090.600000) can0 7E8#04410C1FFE000000
+(1520951090.800000) can0 7E8#04410C1FFD000000
+(1520951091.000000) can0 7E8#04410C1FFC000000
+(1520951091.200000) can0 7E8#04410C1FFB000000
+(1520951091.400000) can0 7E8#04410C1FFA000000
+(1520951091.600000) can0 7E8#04410C1FF9000000
+(1520951091.800000) can0 7E8#04410C1FF8000000
+(1520951092.000000) can0 7E8#04410C1FF7000000
+(1520951092.200000) can0 7E8#04410C1FF6000000
+(1520951092.400000) can0 7E8#04410C1FF5000000
+(1520951092.600000) can0 7E8#04410C1FF4000000
+(1520951092.800000) can0 7E8#04410C1FF3000000
+(1520951093.000000) can0 7E8#04410C1FF2000000
+(1520951093.200000) can0 7E8#04410C1FF1000000
+(1520951093.400000) can0 7E8#04410C1FF0000000
+(1520951093.600000) can0 7E8#04410C1FEF000000
+(1520951093.800000) can0 7E8#04410C1FEE000000
+(1520951094.000000) can0 7E8#04410C1FED000000
+(1520951094.200000) can0 7E8#04410C1FEC000000
+(1520951094.400000) can0 7E8#04410C1FEB000000
+(1520951094.600000) can0 7E8#04410C1FEA000000
+(1520951094.800000) can0 7E8#04410C1FE9000000
+(1520951095.000000) can0 7E8#04410C1FE8000000
+(1520951095.200000) can0 7E8#04410C1FE7000000
+(1520951095.400000) can0 7E8#04410C1FE6000000
+(1520951095.600000) can0 7E8#04410C1FE5000000
+(1520951095.800000) can0 7E8#04410C1FE4000000
+(1520951096.000000) can0 7E8#04410C1FE3000000
+(1520951096.200000) can0 7E8#04410C1FE2000000
+(1520951096.400000) can0 7E8#04410C1FE1000000
+(1520951096.600000) can0 7E8#04410C1FE0000000
+(1520951096.800000) can0 7E8#04410C1FDF000000
+(1520951097.000000) can0 7E8#04410C1FDE000000
+(1520951097.200000) can0 7E8#04410C1FDD000000
+(1520951097.400000) can0 7E8#04410C1FDC000000
+(1520951097.600000) can0 7E8#04410C1FDB000000
+(1520951097.800000) can0 7E8#04410C1FDA000000
+(1520951098.000000) can0 7E8#04410C1FD9000000
+(1520951098.200000) can0 7E8#04410C1FD8000000
+(1520951098.400000) can0 7E8#04410C1FD7000000
+(1520951098.600000) can0 7E8#04410C1FD6000000
+(1520951098.800000) can0 7E8#04410C1FD5000000
+(1520951099.000000) can0 7E8#04410C1FD4000000
+(1520951099.200000) can0 7E8#04410C1FD3000000
+(1520951099.400000) can0 7E8#04410C1FD2000000
+(1520951099.600000) can0 7E8#04410C1FD1000000
+(1520951099.800000) can0 7E8#04410C1FD0000000
diff --git a/test/afb-test/fixtures/test2-2.canreplay b/test/afb-test/fixtures/test2-2.canreplay
new file mode 100644
index 00000000..69fc61cc
--- /dev/null
+++ b/test/afb-test/fixtures/test2-2.canreplay
@@ -0,0 +1,508 @@
+(1520951000.000000) can0 7E8#04410C0000000000
+(1520951000.200000) can0 7E8#04410C0000000000
+(1520951000.400000) can0 7E8#04410C0000000000
+(1520951000.600000) can0 7E8#04410C0000000000
+(1520951000.800000) can0 7E8#04410C0000000000
+(1520951001.000000) can0 7E8#04410C0000000000
+(1520951001.200000) can0 7E8#04410C0000000000
+(1520951001.400000) can0 7E8#04410C0000000000
+(1520951001.600000) can0 7E8#04410C0000000000
+(1520951001.800000) can0 7E8#04410C0000000000
+(1520951002.000000) can0 7E8#04410C0000000000
+(1520951002.200000) can0 7E8#04410C0000000000
+(1520951002.400000) can0 7E8#04410C0000000000
+(1520951002.600000) can0 7E8#04410C0000000000
+(1520951002.800000) can0 7E8#04410C0000000000
+(1520951003.000000) can0 7E8#04410C0000000000
+(1520951003.200000) can0 7E8#04410C0000000000
+(1520951003.400000) can0 7E8#04410C0000000000
+(1520951003.600000) can0 7E8#04410C0000000000
+(1520951003.800000) can0 7E8#04410C0000000000
+(1520951004.000000) can0 7E8#04410C0000000000
+(1520951004.200000) can0 7E8#04410C0000000000
+(1520951004.400000) can0 7E8#04410C0000000000
+(1520951004.600000) can0 7E8#04410C0000000000
+(1520951004.800000) can0 7E8#04410C0000000000
+(1520951005.000000) can0 7E8#04410C0000000000
+(1520951005.200000) can0 7E8#04410C0000000000
+(1520951005.400000) can0 7E8#04410C0000000000
+(1520951005.600000) can0 7E8#04410C0000000000
+(1520951005.800000) can0 7E8#04410C0000000000
+(1520951006.000000) can0 7E8#04410C0000000000
+(1520951006.200000) can0 7E8#04410C0000000000
+(1520951006.400000) can0 7E8#04410C0000000000
+(1520951006.600000) can0 7E8#04410C0000000000
+(1520951006.800000) can0 7E8#04410C0000000000
+(1520951007.000000) can0 7E8#04410C0000000000
+(1520951007.200000) can0 7E8#04410C0000000000
+(1520951007.400000) can0 7E8#04410C0000000000
+(1520951007.600000) can0 7E8#04410C0000000000
+(1520951007.800000) can0 7E8#04410C0000000000
+(1520951008.000000) can0 7E8#04410C0000000000
+(1520951008.200000) can0 7E8#04410C0000000000
+(1520951008.400000) can0 7E8#04410C0000000000
+(1520951008.600000) can0 7E8#04410C0000000000
+(1520951008.800000) can0 7E8#04410C0000000000
+(1520951009.000000) can0 7E8#04410C0000000000
+(1520951009.200000) can0 7E8#04410C0000000000
+(1520951009.400000) can0 7E8#04410C0000000000
+(1520951009.600000) can0 7E8#04410C0000000000
+(1520951009.800000) can0 7E8#04410C0000000000
+(1520951010.000000) can0 7E8#04410C0000000000
+(1520951010.200000) can0 7E8#04410C0000000000
+(1520951010.400000) can0 7E8#04410C0000000000
+(1520951010.600000) can0 7E8#04410C0000000000
+(1520951010.800000) can0 7E8#04410C0000000000
+(1520951011.000000) can0 7E8#04410C0000000000
+(1520951011.200000) can0 7E8#04410C0000000000
+(1520951011.400000) can0 7E8#04410C0000000000
+(1520951011.600000) can0 7E8#04410C0000000000
+(1520951011.800000) can0 7E8#04410C0000000000
+(1520951012.000000) can0 7E8#04410C0000000000
+(1520951012.200000) can0 7E8#04410C0000000000
+(1520951012.400000) can0 7E8#04410C0000000000
+(1520951012.600000) can0 7E8#04410C0000000000
+(1520951012.800000) can0 7E8#04410C0000000000
+(1520951013.000000) can0 7E8#04410C0000000000
+(1520951013.200000) can0 7E8#04410C0000000000
+(1520951013.400000) can0 7E8#04410C0000000000
+(1520951013.600000) can0 7E8#04410C0000000000
+(1520951013.800000) can0 7E8#04410C0000000000
+(1520951014.000000) can0 7E8#04410C0000000000
+(1520951014.200000) can0 7E8#04410C0000000000
+(1520951014.400000) can0 7E8#04410C0000000000
+(1520951014.600000) can0 7E8#04410C0000000000
+(1520951014.800000) can0 7E8#04410C0000000000
+(1520951015.000000) can0 7E8#04410C0000000000
+(1520951015.200000) can0 7E8#04410C0000000000
+(1520951015.400000) can0 7E8#04410C0000000000
+(1520951015.600000) can0 7E8#04410C0000000000
+(1520951015.800000) can0 7E8#04410C0000000000
+(1520951016.000000) can0 7E8#04410C0000000000
+(1520951016.200000) can0 7E8#04410C0000000000
+(1520951016.400000) can0 7E8#04410C0000000000
+(1520951016.600000) can0 7E8#04410C0000000000
+(1520951016.800000) can0 7E8#04410C0000000000
+(1520951017.000000) can0 7E8#04410C0000000000
+(1520951017.200000) can0 7E8#04410C0000000000
+(1520951017.400000) can0 7E8#04410C0000000000
+(1520951017.600000) can0 7E8#04410C0000000000
+(1520951017.800000) can0 7E8#04410C0000000000
+(1520951018.000000) can0 7E8#04410C0000000000
+(1520951018.200000) can0 7E8#04410C0000000000
+(1520951018.400000) can0 7E8#04410C0000000000
+(1520951018.600000) can0 7E8#04410C0000000000
+(1520951018.800000) can0 7E8#04410C0000000000
+(1520951019.000000) can0 7E8#04410C0000000000
+(1520951019.200000) can0 7E8#04410C0000000000
+(1520951019.400000) can0 7E8#04410C0000000000
+(1520951019.600000) can0 7E8#04410C0000000000
+(1520951019.800000) can0 7E8#04410C0000000000
+
+
+(1520951020.000000) can0 7E8#04410C0000000000
+(1520951020.200000) can0 7E8#04410C0000000000
+(1520951020.400000) can0 7E8#04410C0000000000
+(1520951020.600000) can0 7E8#04410C0000000000
+(1520951020.800000) can0 7E8#04410C0000000000
+(1520951021.000000) can0 7E8#04410C0000000000
+(1520951021.200000) can0 7E8#04410C0000000000
+(1520951021.400000) can0 7E8#04410C0000000000
+(1520951021.600000) can0 7E8#04410C0000000000
+(1520951021.800000) can0 7E8#04410C0000000000
+(1520951022.000000) can0 7E8#04410C0000000000
+(1520951022.200000) can0 7E8#04410C0000000000
+(1520951022.400000) can0 7E8#04410C0000000000
+(1520951022.600000) can0 7E8#04410C0000000000
+(1520951022.800000) can0 7E8#04410C0000000000
+(1520951023.000000) can0 7E8#04410C0000000000
+(1520951023.200000) can0 7E8#04410C0000000000
+(1520951023.400000) can0 7E8#04410C0000000000
+(1520951023.600000) can0 7E8#04410C0000000000
+(1520951023.800000) can0 7E8#04410C0000000000
+(1520951024.000000) can0 7E8#04410C0000000000
+(1520951024.200000) can0 7E8#04410C0000000000
+(1520951024.400000) can0 7E8#04410C0000000000
+(1520951024.600000) can0 7E8#04410C0000000000
+(1520951024.800000) can0 7E8#04410C0000000000
+(1520951025.000000) can0 7E8#04410C0000000000
+(1520951025.200000) can0 7E8#04410C0000000000
+(1520951025.400000) can0 7E8#04410C0000000000
+(1520951025.600000) can0 7E8#04410C0000000000
+(1520951025.800000) can0 7E8#04410C0000000000
+(1520951026.000000) can0 7E8#04410C0000000000
+(1520951026.200000) can0 7E8#04410C0000000000
+(1520951026.400000) can0 7E8#04410C0000000000
+(1520951026.600000) can0 7E8#04410C0000000000
+(1520951026.800000) can0 7E8#04410C0000000000
+(1520951027.000000) can0 7E8#04410C0000000000
+(1520951027.200000) can0 7E8#04410C0000000000
+(1520951027.400000) can0 7E8#04410C0000000000
+(1520951027.600000) can0 7E8#04410C0000000000
+(1520951027.800000) can0 7E8#04410C0000000000
+(1520951028.000000) can0 7E8#04410C0000000000
+(1520951028.200000) can0 7E8#04410C0000000000
+(1520951028.400000) can0 7E8#04410C0000000000
+(1520951028.600000) can0 7E8#04410C0000000000
+(1520951028.800000) can0 7E8#04410C0000000000
+(1520951029.000000) can0 7E8#04410C0000000000
+(1520951029.200000) can0 7E8#04410C0000000000
+(1520951029.400000) can0 7E8#04410C0000000000
+(1520951029.600000) can0 7E8#04410C0000000000
+(1520951029.800000) can0 7E8#04410C0000000000
+(1520951030.000000) can0 7E8#04410C0000000000
+(1520951030.200000) can0 7E8#04410C0000000000
+(1520951030.400000) can0 7E8#04410C0000000000
+(1520951030.600000) can0 7E8#04410C0000000000
+(1520951030.800000) can0 7E8#04410C0000000000
+(1520951031.000000) can0 7E8#04410C0000000000
+(1520951031.200000) can0 7E8#04410C0000000000
+(1520951031.400000) can0 7E8#04410C0000000000
+(1520951031.600000) can0 7E8#04410C0000000000
+(1520951031.800000) can0 7E8#04410C0000000000
+(1520951032.000000) can0 7E8#04410C0000000000
+(1520951032.200000) can0 7E8#04410C0000000000
+(1520951032.400000) can0 7E8#04410C0000000000
+(1520951032.600000) can0 7E8#04410C0000000000
+(1520951032.800000) can0 7E8#04410C0000000000
+(1520951033.000000) can0 7E8#04410C0000000000
+(1520951033.200000) can0 7E8#04410C0000000000
+(1520951033.400000) can0 7E8#04410C0000000000
+(1520951033.600000) can0 7E8#04410C0000000000
+(1520951033.800000) can0 7E8#04410C0000000000
+(1520951034.000000) can0 7E8#04410C0000000000
+(1520951034.200000) can0 7E8#04410C0000000000
+(1520951034.400000) can0 7E8#04410C0000000000
+(1520951034.600000) can0 7E8#04410C0000000000
+(1520951034.800000) can0 7E8#04410C0000000000
+(1520951035.000000) can0 7E8#04410C0000000000
+(1520951035.200000) can0 7E8#04410C0000000000
+(1520951035.400000) can0 7E8#04410C0000000000
+(1520951035.600000) can0 7E8#04410C0000000000
+(1520951035.800000) can0 7E8#04410C0000000000
+(1520951036.000000) can0 7E8#04410C0000000000
+(1520951036.200000) can0 7E8#04410C0000000000
+(1520951036.400000) can0 7E8#04410C0000000000
+(1520951036.600000) can0 7E8#04410C0000000000
+(1520951036.800000) can0 7E8#04410C0000000000
+(1520951037.000000) can0 7E8#04410C0000000000
+(1520951037.200000) can0 7E8#04410C0000000000
+(1520951037.400000) can0 7E8#04410C0000000000
+(1520951037.600000) can0 7E8#04410C0000000000
+(1520951037.800000) can0 7E8#04410C0000000000
+(1520951038.000000) can0 7E8#04410C0000000000
+(1520951038.200000) can0 7E8#04410C0000000000
+(1520951038.400000) can0 7E8#04410C0000000000
+(1520951038.600000) can0 7E8#04410C0000000000
+(1520951038.800000) can0 7E8#04410C0000000000
+(1520951039.000000) can0 7E8#04410C0000000000
+(1520951039.200000) can0 7E8#04410C0000000000
+(1520951039.400000) can0 7E8#04410C0000000000
+(1520951039.600000) can0 7E8#04410C0000000000
+(1520951039.800000) can0 7E8#04410C0000000000
+
+
+(1520951040.000000) can0 7E8#04410C0000000000
+(1520951040.200000) can0 7E8#04410C0000000000
+(1520951040.400000) can0 7E8#04410C0000000000
+(1520951040.600000) can0 7E8#04410C0000000000
+(1520951040.800000) can0 7E8#04410C0000000000
+(1520951041.000000) can0 7E8#04410C0000000000
+(1520951041.200000) can0 7E8#04410C0000000000
+(1520951041.400000) can0 7E8#04410C0000000000
+(1520951041.600000) can0 7E8#04410C0000000000
+(1520951041.800000) can0 7E8#04410C0000000000
+(1520951042.000000) can0 7E8#04410C0000000000
+(1520951042.200000) can0 7E8#04410C0000000000
+(1520951042.400000) can0 7E8#04410C0000000000
+(1520951042.600000) can0 7E8#04410C0000000000
+(1520951042.800000) can0 7E8#04410C0000000000
+(1520951043.000000) can0 7E8#04410C0000000000
+(1520951043.200000) can0 7E8#04410C0000000000
+(1520951043.400000) can0 7E8#04410C0000000000
+(1520951043.600000) can0 7E8#04410C0000000000
+(1520951043.800000) can0 7E8#04410C0000000000
+(1520951044.000000) can0 7E8#04410C0000000000
+(1520951044.200000) can0 7E8#04410C0000000000
+(1520951044.400000) can0 7E8#04410C0000000000
+(1520951044.600000) can0 7E8#04410C0000000000
+(1520951044.800000) can0 7E8#04410C0000000000
+(1520951045.000000) can0 7E8#04410C0000000000
+(1520951045.200000) can0 7E8#04410C0000000000
+(1520951045.400000) can0 7E8#04410C0000000000
+(1520951045.600000) can0 7E8#04410C0000000000
+(1520951045.800000) can0 7E8#04410C0000000000
+(1520951046.000000) can0 7E8#04410C0000000000
+(1520951046.200000) can0 7E8#04410C0000000000
+(1520951046.400000) can0 7E8#04410C0000000000
+(1520951046.600000) can0 7E8#04410C0000000000
+(1520951046.800000) can0 7E8#04410C0000000000
+(1520951047.000000) can0 7E8#04410C0000000000
+(1520951047.200000) can0 7E8#04410C0000000000
+(1520951047.400000) can0 7E8#04410C0000000000
+(1520951047.600000) can0 7E8#04410C0000000000
+(1520951047.800000) can0 7E8#04410C0000000000
+(1520951048.000000) can0 7E8#04410C0000000000
+(1520951048.200000) can0 7E8#04410C0000000000
+(1520951048.400000) can0 7E8#04410C0000000000
+(1520951048.600000) can0 7E8#04410C0000000000
+(1520951048.800000) can0 7E8#04410C0000000000
+(1520951049.000000) can0 7E8#04410C0000000000
+(1520951049.200000) can0 7E8#04410C0000000000
+(1520951049.400000) can0 7E8#04410C0000000000
+(1520951049.600000) can0 7E8#04410C0000000000
+(1520951049.800000) can0 7E8#04410C0000000000
+(1520951050.000000) can0 7E8#04410C0000000000
+(1520951050.200000) can0 7E8#04410C0000000000
+(1520951050.400000) can0 7E8#04410C0000000000
+(1520951050.600000) can0 7E8#04410C0000000000
+(1520951050.800000) can0 7E8#04410C0000000000
+(1520951051.000000) can0 7E8#04410C0000000000
+(1520951051.200000) can0 7E8#04410C0000000000
+(1520951051.400000) can0 7E8#04410C0000000000
+(1520951051.600000) can0 7E8#04410C0000000000
+(1520951051.800000) can0 7E8#04410C0000000000
+(1520951052.000000) can0 7E8#04410C0000000000
+(1520951052.200000) can0 7E8#04410C0000000000
+(1520951052.400000) can0 7E8#04410C0000000000
+(1520951052.600000) can0 7E8#04410C0000000000
+(1520951052.800000) can0 7E8#04410C0000000000
+(1520951053.000000) can0 7E8#04410C0000000000
+(1520951053.200000) can0 7E8#04410C0000000000
+(1520951053.400000) can0 7E8#04410C0000000000
+(1520951053.600000) can0 7E8#04410C0000000000
+(1520951053.800000) can0 7E8#04410C0000000000
+(1520951054.000000) can0 7E8#04410C0000000000
+(1520951054.200000) can0 7E8#04410C0000000000
+(1520951054.400000) can0 7E8#04410C0000000000
+(1520951054.600000) can0 7E8#04410C0000000000
+(1520951054.800000) can0 7E8#04410C0000000000
+(1520951055.000000) can0 7E8#04410C0000000000
+(1520951055.200000) can0 7E8#04410C0000000000
+(1520951055.400000) can0 7E8#04410C0000000000
+(1520951055.600000) can0 7E8#04410C0000000000
+(1520951055.800000) can0 7E8#04410C0000000000
+(1520951056.000000) can0 7E8#04410C0000000000
+(1520951056.200000) can0 7E8#04410C0000000000
+(1520951056.400000) can0 7E8#04410C0000000000
+(1520951056.600000) can0 7E8#04410C0000000000
+(1520951056.800000) can0 7E8#04410C0000000000
+(1520951057.000000) can0 7E8#04410C0000000000
+(1520951057.200000) can0 7E8#04410C0000000000
+(1520951057.400000) can0 7E8#04410C0000000000
+(1520951057.600000) can0 7E8#04410C0000000000
+(1520951057.800000) can0 7E8#04410C0000000000
+(1520951058.000000) can0 7E8#04410C0000000000
+(1520951058.200000) can0 7E8#04410C0000000000
+(1520951058.400000) can0 7E8#04410C0000000000
+(1520951058.600000) can0 7E8#04410C0000000000
+(1520951058.800000) can0 7E8#04410C0000000000
+(1520951059.000000) can0 7E8#04410C0000000000
+(1520951059.200000) can0 7E8#04410C0000000000
+(1520951059.400000) can0 7E8#04410C0000000000
+(1520951059.600000) can0 7E8#04410C0000000000
+(1520951059.800000) can0 7E8#04410C0000000000
+
+
+(1520951060.000000) can0 7E8#04410C0000000000
+(1520951060.200000) can0 7E8#04410C0000000000
+(1520951060.400000) can0 7E8#04410C0000000000
+(1520951060.600000) can0 7E8#04410C0000000000
+(1520951060.800000) can0 7E8#04410C0000000000
+(1520951061.000000) can0 7E8#04410C0000000000
+(1520951061.200000) can0 7E8#04410C0000000000
+(1520951061.400000) can0 7E8#04410C0000000000
+(1520951061.600000) can0 7E8#04410C0000000000
+(1520951061.800000) can0 7E8#04410C0000000000
+(1520951062.000000) can0 7E8#04410C0000000000
+(1520951062.200000) can0 7E8#04410C0000000000
+(1520951062.400000) can0 7E8#04410C0000000000
+(1520951062.600000) can0 7E8#04410C0000000000
+(1520951062.800000) can0 7E8#04410C0000000000
+(1520951063.000000) can0 7E8#04410C0000000000
+(1520951063.200000) can0 7E8#04410C0000000000
+(1520951063.400000) can0 7E8#04410C0000000000
+(1520951063.600000) can0 7E8#04410C0000000000
+(1520951063.800000) can0 7E8#04410C0000000000
+(1520951064.000000) can0 7E8#04410C0000000000
+(1520951064.200000) can0 7E8#04410C0000000000
+(1520951064.400000) can0 7E8#04410C0000000000
+(1520951064.600000) can0 7E8#04410C0000000000
+(1520951064.800000) can0 7E8#04410C0000000000
+(1520951065.000000) can0 7E8#04410C0000000000
+(1520951065.200000) can0 7E8#04410C0000000000
+(1520951065.400000) can0 7E8#04410C0000000000
+(1520951065.600000) can0 7E8#04410C0000000000
+(1520951065.800000) can0 7E8#04410C0000000000
+(1520951066.000000) can0 7E8#04410C0000000000
+(1520951066.200000) can0 7E8#04410C0000000000
+(1520951066.400000) can0 7E8#04410C0000000000
+(1520951066.600000) can0 7E8#04410C0000000000
+(1520951066.800000) can0 7E8#04410C0000000000
+(1520951067.000000) can0 7E8#04410C0000000000
+(1520951067.200000) can0 7E8#04410C0000000000
+(1520951067.400000) can0 7E8#04410C0000000000
+(1520951067.600000) can0 7E8#04410C0000000000
+(1520951067.800000) can0 7E8#04410C0000000000
+(1520951068.000000) can0 7E8#04410C0000000000
+(1520951068.200000) can0 7E8#04410C0000000000
+(1520951068.400000) can0 7E8#04410C0000000000
+(1520951068.600000) can0 7E8#04410C0000000000
+(1520951068.800000) can0 7E8#04410C0000000000
+(1520951069.000000) can0 7E8#04410C0000000000
+(1520951069.200000) can0 7E8#04410C0000000000
+(1520951069.400000) can0 7E8#04410C0000000000
+(1520951069.600000) can0 7E8#04410C0000000000
+(1520951069.800000) can0 7E8#04410C0000000000
+(1520951070.000000) can0 7E8#04410C0000000000
+(1520951070.200000) can0 7E8#04410C0000000000
+(1520951070.400000) can0 7E8#04410C0000000000
+(1520951070.600000) can0 7E8#04410C0000000000
+(1520951070.800000) can0 7E8#04410C0000000000
+(1520951071.000000) can0 7E8#04410C0000000000
+(1520951071.200000) can0 7E8#04410C0000000000
+(1520951071.400000) can0 7E8#04410C0000000000
+(1520951071.600000) can0 7E8#04410C0000000000
+(1520951071.800000) can0 7E8#04410C0000000000
+(1520951072.000000) can0 7E8#04410C0000000000
+(1520951072.200000) can0 7E8#04410C0000000000
+(1520951072.400000) can0 7E8#04410C0000000000
+(1520951072.600000) can0 7E8#04410C0000000000
+(1520951072.800000) can0 7E8#04410C0000000000
+(1520951073.000000) can0 7E8#04410C0000000000
+(1520951073.200000) can0 7E8#04410C0000000000
+(1520951073.400000) can0 7E8#04410C0000000000
+(1520951073.600000) can0 7E8#04410C0000000000
+(1520951073.800000) can0 7E8#04410C0000000000
+(1520951074.000000) can0 7E8#04410C0000000000
+(1520951074.200000) can0 7E8#04410C0000000000
+(1520951074.400000) can0 7E8#04410C0000000000
+(1520951074.600000) can0 7E8#04410C0000000000
+(1520951074.800000) can0 7E8#04410C0000000000
+(1520951075.000000) can0 7E8#04410C0000000000
+(1520951075.200000) can0 7E8#04410C0000000000
+(1520951075.400000) can0 7E8#04410C0000000000
+(1520951075.600000) can0 7E8#04410C0000000000
+(1520951075.800000) can0 7E8#04410C0000000000
+(1520951076.000000) can0 7E8#04410C0000000000
+(1520951076.200000) can0 7E8#04410C0000000000
+(1520951076.400000) can0 7E8#04410C0000000000
+(1520951076.600000) can0 7E8#04410C0000000000
+(1520951076.800000) can0 7E8#04410C0000000000
+(1520951077.000000) can0 7E8#04410C0000000000
+(1520951077.200000) can0 7E8#04410C0000000000
+(1520951077.400000) can0 7E8#04410C0000000000
+(1520951077.600000) can0 7E8#04410C0000000000
+(1520951077.800000) can0 7E8#04410C0000000000
+(1520951078.000000) can0 7E8#04410C0000000000
+(1520951078.200000) can0 7E8#04410C0000000000
+(1520951078.400000) can0 7E8#04410C0000000000
+(1520951078.600000) can0 7E8#04410C0000000000
+(1520951078.800000) can0 7E8#04410C0000000000
+(1520951079.000000) can0 7E8#04410C0000000000
+(1520951079.200000) can0 7E8#04410C0000000000
+(1520951079.400000) can0 7E8#04410C0000000000
+(1520951079.600000) can0 7E8#04410C0000000000
+(1520951079.800000) can0 7E8#04410C0000000000
+
+
+(1520951080.000000) can0 7E8#04410C0000000000
+(1520951080.200000) can0 7E8#04410C0000000000
+(1520951080.400000) can0 7E8#04410C0000000000
+(1520951080.600000) can0 7E8#04410C0000000000
+(1520951080.800000) can0 7E8#04410C0000000000
+(1520951081.000000) can0 7E8#04410C0000000000
+(1520951081.200000) can0 7E8#04410C0000000000
+(1520951081.400000) can0 7E8#04410C0000000000
+(1520951081.600000) can0 7E8#04410C0000000000
+(1520951081.800000) can0 7E8#04410C0000000000
+(1520951082.000000) can0 7E8#04410C0000000000
+(1520951082.200000) can0 7E8#04410C0000000000
+(1520951082.400000) can0 7E8#04410C0000000000
+(1520951082.600000) can0 7E8#04410C0000000000
+(1520951082.800000) can0 7E8#04410C0000000000
+(1520951083.000000) can0 7E8#04410C0000000000
+(1520951083.200000) can0 7E8#04410C0000000000
+(1520951083.400000) can0 7E8#04410C0000000000
+(1520951083.600000) can0 7E8#04410C0000000000
+(1520951083.800000) can0 7E8#04410C0000000000
+(1520951084.000000) can0 7E8#04410C0000000000
+(1520951084.200000) can0 7E8#04410C0000000000
+(1520951084.400000) can0 7E8#04410C0000000000
+(1520951084.600000) can0 7E8#04410C0000000000
+(1520951084.800000) can0 7E8#04410C0000000000
+(1520951085.000000) can0 7E8#04410C0000000000
+(1520951085.200000) can0 7E8#04410C0000000000
+(1520951085.400000) can0 7E8#04410C0000000000
+(1520951085.600000) can0 7E8#04410C0000000000
+(1520951085.800000) can0 7E8#04410C0000000000
+(1520951086.000000) can0 7E8#04410C0000000000
+(1520951086.200000) can0 7E8#04410C0000000000
+(1520951086.400000) can0 7E8#04410C0000000000
+(1520951086.600000) can0 7E8#04410C0000000000
+(1520951086.800000) can0 7E8#04410C0000000000
+(1520951087.000000) can0 7E8#04410C0000000000
+(1520951087.200000) can0 7E8#04410C0000000000
+(1520951087.400000) can0 7E8#04410C0000000000
+(1520951087.600000) can0 7E8#04410C0000000000
+(1520951087.800000) can0 7E8#04410C0000000000
+(1520951088.000000) can0 7E8#04410C0000000000
+(1520951088.200000) can0 7E8#04410C0000000000
+(1520951088.400000) can0 7E8#04410C0000000000
+(1520951088.600000) can0 7E8#04410C0000000000
+(1520951088.800000) can0 7E8#04410C0000000000
+(1520951089.000000) can0 7E8#04410C0000000000
+(1520951089.200000) can0 7E8#04410C0000000000
+(1520951089.400000) can0 7E8#04410C0000000000
+(1520951089.600000) can0 7E8#04410C0000000000
+(1520951089.800000) can0 7E8#04410C0000000000
+(1520951090.000000) can0 7E8#04410C0000000000
+(1520951090.200000) can0 7E8#04410C0000000000
+(1520951090.400000) can0 7E8#04410C0000000000
+(1520951090.600000) can0 7E8#04410C0000000000
+(1520951090.800000) can0 7E8#04410C0000000000
+(1520951091.000000) can0 7E8#04410C0000000000
+(1520951091.200000) can0 7E8#04410C0000000000
+(1520951091.400000) can0 7E8#04410C0000000000
+(1520951091.600000) can0 7E8#04410C0000000000
+(1520951091.800000) can0 7E8#04410C0000000000
+(1520951092.000000) can0 7E8#04410C0000000000
+(1520951092.200000) can0 7E8#04410C0000000000
+(1520951092.400000) can0 7E8#04410C0000000000
+(1520951092.600000) can0 7E8#04410C0000000000
+(1520951092.800000) can0 7E8#04410C0000000000
+(1520951093.000000) can0 7E8#04410C0000000000
+(1520951093.200000) can0 7E8#04410C0000000000
+(1520951093.400000) can0 7E8#04410C0000000000
+(1520951093.600000) can0 7E8#04410C0000000000
+(1520951093.800000) can0 7E8#04410C0000000000
+(1520951094.000000) can0 7E8#04410C0000000000
+(1520951094.200000) can0 7E8#04410C0000000000
+(1520951094.400000) can0 7E8#04410C0000000000
+(1520951094.600000) can0 7E8#04410C0000000000
+(1520951094.800000) can0 7E8#04410C0000000000
+(1520951095.000000) can0 7E8#04410C0000000000
+(1520951095.200000) can0 7E8#04410C0000000000
+(1520951095.400000) can0 7E8#04410C0000000000
+(1520951095.600000) can0 7E8#04410C0000000000
+(1520951095.800000) can0 7E8#04410C0000000000
+(1520951096.000000) can0 7E8#04410C0000000000
+(1520951096.200000) can0 7E8#04410C0000000000
+(1520951096.400000) can0 7E8#04410C0000000000
+(1520951096.600000) can0 7E8#04410C0000000000
+(1520951096.800000) can0 7E8#04410C0000000000
+(1520951097.000000) can0 7E8#04410C0000000000
+(1520951097.200000) can0 7E8#04410C0000000000
+(1520951097.400000) can0 7E8#04410C0000000000
+(1520951097.600000) can0 7E8#04410C0000000000
+(1520951097.800000) can0 7E8#04410C0000000000
+(1520951098.000000) can0 7E8#04410C0000000000
+(1520951098.200000) can0 7E8#04410C0000000000
+(1520951098.400000) can0 7E8#04410C0000000000
+(1520951098.600000) can0 7E8#04410C0000000000
+(1520951098.800000) can0 7E8#04410C0000000000
+(1520951099.000000) can0 7E8#04410C0000000000
+(1520951099.200000) can0 7E8#04410C0000000000
+(1520951099.400000) can0 7E8#04410C0000000000
+(1520951099.600000) can0 7E8#04410C0000000000
+(1520951099.800000) can0 7E8#04410C0000000000
diff --git a/test/afb-test/fixtures/test2-3.canreplay b/test/afb-test/fixtures/test2-3.canreplay
new file mode 100644
index 00000000..dd905181
--- /dev/null
+++ b/test/afb-test/fixtures/test2-3.canreplay
@@ -0,0 +1,219 @@
+(1481581765.286242) can0 3E9#0000
+(1481581765.346271) can0 3E9#0000
+(1481581765.406266) can0 3E9#0000
+(1481581765.466255) can0 3E9#0000
+(1481581765.526264) can0 3E9#0200
+(1481581765.586262) can0 3E9#0200
+(1481581765.646260) can0 3E9#0200
+(1481581765.706260) can0 3E9#0200
+(1481581765.766257) can0 3E9#0400
+(1481581765.826264) can0 3E9#0400
+(1481581765.886253) can0 3E9#0400
+(1481581765.946222) can0 3E9#0400
+(1481581766.006240) can0 3E9#0600
+(1481581766.066240) can0 3E9#0600
+(1481581766.126236) can0 3E9#0600
+(1481581766.186235) can0 3E9#0600
+(1481581766.246243) can0 3E9#0800
+(1481581766.306253) can0 3E9#0800
+(1481581766.366256) can0 3E9#0800
+(1481581766.426257) can0 3E9#0800
+(1481581766.486242) can0 3E9#0A00
+(1481581766.546247) can0 3E9#0A00
+(1481581766.606244) can0 3E9#0A00
+(1481581766.666242) can0 3E9#0A00
+(1481581766.726240) can0 3E9#0C00
+(1481581766.786252) can0 3E9#0C00
+(1481581766.846237) can0 3E9#0C00
+(1481581766.906245) can0 3E9#0C00
+(1481581766.966235) can0 3E9#0E00
+(1481581767.026244) can0 3E9#0E00
+(1481581767.086240) can0 3E9#0E00
+(1481581767.146200) can0 3E9#0E00
+(1481581767.206217) can0 3E9#1000
+(1481581767.266225) can0 3E9#1000
+(1481581767.326224) can0 3E9#1000
+(1481581767.386222) can0 3E9#1000
+(1481581767.446211) can0 3E9#1200
+(1481581767.506209) can0 3E9#1200
+(1481581767.566219) can0 3E9#1200
+(1481581767.626217) can0 3E9#1200
+(1481581767.686214) can0 3E9#1400
+(1481581767.746212) can0 3E9#1400
+(1481581767.806180) can0 3E9#1400
+(1481581767.866211) can0 3E9#1400
+(1481581767.926217) can0 3E9#1600
+(1481581767.986216) can0 3E9#1600
+(1481581768.046175) can0 3E9#1600
+(1481581768.106203) can0 3E9#1600
+(1481581768.166203) can0 3E9#1800
+(1481581768.226211) can0 3E9#1800
+(1481581768.286197) can0 3E9#1800
+(1481581768.346195) can0 3E9#1800
+(1481581768.406186) can0 3E9#1A00
+(1481581768.466194) can0 3E9#1A00
+(1481581768.526191) can0 3E9#1A00
+(1481581768.586191) can0 3E9#1A00
+(1481581768.646199) can0 3E9#1C00
+(1481581768.706206) can0 3E9#1C00
+(1481581768.766165) can0 3E9#1C00
+(1481581768.826194) can0 3E9#1C00
+(1481581768.886202) can0 3E9#1E00
+(1481581768.946200) can0 3E9#1E00
+(1481581769.006198) can0 3E9#1E00
+(1481581769.066208) can0 3E9#1E00
+(1481581769.126205) can0 3E9#2000
+(1481581769.186203) can0 3E9#2000
+(1481581769.246192) can0 3E9#2000
+(1481581769.306190) can0 3E9#2000
+(1481581769.366188) can0 3E9#2200
+(1481581769.426188) can0 3E9#2200
+(1481581769.486199) can0 3E9#2200
+(1481581769.546179) can0 3E9#2200
+(1481581769.606174) can0 3E9#2400
+(1481581769.666171) can0 3E9#2400
+(1481581769.726151) can0 3E9#2400
+(1481581769.786146) can0 3E9#2400
+(1481581769.846186) can0 3E9#2600
+(1481581769.906186) can0 3E9#2600
+(1481581769.966183) can0 3E9#2600
+(1481581770.026187) can0 3E9#2600
+(1481581770.086180) can0 3E9#2800
+(1481581770.146176) can0 3E9#2800
+(1481581770.206175) can0 3E9#2800
+(1481581770.266174) can0 3E9#2800
+(1481581770.326184) can0 3E9#2A00
+(1481581770.386181) can0 3E9#2A00
+(1481581770.446150) can0 3E9#2A00
+(1481581770.506150) can0 3E9#2A00
+(1481581770.566186) can0 3E9#2C00
+(1481581770.626174) can0 3E9#2C00
+(1481581770.686172) can0 3E9#2C00
+(1481581770.746142) can0 3E9#2C00
+(1481581770.806149) can0 3E9#2E00
+(1481581770.866148) can0 3E9#2E00
+(1481581770.926157) can0 3E9#2E00
+(1481581770.986144) can0 3E9#2E00
+(1481581771.046153) can0 3E9#3000
+(1481581771.106162) can0 3E9#3000
+(1481581771.166160) can0 3E9#3000
+(1481581771.226147) can0 3E9#3000
+(1481581771.286159) can0 3E9#3200
+(1481581771.346155) can0 3E9#3200
+(1481581771.406153) can0 3E9#3200
+(1481581771.466151) can0 3E9#3200
+(1481581778.571175) can0 3D9#004B8813000000
+(1481581779.342923) can0 3D9#004B8813000000
+(1481581779.541757) can0 3D9#004B8813000000
+(1481581779.738853) can0 3D9#004B8813000000
+(1481581779.927710) can0 3D9#004B8813000000
+(1481581780.087507) can0 3D9#004B8813000000
+(1481581782.185854) can0 3E9#00C8
+(1481581782.386485) can0 3E9#00C8
+(1481581782.587542) can0 3E9#00C8
+(1481581782.776569) can0 3E9#00C8
+(1481581782.949774) can0 3E9#00C8
+(1481581784.617935) can0 3E9#0000
+(1481581784.677931) can0 3E9#0000
+(1481581784.737939) can0 3E9#0000
+(1481581784.797908) can0 3E9#0000
+(1481581784.857937) can0 3E9#0200
+(1481581784.917945) can0 3E9#0200
+(1481581784.977937) can0 3E9#0200
+(1481581785.037938) can0 3E9#0200
+(1481581785.097931) can0 3E9#0400
+(1481581785.157931) can0 3E9#0400
+(1481581785.217936) can0 3E9#0400
+(1481581785.277926) can0 3E9#0400
+(1481581785.337923) can0 3E9#0600
+(1481581785.397912) can0 3E9#0600
+(1481581785.457912) can0 3E9#0600
+(1481581785.517908) can0 3E9#0600
+(1481581785.577926) can0 3E9#0800
+(1481581785.637916) can0 3E9#0800
+(1481581785.697925) can0 3E9#0800
+(1481581785.757921) can0 3E9#0800
+(1481581785.817920) can0 3E9#0A00
+(1481581785.877918) can0 3E9#0A00
+(1481581785.937916) can0 3E9#0A00
+(1481581785.997915) can0 3E9#0A00
+(1481581786.057925) can0 3E9#0C00
+(1481581786.117922) can0 3E9#0C00
+(1481581786.177919) can0 3E9#0C00
+(1481581786.237918) can0 3E9#0C00
+(1481581786.297918) can0 3E9#0E00
+(1481581786.357915) can0 3E9#0E00
+(1481581786.417873) can0 3E9#0E00
+(1481581786.477901) can0 3E9#0E00
+(1481581786.537890) can0 3E9#1000
+(1481581786.597869) can0 3E9#1000
+(1481581786.657899) can0 3E9#1000
+(1481581786.717897) can0 3E9#1000
+(1481581786.777894) can0 3E9#1200
+(1481581786.837882) can0 3E9#1200
+(1481581786.897891) can0 3E9#1200
+(1481581786.957889) can0 3E9#1200
+(1481581787.017887) can0 3E9#1400
+(1481581787.077896) can0 3E9#1400
+(1481581787.137854) can0 3E9#1400
+(1481581787.197883) can0 3E9#1400
+(1481581787.257892) can0 3E9#1600
+(1481581787.317851) can0 3E9#1600
+(1481581787.377877) can0 3E9#1600
+(1481581787.437876) can0 3E9#1600
+(1481581787.497875) can0 3E9#1800
+(1481581787.557882) can0 3E9#1800
+(1481581787.617875) can0 3E9#1800
+(1481581787.677881) can0 3E9#1800
+(1481581787.737867) can0 3E9#1A00
+(1481581787.797866) can0 3E9#1A00
+(1481581787.857864) can0 3E9#1A00
+(1481581787.917864) can0 3E9#1A00
+(1481581787.977871) can0 3E9#1C00
+(1481581788.037891) can0 3E9#1C00
+(1481581788.097847) can0 3E9#1C00
+(1481581788.157869) can0 3E9#1C00
+(1481581788.217875) can0 3E9#1E00
+(1481581788.277872) can0 3E9#1E00
+(1481581788.337872) can0 3E9#1E00
+(1481581788.397880) can0 3E9#1E00
+(1481581788.457878) can0 3E9#2000
+(1481581788.517849) can0 3E9#2000
+(1481581788.577866) can0 3E9#2000
+(1481581788.637864) can0 3E9#2000
+(1481581788.697862) can0 3E9#2200
+(1481581788.757861) can0 3E9#2200
+(1481581788.817858) can0 3E9#2200
+(1481581788.877857) can0 3E9#2200
+(1481581788.937855) can0 3E9#2400
+(1481581788.997854) can0 3E9#2400
+(1481581789.057823) can0 3E9#2400
+(1481581789.117822) can0 3E9#2400
+(1481581789.177859) can0 3E9#2600
+(1481581789.237857) can0 3E9#2600
+(1481581789.297855) can0 3E9#2600
+(1481581789.357854) can0 3E9#2600
+(1481581789.417853) can0 3E9#2800
+(1481581789.477850) can0 3E9#2800
+(1481581789.537849) can0 3E9#2800
+(1481581789.597821) can0 3E9#2800
+(1481581789.657855) can0 3E9#2A00
+(1481581789.717856) can0 3E9#2A00
+(1481581789.777854) can0 3E9#2A00
+(1481581789.837850) can0 3E9#2A00
+(1481581789.897849) can0 3E9#2C00
+(1481581789.957850) can0 3E9#2C00
+(1481581790.017847) can0 3E9#2C00
+(1481581790.077854) can0 3E9#2C00
+(1481581790.137823) can0 3E9#2E00
+(1481581790.197832) can0 3E9#2E00
+(1481581790.257819) can0 3E9#2E00
+(1481581790.317818) can0 3E9#2E00
+(1481581790.377797) can0 3E9#3000
+(1481581790.437825) can0 3E9#3000
+(1481581790.497832) can0 3E9#3000
+(1481581790.557823) can0 3E9#3000
+(1481581790.617829) can0 3E9#3200
+(1481581790.677827) can0 3E9#3200
+(1481581790.737826) can0 3E9#3200
+(1481581790.797827) can0 3E9#3200
diff --git a/test/afb-test/tests/CMakeLists.txt b/test/afb-test/tests/CMakeLists.txt
new file mode 100644
index 00000000..4b0b0652
--- /dev/null
+++ b/test/afb-test/tests/CMakeLists.txt
@@ -0,0 +1,31 @@
+###########################################################################
+# Copyright 2015 - 2018 IoT.bzh
+#
+# author: Romain Forlot <romain.forlot@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.
+###########################################################################
+
+
+##################################################
+# Low-CAN Lua Scripts
+##################################################
+PROJECT_TARGET_ADD(test-files)
+
+ file(GLOB LUA_FILES "*.lua" "*.sh" "*.canreplay")
+ add_input_files("${LUA_FILES}")
+
+ SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
+ LABELS "DATA"
+ OUTPUT_NAME ${TARGET_NAME}
+ )
diff --git a/test/afb-test/tests/low-can-coverage.lua b/test/afb-test/tests/low-can-coverage.lua
new file mode 100644
index 00000000..3d78168e
--- /dev/null
+++ b/test/afb-test/tests/low-can-coverage.lua
@@ -0,0 +1,72 @@
+
+--[[
+ Copyright (C) 2018 "IoT.bzh"
+ Author Romain Forlot <romain.forlot@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.
+
+
+ NOTE: strict mode: every global variables should be prefixed by '_'
+--]]
+
+_AFT.setBeforeAll(function()
+ local can = io.open("/sys/class/net/can0")
+ if can == nil then
+ print("# You do not have 'can0' device set. Please run the following command:\n### sudo modprobe vcan; sudo ip link add can0 type vcan; sudo ip link set can0 up ")
+ return -1
+ end
+ return 0
+end)
+
+_AFT.testVerbStatusSuccess("low-can_list", "low-can", "list", {})
+_AFT.testVerbStatusSuccess("low-can_get", "low-can", "get", { event = "engine.speed"})
+
+_AFT.describe("Diagnostic_engine_speed_simulation", function()
+ _AFT.assertVerbStatusSuccess("low-can","subscribe", { event = "diagnostic_messages.engine.speed" })
+
+ local evt = "low-can/diagnostic_messages"
+ _AFT.addEventToMonitor(evt)
+
+ local ret = os.execute("./var/replay_launcher.sh ./var/test1.canreplay")
+ _AFT.assertIsTrue(ret)
+
+ _AFT.assertEvtReceived(evt, function(eventName, data)
+ _AFT.assertIsTrue(data.name == "diagnostic_messages.engine.speed")
+ end)
+
+ _AFT.assertVerbStatusSuccess("low-can","unsubscribe", { event = "diagnostic_messages.engine.speed" })
+
+ local ret = os.execute("pkill canplayer")
+ _AFT.assertIsTrue(ret)
+end)
+
+_AFT.describe("Subscribe_all", function()
+ _AFT.assertVerbStatusSuccess("low-can","subscribe", { event = "*" })
+
+ local evt = "low-can/messages.vehicle.average.speed"
+ _AFT.addEventToMonitor(evt)
+
+ local ret = os.execute("./var/replay_launcher.sh ./var/test2-3.canreplay")
+ _AFT.assertIsTrue(ret)
+
+ _AFT.assertEvtReceived(evt, function(eventName, data)
+ _AFT.assertIsTrue(data.name == "messages.vehicle.average.speed")
+ end)
+
+ _AFT.assertVerbStatusSuccess("low-can","unsubscribe", { event = "*" })
+
+ local ret = os.execute("pkill canplayer")
+ _AFT.assertIsTrue(ret)
+end)
+
+_AFT.exitAtEnd()
diff --git a/test/afb-test/tests/low-can-tests.lua b/test/afb-test/tests/low-can-tests.lua
new file mode 100644
index 00000000..6a6085ef
--- /dev/null
+++ b/test/afb-test/tests/low-can-tests.lua
@@ -0,0 +1,50 @@
+
+--[[
+ Copyright (C) 2018 "IoT.bzh"
+ Author Romain Forlot <romain.forlot@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.
+
+
+ NOTE: strict mode: every global variables should be prefixed by '_'
+--]]
+
+_AFT.describe("Test_detection_is_off", function()
+ local logMsg = "signal: Engine is off, diagnostic_messages.engine.speed won't received responses until it's on"
+ _AFT.addLogToMonitor("low-can", "warning", logMsg)
+
+ _AFT.assertVerbStatusSuccess("low-can","subscribe", { event = "diagnostic_messages.engine.speed" })
+ _AFT.assertLogReceived(logMsg)
+end)
+
+_AFT.describe("Test_turning_on", function()
+ _AFT.assertVerbStatusSuccess("low-can","subscribe", { event = "diagnostic_messages.engine.speed" })
+
+ local evt = "low-can/diagnostic_messages"
+ _AFT.addEventToMonitor(evt)
+
+ local ret = os.execute("./var/replay_launcher.sh ./var/test1.canreplay")
+ _AFT.assertIsTrue(ret)
+
+ _AFT.assertEvtReceived(evt, function(eventName, data)
+ _AFT.assertIsTrue(data.name == "diagnostic_messages.engine.speed")
+ end)
+end)
+
+_AFT.describe("Test_detection_is_on", function()
+ local logMsg = "signal: Engine is off, diagnostic_messages.engine.speed won't received responses until it's on"
+ _AFT.addLogToMonitor("low-can", "warning", logMsg)
+
+ _AFT.assertVerbStatusSuccess("low-can","subscribe", { event = "diagnostic_messages.engine.speed" })
+ _AFT.assertLogNotReceived(logMsg)
+end)