Build unit tests for IP transport only 11/24111/17
authorMats Wichmann <mats@linux.com>
Thu, 8 Feb 2018 14:37:24 +0000 (07:37 -0700)
committerMats Wichmann <mats@linux.com>
Thu, 16 Aug 2018 18:22:26 +0000 (18:22 +0000)
commitffab256fc5e3a42626aaaaff31555062e6dc66d6
tree9537771a6486b8058d9d3f07472ba162162cbb69
parent7a38d7c8af4a144b760fb9a21bfc10fd124b275a
Build unit tests for IP transport only

"./auto_build.sh unit_tests" is used by the CI system for the unit test
run (the .sh just invokes auto_build.py).  Since the CI system is virtual,
it does not have bluetooth hardware or NFS.  Initializing the stack
on Linux will try to make sure the selected transports are connected,
and Bluetooth will time out.  Depending on the configuration of the
distro in question, the dbus connection can time out in 2.5 seconds all
the way up to 25. This slows down the "stacktests" test and risks it
failing due to the deadman timer firing (the short timeout is currently
5 seconds). Build this configuration for the IP transport only.

The behavior of the dbus connection varies from run to run it seems,
(and as noted, newer Linux distributions have a much longer timeout,
so if you have to pay the timeout, test time goes up accordingly), but
picking from a log of the current CI unit_test builder (Ubuntu 12.04),
one instance of the entire unit test run took:

96 tests from 17 test cases ran. (4851 ms total)

Locally, removing the effort to touch bluetooth brings the whole unit
test time down well under a second on a system that does not actually
have bluetooth, similar to the case of the CI builders.

Bug: https://jira.iotivity.org/browse/IOT-2518
Change-Id: I453e00b0d829d5caf83b785011970db38b1a9db1
Signed-off-by: Mats Wichmann <mats@linux.com>
auto_build.py