Commit Graph

22 Commits

Author SHA1 Message Date
Jiang Jiang Jian
b7ca4320bb Merge branch 'bugfix/atomic_gptimer_fsm_v5.0' into 'release/v5.0'
gptimer: fix race condition between start and stop (v5.0)

See merge request espressif/esp-idf!22712
2023-03-17 10:38:53 +08:00
Darian Leung
e0b1ccf6ce freertos: Fix flakey task snapshot tests
The task snapshot tests use esp_cpu_stall() to stall the other CPU before
manually walking the task lists. However, it is possible that the other CPU
was also accessing the task lists when esp_cpu_stall() is called, leading to
flakey tests

This commit fixes the test by using a 2-way handshake instead of
esp_cpu_stall().
2023-03-15 16:12:24 +08:00
morris
c24222dcde gptimer: fix race condition between start and stop
Added state transition in gptimer_start/stop functions.
So that it's not possible to make a stopped timer continue to run
because of race condition.
2023-03-11 11:42:09 +08:00
Darian Leung
3623dc0fce freertos: Fix stream buffer send-receive test
The stream buffer send-receive test preivously contained the following bugs:

- "sender" task would send 101 bytes instead of 100
- The main task would return before "sender" task sends its 101st item. Thus
  the sender task would cause memory corruption when accessing "tc" structure
  allocated on the main task's stack

This commit fixes and simplifies the stream buffer test.
2023-02-24 16:24:25 +08:00
Darian Leung
a02a84d8a5 freertos: Fix flakey event group unit tests
The event group unit tests would previously use a single call bit (the
"BIT_CALL" macro) to unblock all the test tasks. However, if one or more tasks
were delayed in calling xEventGroupWaitBits(), the other tasks would clear the
test bits, leading to the test deadlocking.

This commit updates the bits used so that each task gets their own CALL and
RESPONSE bits.
2022-08-12 16:48:18 +08:00
Guillaume Souchere
6005cc9163 hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces
This commit marks all functions in interrupt_controller_hal.h, cpu_ll.h and cpu_hal.h as deprecated.
Users should use functions from esp_cpu.h instead.
2022-07-22 00:06:06 +08:00
Darian Leung
38d974aca0 freertos: Update scheduler suspension unit tests
This commit updates unit tests for vTaskSuspendAll()/xTaskResumeAll().
2022-07-20 11:32:10 +08:00
Darian Leung
ac38f9aaf1 freertos: Rename scheduler suspension test file 2022-07-20 11:32:10 +08:00
Marius Vikhammer
457e31a715 freertos: re-enable tests disabled for C2 2022-07-06 12:15:04 +08:00
Darian Leung
16e739a09e freertos: Fix flakey event group unit test
The "FreeRTOS Event Groups" main task will only wait a single tick for the created
tasks to set their response bits. This short delay may not be sufficent if the tick
frequency is high.

This commit updates the test so that

- the main task waits indefinitely for all the response bits to be set.
- created tasks are cleand up by the main task
2022-06-30 20:19:39 +08:00
Sudeep Mohanty
9a53a4abf1 freertos: refactor yield tests for freertos
This commit refactors the yield test scenarios for a more deterministic
prediction of the kernel's yielding behavior.
2022-06-13 10:57:55 +02:00
Darian Leung
593fbe0b23 freertos: Disable scheduler suspension tests for SMP FreeRTOS
The behavior of vTaskSuspendAll() has changed in SMP FreeRTOS. This commit
disables scheduler suspension related unit tests for SMP FreeRTOS.

The tests will be updated in IDF-5201
2022-06-06 12:15:44 +08:00
Michael (XIAO Xufeng)
6a8aed12ee ci: partially enable ut tests for esp32c2
Disabled test cases are tracked in:

 IDF-4465, IDF-5045, IDF-5057, IDF-5058, IDF-5059, IDF-5060, IDF-5061, IDF-5131

- test_fatfs: IDF-5136

- test_pm: IDF-5053

- test_cache_mmu: IDF-5138

- test_partitions: IDF-5137

- test_vfs: IDF-5139

- test_freertos: IDF-5140

- test_wpa_supplicant: IDF-5046

- test_mbedtls: IDF-5141

- test_pthread: IDF-5142

- test_protocomm: IDF-5143

- test_lightsleep: IDF-5053

- test_taskwdt: IDF-5055

- test_tcp_transport: IDF-5144

- test_app_update: IDF-5145

- test_timer: IDF-5052

- test_spi: IDF-5146

- test_rtc_clk: IDF-5060

- test_heap: IDF-5167

ci: fixed issues for tests of libgcc, ets_timer, newlib

test_pm: support on C2
2022-06-02 14:23:35 +08:00
Darian Leung
ef6afa1324 freertos: Refactor eTaskGetState() unit test
This commit refactors the eTaskGetState() unit test to work on FreeRTOS SMP
2022-05-28 21:36:23 +08:00
Darian Leung
56d45f9999 freertos: Fix queue set tests for SMP FreeRTOS
The "Test Queue sets thread safety" tests relied on IDF FreeRTOS specific
scheduling behavior, thus resulting in the test getting stuck when running
with SMP FreeRTOS.

This commit updates and refactors the tests to work on both IDF and SMP FreeRTOS.
2022-05-19 16:28:10 +08:00
Sudeep Mohanty
ffae594e8b freertos: ignore freertos yield test failures
This commit updates the freertos yield tests to be ignored by the CI
during failures.
2022-05-12 13:57:02 +05:30
Mahavir Jain
dec3db6913 Merge branch 'bugfix/freertos_stack_tcb_alloc_order' into 'master'
freertos: fix allocation order for stack and TCB per portSTACK_GROWTH

See merge request espressif/esp-idf!18042
2022-05-11 18:09:49 +08:00
Mahavir Jain
318f723042
freertos: extend snapshot test to check return status of vTaskGetSnapshot 2022-05-10 14:19:17 +05:30
Sudeep Mohanty
3ea1c8bf96 freertos: add freertos unit test to verify yielding behavior of the kernel
This commit adds a unit test to verify the task yielding behavior of the
FreeRTOS SMP kernel.
2022-05-09 03:48:07 +00:00
morris
e7295c3577 gptimer: added enable/disable functions 2022-05-06 18:18:39 +08:00
Ivan Grokhotkov
708e99497b
global: add dependency on esp_timer component and include esp_timer.h
Some components were including esp_timer.h without declaring a
dependency on esp_timer component. This used to work due to a
transitive public dependency on esp_timer from freertos component.
Add explicit dependencies where needed.
Also some source files were using esp_timer functions without
including the header file. This used to work because esp_timer.h was
included from freertos port header file. This commit adds esp_timer.h
includes where needed.
2022-04-25 18:39:23 +02:00
Zim Kalinowski
dad8b50876 freertos: move test files to appropriate subfolders 2022-04-21 07:55:34 +00:00