Commit Graph

5065 Commits

Author SHA1 Message Date
Vinayak Kariappa Chettimada
6901b6662a tests: Bluetooth: bsim: Fix change to Periodic Advertising API
Fix due to change to Periodic Advertising API, now requiring
callback registration.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-07 17:45:23 +02:00
Vinayak Kariappa Chettimada
cb67f36029 Bluetooth: controller: Rename to BT_CTLR_SYNC_PERIODIC
Rename Kconfig option BT_CTLR_SCAN_PERIODIC to
BT_CTLR_SYNC_PERIODIC.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-07 17:45:23 +02:00
Vinayak Kariappa Chettimada
70e5ecaf08 tests: Bluetooth: bsim: Minor print format update
Minor print format update, updated format for Periodic
Advertising Interval.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-07 17:45:23 +02:00
Vinayak Kariappa Chettimada
fbf6a71cc3 tests: Bluetooth: bsim: Test Periodic Sync Create and Terminate
Added test code to exercise the Periodic Sync Creation,
Terminate and Sync Loss.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-07 17:45:23 +02:00
Vinayak Kariappa Chettimada
adcb9eff64 tests: Bluetooth: bsim: Added test for Periodic Sync Create Cancel
Added BabbleSim test for Periodic Sync Create Cancel.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-07 17:45:23 +02:00
Vinayak Kariappa Chettimada
67dd5a61dc tests: Bluetooth: bsim: Added bsim test to cover Periodic Sync
Added test implementation for test driven development of
Periodic Sync feature support in the controller.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-07 17:45:23 +02:00
Vinayak Kariappa Chettimada
b0cc96ec61 Bluetooth: controller: Add initial ULL Periodic Sync code
Add initial files and code for Periodic Sync feature support.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-07 17:45:23 +02:00
Andrew Boie
fd995ca697 tests: onoff: use typedef for spinlock key
This is an opaque type, all the relevant APIs take
k_spinlock_key_t.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-10-06 19:56:51 -04:00
Andrzej Głąbek
20a21018c2 tests: adc_api: Use SHRT_MIN instead of 0 to mark empty buffer entries
Instead of 0, which can happen to be a sampling result, use for marking
empty buffer entries a value that is not supposed to be written in the
buffer by an ADC driver. This value defaults to SHRT_MIN but can be
overriden, if needed, for particular boards.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2020-10-06 17:47:16 +02:00
Eugeniy Paltsev
ea8c4b91b5 tests: exception: workaround agressive optimization
The memset in the 'blow_up_stack' function can be optimized
away as it is called in the end of the function on the buffer
allocated on the stack (so it has 'no' effect on program
execution)

The 'stack_smasher' call can be optimized away as it's results
isn't used anywhere and stack_smasher function has no visible
side effects.

Fix that by disabling optimization on these functions.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2020-10-06 11:41:23 -04:00
Eugeniy Paltsev
90bcf3da6a tests: preempt: workaround aggressive oprimization
We use several variables (like do_sleep, etc...) to share
statuses between threads, however they are not marked as
volatile. That may lead to their unexpected optimization
(tat really happens with ARC MWDT when loop with waiting
on the sleep timeout in 'wakeup_src_thread' is optimized
away). Fix that by defining these variables as volatile.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2020-10-06 11:41:23 -04:00
Eugeniy Paltsev
4e5c675841 tests: mem_alloc: workaround aggressive optimization
As we don't use memory allocated in test_memalloc_max the
malloc call can be optimized away (that really happens with ARC
MWDT toolchain). That breaks the test. So disable optimization
for test_memalloc_max function.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2020-10-06 11:41:23 -04:00
Eugeniy Paltsev
effd2fa834 toolchain: define __no_optimization attribute across toolchains
The __attribute__((optimize("-O0"))) attribute is used to disable
optimization of some test functions. ARC MWDT toolchain doesn't
support it, however it supports __attribute__((optnone)) with
similar functionality.

Define __no_optimization attribute across all toolchains so it
can be used in tests.

NOTE: we don't define __no_optimization for XCC as it includes
GCC header with __no_optimization defined.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2020-10-06 11:41:23 -04:00
Eugeniy Paltsev
f55080e4f9 tests: mem_protect: avoid RO region access optimization
Compiler may optimize away write to RO region and following
readback so we won't trigger fault (that actually happens with
arc MWDT toolchain).

Add volatile to avoid that.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2020-10-06 11:41:23 -04:00
Vinayak Kariappa Chettimada
ff1b55ab5b tests: Bluetooth: init: Remove ll_sw_split filename postfix
Remove ll_sw_split postfix in conf filenames.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-06 13:47:18 +02:00
Vinayak Kariappa Chettimada
1d24330648 tests: Bluetooth: init: test state/role combinations
Added conf files to test advertiser, broadcaster, peripheral
and central state/role build combinations.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2020-10-06 13:47:18 +02:00
Daniel Leung
1cd545d5ae tests: work_queue: wait longer for expired triggering items
The test_triggered_wait_expired test submits the items with
2*SUBMIT_WAIT timeout and waits for the timeout to expire
so the items are being worked on. It waits one SUBMIT_WAIT
and checks none of the items have started. Then waits
another SUBMIT_WAIT to check if they have all finished.
However, since the timeout is at 2*SUBMIT_WAIT, the work
queue may have just started going through the list of items.
This means some items may have started while others have not.
This results in the test failing as not all items have
finished. So lengthen the second sleep to allow items to
finish before checking.

Fixes #28589

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-10-05 14:36:33 -05:00
Simon Glass
6f0c8f0d2c tests: drivers: sensor: Add an BMI160 accelerometer test
Using the SPI emulator we can create a simple test for the BMI160
driver. Add this an enable it for native_posix.

Signed-off-by: Simon Glass <sjg@chromium.org>
2020-10-05 15:33:00 -04:00
Simon Glass
2e14082334 tests: drivers: sensor: Move current test into generic/
The existing tests is for generic sensor drivers. To make room for a
driver-specific one, move it into a subdirectory.

Signed-off-by: Simon Glass <sjg@chromium.org>
2020-10-05 15:33:00 -04:00
Erwan Gouriou
c3eef7744a include/devicetree.h: Add DT_ENUM_IDX_OR macro
In case a "required: False" enum binding doesn't mention a
default value, but a default value makes sense to be set in the code,
DT_ENUM_IDX_OR could be used to provide the default idx to be used.

New macro comes with appropriate tests.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-10-05 10:15:32 -05:00
Enjia Mai
39696e3c1b tests: smp: improving the description for SMP test cases
Add more detail description for test case of arch_curr_cpu() and
arch_sched_ipi(). This is in order to make the purpose and process of
the test cases more clear.

Signed-off-by: Enjia Mai <enjiax.mai@intel.com>
2020-10-04 14:26:31 -07:00
Jukka Rissanen
d4347b4015 net: dhcpv4: Generate start/bound/stop mgmt events
The L4 connected/disconnected events are usually used to detect
when the application is connected to the network. Unfortunately
if the device has also a static address, then the connected event
might be created (for the static address) even if DHCPv4 is not
ready yet and application would not be able to connect (yet) to the
network. In order to allow the application to fine tune the network
connection creation, generate start, bound and stop events for DHCPv4.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-10-03 17:15:15 +03:00
Kumar Gala
8ddd7f0f23 drivers: sensors: itds: Remove dts defaults
We should not be using defaults for enum properties, this should be
required: true instead.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-10-02 11:46:57 +02:00
Xavier Chapron
824f423e54 misc: Replace assert include and calls by sys/__assert.h equivalent
Replace all calls to the assert macro that comes from libc by calls to
__ASSERT_NO_MSG(). This is usefull as the former might be different
depending on the libc used and the later can be customized to reduce
flash footprint.

Signed-off-by: Xavier Chapron <xavier.chapron@stimio.fr>
2020-10-02 11:42:40 +02:00
Alexandre Bourdiol
25e19f89f1 test: drivers: watchdog: 64bits variables for STM32H7 and STM32F7
STM32H7 and STM32F7 guarantee last write RAM retention over reset,
only for 64bits.
See details in Application Note AN5342

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-10-02 11:39:14 +02:00
Enjia Mai
9ec3983c3e tests: device: update test case
Update pm test case to fix some error last time submission. Add test
case that simply check device_pm_enable and device_pm_disable interface.

Signed-off-by: Enjia Mai <enjiax.mai@intel.com>
2020-10-02 11:38:30 +02:00
Maksim Masalski
9eddc69029 tests: added new tests for memory partitions
Add new tests to improve of the Zephyr QA testing of the memory
protection for memory domains and partitions.
I created new tests for memory protection->memory partitions for
the requirements which I think necessary to be tested.
I added Doxygen tag for each test to make it clear to understand
what each test is doing and how.

New tests for memory domains and partitions:

-test_mem_domain_api_kernel_thread_only()
By creating that test I wanted to prove that access to memory
domain APIs must be restricted only to supervisor threads.
At the same time I wanted to prove that system can support the
definition of memory domains.

-test_mem_part_auto_determ_size()
By creating that test I want to prove that system can automatically
determine application memory partition base addresses and sizes
at build time, determined by its contents. Also system can support
definition of memory partitions. At the same time test proves that OS
supports adding and removing a thread from its memory domain
assignment.

-test_mem_part_auto_determ_size_per_mmu()
That test is very important and it proves that memory partitions are
automatically sized and aligned per the constraints of the platform's
memory management hardware.

-test_mem_part_inheirt_by_child_thr()
Prove that child thread inherits memory domain assignment of its
parent.

-test_macros_obtain_names_data_bss()
Test system provides tools to obtain the names of the data and BSS
sections related to a particular application memory partition at
build time.

-test_mem_part_assign_bss_vars_zero()
Test that global data and BSS values can be assigned to application
memory partitions using macros at build time. Test that BSS values
will be zeroed at the build time.

1. According to the reviews made changes.
2. Switched test_mem_part_assert_add_overmax
and test_create_new_invalid_prio_thread_from_user
That way I exposed problem (bug) with assertion
in L171 kernel/mem_protect.c

Signed-off-by: Maksim Masalski <maksim.masalski@intel.com>
2020-10-02 11:35:28 +02:00
Parthiban Nallathambi
c2ee9f5c3e drivers: eth: add driver for w5500 Ethernet Controller
Add driver for w5500 Ethernet Controller

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
2020-10-02 11:34:57 +02:00
Rafał Kuźnia
d897bd1e74 tests: posix: eventfd: increase test coverage with polling
This commit adds the following tests:
* check eventfd with initval != 0
* check write counter overflow
* check if eventfd is blocked after read
* check if writing zero does not unblock
* check if nonblocking eventfd poll() behaviour is identical to blocking

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2020-10-02 11:34:19 +02:00
Christopher Friedt
75b9292a30 tests: posix: nanosleep: round up to the nearest microsecond
Here, we include some addtional tests for durations that have
sub-microsecond components.

1ns => k_busy_wait(0). Round to 1us.
1us + 1ns => k_busy_wait(1us). Round to 2us.
1s + 1ns => k_busy_wait(1000000us). Round to 1000001us.
1s + 1us + 1ns => k_busy_wait(1000001us). Round to 1000002us.

Fixes #28483

Signed-off-by: Christopher Friedt <chrisfriedt@gmail.com>
2020-10-02 11:31:43 +02:00
Tomasz Bursztyka
c7787c623e arch/x86: Cleanup ACPI structure attributes names
No need to mix super short version of names with other structures
having full name. Let's follow a more relevant naming where each and
every attribute name is self-documenting then. (such as s/id/apic_id
etc...)

Also make CONFIG_ACPI usable through IS_ENABLED by enclosing exposed
functions with ifdef CONFIG_ACPI.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-10-01 11:16:40 -07:00
Jan Pohanka
9e5dc213cb net: mqtt: fix tests to use zsock_ functions
Use zsock_ variants of socket functions in mqtt tests.

Signed-off-by: Jan Pohanka <xhpohanka@gmail.com>
2020-10-01 17:35:45 +03:00
Kumar Gala
55be783c85 settings: Remove deprecated SETTINGS_USE_BASE64 support
Remove code and associated tests and Kconfig related to
SETTINGS_USE_BASE64 that was deprecated in Zephyr 2.2

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-10-01 07:05:27 -05:00
Andrew Boie
9c9312c8c5 tests: thread_stack: add idle stack size scenario
Show that trampolining thread self-aborts to the idle thread
works and that we have sufficiently set the idle stack size
for this, PM hooks, and dynamic kernel object cleanup.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-09-30 14:11:59 -04:00
Andrew Boie
e3796b95a2 tests: metairq: add extra verbosity
No functional change, just add some extra printouts and comments
to make it a little clearer the expected sequencing.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-09-30 14:11:59 -04:00
Andrew Boie
36361f7793 tests: heap: exclude on qemu_xtensa
This test takes a pathologically long time to run. The PR
this is part of takes 10x as long to run the test as it did
before.

Such behavior cannot be reproduced on real Xtensa hardware,
where the test completes on an Intel S1000 in 4 seconds.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-09-30 14:11:59 -04:00
Flavio Ceolin
cc0244bdd7 tests: gen_isr_table: Disable tables generation
Add a new sample disabling GEN_ISR_TABLES.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2020-09-29 12:36:33 +02:00
Ioannis Glaropoulos
3b89cf173b arch: arm: cortex-m: enable IRQs before main() in single-thread mode
Enable interrupts before switching to main()
in cortex-m builds with single-thread mode
(CONFIG_MULTITHREADING=n).

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-09-29 10:47:43 +02:00
Peter Bigot
3aea86e777 tests: kernel/common: align time test with system tick
Reduce the error between the timer (which is tick-aligned) and
busy_wait (which is not) by aligning the busy_wait to start at
a tick boundary.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-29 10:47:03 +02:00
Alexandre Bourdiol
3563b50f8d boards: arm: nucleo_l4r5zi: add ADC support
Add support of ADC

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-09-28 09:53:39 -05:00
Alexandre Bourdiol
c2a4b5ae46 boards: arm: disco_l475_iot1: add ADC support
Add support of ADC

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-09-28 09:53:39 -05:00
Alexandre Bourdiol
99396031b8 boards: arm: nucleo_g474re add ADC support
Add support of ADC

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-09-28 09:53:39 -05:00
Alexandre Bourdiol
d624db7c03 boards: arm: stm32f3_disco: add ADC support
Add support of ADC

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-09-28 09:53:39 -05:00
Alexandre Bourdiol
7a3670efa3 boards: arm: nucleo_f429zi: add ADC support
Add support of ADC

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-09-28 09:53:39 -05:00
Alexandre Bourdiol
d800bdfa7d tests: arch: arm: arm_thread_swap: use memset() instead of memcpy()
According to comment memset() should be used instead of memcpy().
There is no need to access to address 0x0.
Fixes #28691

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-09-28 12:01:14 +02:00
Ioannis Glaropoulos
8ef34566ed tests: explicitly disable HW Stack Protection when needed
Some ARM platforms, now, enable HW Stack Protection by
default in the Board definition. So if some tests
need to run without stack protection, it is not
sufficient to disable TEST_HW_STACK_PROTECTION;
we need to explicitly disable HW_STACK_PROTECTION.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-09-24 15:42:09 -05:00
Alexandre Bourdiol
74be161694 tests: kernel: timer: timer_api: reorder test_timer_remaining step
Move init_timer_data() out of k_usleep() tick alignment.
Compute rem_ticks just after busy_wait_ms() to avoid slew
due to 'now' and 'rem_ms' computations.
With slow CPU 32MHz: -2 Ticks.

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-09-24 13:26:27 -05:00
Alexandre Bourdiol
4133cb5f72 tests: kernel: timer: timer_api: tick align for test_timer_k_define
Insert k_usleep(1) just before k_timer_start()
to guaranty tick alignment for step "test_timer_k_define"

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-09-24 13:26:27 -05:00
Daniel Leung
2c47c489e8 tests: portability/cmsis_rtos_v2: skip up_squared
The up_squared board suffers the same issue as qemu_x86_64
where a bigger stack is needed but CMSIS has a limit on
how big the stack can be. This results in stack overflow
on one of the test.

Also, the thread API tests are not designed with SMP in mind.
The osThreadGetCount() would return a value smaller than
expected. This function only counts queued threads, where with
SMP, there are more CPUs running threads and thus fewer queued
ones.

So exclude up_squared from the test.

Fixes #27571

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-09-24 13:09:46 -05:00
David Leach
b94dbc569e test: power: Remove frdm_k64f platform from allowed list
Removing frdm_k64f from the allowed list of platforms to test.
Power management support has not been added and/or verified for
frdm_k64f platform yet.

Fixes: #27821

Signed-off-by: David Leach <david.leach@nxp.com>
2020-09-24 10:46:19 -05:00