mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-12-12 04:34:43 +04:00
* Core: event_flag, removing duplicate code * event_loop: add support furi_event_flags * Examples: add missing free in event loop examples * Furi: fix event flag * Sync api symbols * Unit_test: evet_loop_event_flags * Fix multiple waiting list elements handling * Unit_test: add event_loop_event_flag test * FURI: event_loop add restrictions * Fix multiple waiting lists items for good * Improve FuriEventLoop unit tests * Abolish callback return value * Remove return value from callback signature * Use bool level value instead of int32_t * Add unit tests for FuriStreamBuffer * Add unit tests for FuriSemaphore * Speed up test execution * Improve docs * Add a stub for furi os-level primitives * Add more checks for edge cases * Allow event loop notification from ISR * Bump api version Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com> Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com> Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
75 lines
1.5 KiB
C
75 lines
1.5 KiB
C
#include <furi.h>
|
|
#include <furi_hal.h>
|
|
#include "../test.h" // IWYU pragma: keep
|
|
|
|
// v2 tests
|
|
void test_furi_create_open(void);
|
|
void test_furi_concurrent_access(void);
|
|
void test_furi_pubsub(void);
|
|
void test_furi_memmgr(void);
|
|
void test_furi_event_loop(void);
|
|
void test_errno_saving(void);
|
|
void test_furi_primitives(void);
|
|
|
|
static int foo = 0;
|
|
|
|
void test_setup(void) {
|
|
foo = 7;
|
|
}
|
|
|
|
void test_teardown(void) {
|
|
/* Nothing */
|
|
}
|
|
|
|
MU_TEST(test_check) {
|
|
mu_check(foo != 6);
|
|
}
|
|
|
|
// v2 tests
|
|
MU_TEST(mu_test_furi_create_open) {
|
|
test_furi_create_open();
|
|
}
|
|
|
|
MU_TEST(mu_test_furi_pubsub) {
|
|
test_furi_pubsub();
|
|
}
|
|
|
|
MU_TEST(mu_test_furi_memmgr) {
|
|
// this test is not accurate, but gives a basic understanding
|
|
// that memory management is working fine
|
|
test_furi_memmgr();
|
|
}
|
|
|
|
MU_TEST(mu_test_furi_event_loop) {
|
|
test_furi_event_loop();
|
|
}
|
|
|
|
MU_TEST(mu_test_errno_saving) {
|
|
test_errno_saving();
|
|
}
|
|
|
|
MU_TEST(mu_test_furi_primitives) {
|
|
test_furi_primitives();
|
|
}
|
|
|
|
MU_TEST_SUITE(test_suite) {
|
|
MU_SUITE_CONFIGURE(&test_setup, &test_teardown);
|
|
MU_RUN_TEST(test_check);
|
|
|
|
// v2 tests
|
|
MU_RUN_TEST(mu_test_furi_create_open);
|
|
MU_RUN_TEST(mu_test_furi_pubsub);
|
|
MU_RUN_TEST(mu_test_furi_memmgr);
|
|
MU_RUN_TEST(mu_test_furi_event_loop);
|
|
MU_RUN_TEST(mu_test_errno_saving);
|
|
MU_RUN_TEST(mu_test_furi_primitives);
|
|
}
|
|
|
|
int run_minunit_test_furi(void) {
|
|
MU_RUN_SUITE(test_suite);
|
|
|
|
return MU_EXIT_CODE;
|
|
}
|
|
|
|
TEST_API_DEFINE(run_minunit_test_furi)
|