Commit graph

2414 commits

Author SHA1 Message Date
Cinly Ooi
8cce685bbc tests: bluetooth: Improve test case names
Improvement in test case name is needed to make it easier
to navigate from test case name to the actual test
folder.

This is useful as some tools that consume tests directory
will only output test case name without directory names

Signed-off-by: Cinly Ooi <cinly.ooi@intel.com>
2019-04-05 08:25:33 -04:00
Anas Nashif
15cdeb9352 tests: fix various test identifiers
Fix various test identifiers.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-03-29 17:44:11 -04:00
Patrik Flykt
24d71431e9 all: Add 'U' suffix when using unsigned variables
Add a 'U' suffix to values when computing and comparing against
unsigned variables.

Signed-off-by: Patrik Flykt <patrik.flykt@intel.com>
2019-03-28 17:15:58 -05:00
Mariusz Skamra
56ec1d876d Bluetooth: tester: Fix possible NULL pointer dereference
Fix calling NULL attribute read function pointer.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2019-03-19 06:55:16 +02:00
Mariusz Skamra
8b5d73e0f1 Bluetooth: tester: Move BTP specification to auto-pts repository
This moves BTP specification from Zephyr so that it's accessible for
all projects.

Related auto-pts PR: https://github.com/intel/auto-pts/pull/244

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2019-03-15 07:24:08 -05:00
Pawel Dunaj
3dd44d16e6 tests: bluetooth: MESH shell is observer not central
Use BT_OBSERVER instead of BT_CENTRAL for this test.

Signed-off-by: Pawel Dunaj <pawel.dunaj@nordicsemi.no>
2019-03-05 11:22:39 +01:00
Tedd Ho-Jeong An
378cc3d57b Bluetooth: btp: Add overlay for nrf52 and reel boards
This patch adds overlay for nrf52_pca10040 and reel board to use
btp tester. These are based on nrf52840.

Signed-off-by: Tedd Ho-Jeong An <tedd.an@intel.com>
2019-03-03 23:46:00 -05:00
Luiz Augusto von Dentz
46298da104 Bluetooth: Mesh: Use BT_GATT_CCC_MANAGED
This makes use of BT_GATT_CCC_MANAGED so instead of having a custom
attribute which is not managed by stack.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2019-02-27 10:30:50 +01:00
Krzysztof Chruscinski
3605e48c44 shell: Modify subcommands to use SHELL_STATIC_SUBCMD_SET_CREATE
It is planned to deprecate SHELL_CREATE_STATIC_SUBCMD_SET macro
which is replaced by SHELL_STATIC_SUBCMD_SET_CREATE.

Additionally, removed irrelevant comments about alphabetical
ordering which is no longer needed.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2019-02-20 07:31:35 -05:00
Johan Hedberg
3d53ee9a39 tests: bluetooth/mesh_shell: Fine-tune config for lower RAM footprint
This app was supposed to have userspace disabled, but it kept on being
forced on by CONFIG_TEST_USERSPACE (which in turn gets enabled by
CONFIG_TEST).

Also lower the shell stack size since stack analysis shows over 700
bytes being unused.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2019-02-15 18:49:14 -05:00
Wolfgang Puffitsch
3f4a64cd4e tests: bsim_bt: Extend connection test case.
Change connection parameters and channel map after connection is
established. Test encrypted connection also with split stack. Tighten
pass/fail criteria.

Signed-off-by: Wolfgang Puffitsch <wopu@oticon.com>
2019-02-15 14:12:27 -05:00
Wolfgang Puffitsch
4464029fb1 tests: bsim_bt: Make peripheral role part of test case.
Make peripheral role part of test case to build it with
split/non-split stack.

Signed-off-by: Wolfgang Puffitsch <wopu@oticon.com>
2019-02-15 14:12:27 -05:00
Wolfgang Puffitsch
5a49a0aa1f tests: bsim_bt: Replace ad_parse function with bt_data_parse.
Use shared function, aligning with code in central_hr sample.

Signed-off-by: Wolfgang Puffitsch <wopu@oticon.com>
2019-02-15 14:12:27 -05:00
Carlos Stuart
75f77db432 include: misc: util.h: Rename min/max to MIN/MAX
There are issues using lowercase min and max macros when compiling a C++
application with a third-party toolchain such as GNU ARM Embedded when
using some STL headers i.e. <chrono>.

This is because there are actual C++ functions called min and max
defined in some of the STL headers and these macros interfere with them.
By changing the macros to UPPERCASE, which is consistent with almost all
other pre-processor macros this naming conflict is avoided.

All files that use these macros have been updated.

Signed-off-by: Carlos Stuart <carlosstuart1970@gmail.com>
2019-02-14 22:16:03 -05:00
Luiz Augusto von Dentz
a3bca71a5e Bluetooth: GATT: Implement Database Hash
This implements the Database Hash characteristic which generates a hash
with the contents of certain attributes. The generation of hash is
usually offloaded to the systemwq using a delayed work so that when
application register multiple services only one hash needs to be
calculated.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2019-02-08 18:07:34 +02:00
Vinayak Kariappa Chettimada
e85571da28 Bluetooth: tests: Include building mesh ext. in CI
Include the HCI Mesh Extension implementation to be built in
CI. Note, mesh extension implementation is work in progress,
and will be continues in new LL split architecture
implementations.

Note, HCI Mesh extensions not supported in ULL/LLL arch yet,
hence disabled. Also, only a partial implementation present
in the old architecture.

Relates to #12860.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2019-02-05 15:00:08 +01:00
Vinayak Kariappa Chettimada
d04d852db3 Bluetooth: tests : Include building the LL split with debug options
Include building the init tests with the new Link Layer
split architecture and with debug options to cover
possible conditional compilations.

Relates to #12860.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2019-02-05 15:00:08 +01:00
Alberto Escolar Piedras
815f6fad75 tests: bsim_bt: Rename test script for consistency
Minor change:
Rename the file names of the test scripts for consistency with
other BLE code
The simulation identification string is also changed (although
there is no actual functional need)

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2019-01-30 13:24:30 -05:00
Alberto Escolar Piedras
8c8d099632 tests: bsim_bt: Add BLE connection test with split controller arch
To also cover the new split controller architecture (with a common ULL
and vendor dependent LLL).
Add a connection testcase (without encryption so far) for the nrf52_bsim
configured with the split controller architecture.
This is just the exact same as the Basic_con test but building the test
with CONFIG_BT_LL_SW_SPLIT=y.
Privacy and data lenght extensions are also so far disabled as the
new controller does not yet support them.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2019-01-30 13:24:30 -05:00
Alberto Escolar Piedras
58a7508d66 tests: bsim_bt: Compile each project in its own folder
To allow for incremental builds also when 2 projects are only
differentiated by the project configuration file.
Separate the build dirertories also by the selected project file.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2019-01-30 13:24:30 -05:00
Vinayak Kariappa Chettimada
1d470307b9 Bluetooth: tests : Include building the LL split in CI
Include building the init tests with the new Link Layer
split architecture.

Has the data length update and controller privacy disabled
until they are implemented in the new architecture.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2019-01-25 11:19:39 +02:00
Alberto Escolar Piedras
a40f07a3f3 tests: Prolong BT encrypted connection test
Prolong by 1 second the BT encrypted connection test, to ensure
there is enough time for the link itself to be encrypted.
Before this change the key was exchanged, but the 1st notification
(pass condition) was received before the link itself was encrypted.
With this change we wait for 1 notification more (1 second more),
and during that extra second the link is actually encrypted.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2019-01-18 18:28:32 -05:00
Anas Nashif
5060ca6a30 cmake: increase minimal required version to 3.13.1
Move to latest cmake version with many bug fixes and enhancements.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-01-03 11:51:29 -05:00
Alberto Escolar Piedras
7593be7a3f tests: bsim_bt tests: Fix malformed JUNIT results file
Fix the following issues regarding the JUNIT results file
format (xml):

The logger produces illegal xml characters in the text output
=> Ensure that any non-valid xml character is replaced with
the valid xml scapes

When GNU parallel is installed and a testcase fails, the
xml output was malformed => Fixed it

Also store in the Junit output the processes stderr

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-12-06 09:15:38 -05:00
Jakub Rzeszutko
b928b71756 shell: rename shell_help_print function
Function printing help has been renamed to shell_help.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-12-05 15:15:44 +01:00
Jakub Rzeszutko
3064ca4f2f shell: creating new module for help functionality
1. Created new shell module: shell_help.
2. Simplified command handlers with new shell print macros.
3. Removed help functions from command handlers.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-12-05 15:15:44 +01:00
Jakub Rzeszutko
5451ff2848 shell: remove "options" concept
Removing help "options" from shell API.

Currently SHELL_OPT macro is not used by users. What is more
commit: a89690d10f ignores possible options created in
command handler by the user. As a result they are not printed
in help message.

Second, currntly implemented "options" in command handlers options are
implemented without SHELL_OPT macro.

And last but not least this change will allow to implement
help handler in a way that user will not need to think about calling
functions printing help in a command handler.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-12-05 15:15:44 +01:00
Patrik Flykt
440b535602 tests: Add 'U' to unsigned variable assignments
Add 'U' to a value when assigning it to an unsigned variable.
MISRA-C rule 7.2

Signed-off-by: Patrik Flykt <patrik.flykt@intel.com>
2018-12-04 22:51:56 -05:00
Jakub Rzeszutko
b7a5874830 tests: shell: migrate tests to the new shell
Testing:
1. Shell built-in commands.
2. Wildcards module.
3. Static commands creation and execution.
4. Dynamic commands creation and execution.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-11-22 11:32:29 +01:00
Mariusz Skamra
8f5ba0be88 Bluetooth: Add common Kconfig option to disable LE Data Length Update
This adds common option to disable support for LE Data Length Update
procedure in controller and host.
This will reduce flash usage by compiling out le_data_len_change
event handler that will never be called if controller has been
compiled with BT_CTLR_DATA_LENGTH option disabled.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2018-11-21 12:26:27 -05:00
Mariusz Skamra
be314d3af5 Bluetooth: Add common Kconfig option to disable PHY Update
This adds common option to disable support for PHY Update
procedure in controller and host.
This will reduce flash usage by compiling out le_phy_update_complete
event handler that will never be called if controller has been
compiled with BT_CTLR_PHY option disabled.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2018-11-21 12:26:27 -05:00
Alberto Escolar Piedras
d92fd5a5b8 tests: bsim_bt: Add option to re-build incrementally
In the provided compile.sh script (which builds all bsim_bt
testcases used in the CI regression runs) add the option to
do an incremental build (if possible).
This is just a nicety for users who want to use this script
while testing locally.

This is controller with the existance of the variable INCR_BUILD

For ex., the script can be called, as:
 WORK_DIR=${ZEPHYR_BASE}/my_work_folder INCR_BUILD=y \
 tests/bluetooth/bsim_bt/compile.sh

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-11-21 09:42:46 -05:00
Luiz Augusto von Dentz
b7c6ea4971 Bluetooth: shell: Remove macros to print messages
Make use of shell_print and shell_error now that they are available.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2018-11-13 20:42:01 +02:00
Alberto Escolar Piedras
a822bc2241 tests: Add new bsim based encrypted BLE link test
Test which depends on the nrf52_bsim board.
It is based on the basic connection bsim test,
with the same pass/fail critaria.
The only difference being that the link will be encrypted
therefore exercising that part of the BLE stack.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-11-13 11:14:19 -05:00
Alberto Escolar Piedras
a325fdd575 tests bsim_bt: Add scripts to compile and run tests
The compile.sh script compiles the neccessary applications to run
all testcases.

The run_parallel.sh script runs all avaliable tests scripts
(e.g.
tests/bluetoothbsim_bt/bsim_test_app/tests_scripts/Basic_con.sh )
and reports which of them pass or fail.

Note that the run_parallel script will run the test in parallel
only if it can find GNU parallel (which is missing in CI),
otherwise it just runs them in serial

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-11-13 11:14:19 -05:00
Alberto Escolar Piedras
d21a36d981 tests bsim_bt: Add script to execute the basic connection test
A script which will execute:
* the peripheral sample
* the bsim_test_app (the actual self-testing application)
* the BabbleSim phy

This script will return
* 0 if the test passes
* something else otherwise

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-11-13 11:14:19 -05:00
Alberto Escolar Piedras
3983ccf583 tests: Add new BabbleSim based BT test
Test which depends on the nrf52_bsim board.
It is based on the central_hr sample application.
The testcase is considered passed, if during the first 5 seconds
after boot, it manages to find and connect to a
peripheral and a notification is received from it.
Otherwise, the testcase fails.
Note that the executable return code will reflect the status of the
test:
0: Testcase passed
1: Testcase was stopped while in progress
2: Testcase failed
anything else: A failure not from the testcase itself

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-11-13 11:14:19 -05:00
Luiz Augusto von Dentz
7aa58ff91d mesh: Port shell module to the new shell
This makes mesh shell to register commands with the new shell subsystem
and stop using the legacy shell.

Fixes #11056

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2018-11-09 11:19:49 +01:00
Johan Hedberg
62fb942d74 tests: bluetooth/tester: Fix having unique log domains
Each c-file must have unique log domains or building will fail at the
linker stage.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-11-02 10:41:11 -04:00
Kumar Gala
a8f1431a53 boards: bbc_microbit: Move button data into dts from board.h
Move the GPIO info for the buttons into the dts, this lets us match what
all other boards are doing.  Update some sample & test code to use the
dts generated SW0_GPIO_CONTROLLER define instead of SW0_GPIO_NAME.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-11-01 15:58:51 -05:00
Reto Schneider
7eabab2f5d samples, tests: Use semi-accurate project names
When using an IDE (e.g. Eclipse, Qt Creator), the project name gets
displayed. This greatly simplifies the navigation between projects when
having many of them open at the same time. Naming every project "NONE"
defeats this functionality.

This patch tries to use sensible project names while not duplicating
too much of what is already represented in the path. This is done by
using the name of the directory the relevant CMakeLists.txt file is
stored in. To ensure unique project names in the samples (and again, in
the tests folder) folder, small manual adjustments have been done.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
2018-10-27 21:31:25 -04:00
Johan Hedberg
a0c22de270 tests: bluetooth/tester: Convert from SYS_LOG to new logger
Use the LOG_* macros instead of the deprecated SYS_LOG_* ones.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-10-19 14:50:22 +02:00
Johan Hedberg
343c53e841 Bluetooth: Switch from SYS_LOG to logger-based logging
Initial conversion to use syslog instead of logger.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-10-19 14:50:22 +02:00
Jakub Rzeszutko
147122e77f shell: examples unification
Updating examples according to new return value of function
shell_cmd_precheck.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-10-19 13:35:56 +02:00
Jakub Rzeszutko
f6197c4f3c shell: create instances automatically basing on enabled backend
If user will enable shell than for each backend shell instance
will be created automatically.

Update all shell examples according to the new initialization
procedure.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-10-11 12:08:04 +02:00
Jakub Rzeszutko
b0571746e2 shell: parsing output LF character
Some terminals literally interprets shell output data. Hence to print
a message in new line shell needs to send `\r\n` each time. To minimize
flash usage user can now send `\n` as a line delimiter and shell will
automatically add missing CR character.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-10-10 10:45:28 +02:00
Carles Cufi
94f8e75b24 tests: Bluetooth: shell: Whitelist nrf52840_pca10056
In order to fully cover the platform that supports most of the optional
features in the specification, whitelist the nRF52840 DK.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-10-03 11:03:21 -05:00
Luiz Augusto von Dentz
76714c1480 Bluetooth: Shell: Make error message for unknown parameter consistent
Also simplify it by having the 'unknown parameter:' as part of the
message format.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2018-10-03 09:49:58 +02:00
Luiz Augusto von Dentz
4058f724bc Bluetooth: samples: shell: Don't use printk
Make use of shell_fprintf whenever possible.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2018-10-03 09:49:58 +02:00
Jakub Rzeszutko
c471614cb6 subsys: shell: fix accept either CR or LF as as line delimiter
1. Shell will accept CR or LF as line delimiter.
2. Macro SHELL_DEFINE simplified - it no longer requires
   new line character.
3. Fixes: #10207.

Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
2018-10-02 11:55:47 -07:00