diff --git a/tests/event_thread_shared/Makefile b/tests/event_thread_shared/Makefile new file mode 100644 index 0000000000..52eb82bb30 --- /dev/null +++ b/tests/event_thread_shared/Makefile @@ -0,0 +1,5 @@ +include ../Makefile.tests_common + +USEMODULE += event_thread + +include $(RIOTBASE)/Makefile.include diff --git a/tests/event_thread_shared/Makefile.ci b/tests/event_thread_shared/Makefile.ci new file mode 100644 index 0000000000..b9ff275375 --- /dev/null +++ b/tests/event_thread_shared/Makefile.ci @@ -0,0 +1,3 @@ +BOARD_INSUFFICIENT_MEMORY := \ + nucleo-l011k4 \ + # diff --git a/tests/event_thread_shared/main.c b/tests/event_thread_shared/main.c new file mode 100644 index 0000000000..380e342778 --- /dev/null +++ b/tests/event_thread_shared/main.c @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2020 Kaspar Schleiser + * 2020 Freie Universität Berlin + * 2020 Inria + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @ingroup tests + * @{ + * + * @file + * @brief Event threads test application + * + * @author Kaspar Schleiser + * + * @} + */ + +#include + +#include "thread.h" +#include "event/thread.h" + +static void _handler_high(event_t *event) { + (void)event; + puts("high"); +} + +static event_t event_high = { .handler=_handler_high }; + +static void _handler_medium(event_t *event) { + (void)event; + event_post(EVENT_PRIO_HIGHEST, &event_high); + puts("medium"); +} + +static event_t event_medium = { .handler=_handler_medium }; + +static void _handler_low(event_t *event) { + (void)event; + event_post(EVENT_PRIO_MEDIUM, &event_medium); + event_post(EVENT_PRIO_HIGHEST, &event_high); + puts("low"); +} + +static event_t event_low = { .handler=_handler_low }; + +int main(void) +{ + event_post(EVENT_PRIO_LOWEST, &event_low); + + puts("main done"); + + return 0; +} diff --git a/tests/event_thread_shared/tests/01-run.py b/tests/event_thread_shared/tests/01-run.py new file mode 100755 index 0000000000..6ed171eb8f --- /dev/null +++ b/tests/event_thread_shared/tests/01-run.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python3 + +import sys +from testrunner import run + + +def testfunc(child): + child.expect_exact('low\r\n') + child.expect_exact('high\r\n') + child.expect_exact('medium\r\n') + child.expect_exact('high\r\n') + child.expect_exact('main done\r\n') + + +if __name__ == "__main__": + sys.exit(run(testfunc))