1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

sys/test_utils/dummy_thread: initial commit

This commit adds a module that just creates a thread that does nothing,
at boot time, in auto_init().
This commit is contained in:
Kaspar Schleiser 2020-06-08 17:04:58 +02:00
parent cb11b2d33f
commit 825ffddbf9
4 changed files with 65 additions and 0 deletions

View File

@ -31,6 +31,9 @@ endif
ifneq (,$(filter test_utils_interactive_sync,$(USEMODULE)))
DIRS += test_utils/interactive_sync
endif
ifneq (,$(filter dummy_thread,$(USEMODULE)))
DIRS += test_utils/dummy_thread
endif
ifneq (,$(filter net_help,$(USEMODULE)))
DIRS += net/crosslayer/net_help
endif

View File

@ -49,6 +49,10 @@ void auto_init(void)
extern void init_schedstatistics(void);
init_schedstatistics();
}
if (IS_USED(MODULE_DUMMY_THREAD)) {
extern void dummy_thread_create(void);
dummy_thread_create();
}
if (IS_USED(MODULE_EVENT_THREAD)) {
LOG_DEBUG("Auto init event threads.\n");
extern void auto_init_event_thread(void);

View File

@ -0,0 +1 @@
include $(RIOTBASE)/Makefile.base

View File

@ -0,0 +1,57 @@
/*
* Copyright (C) 2020 Kaspar Schleiser <kaspar@schleiser.de>
* Freie Universität Berlin
* 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 sys
* @{
*
* @file
* @brief Module creating a dummy thread
*
* This module can be used to mess up the number of threads a bit, e.g., for
* testing test scripts.
*
* This module can be used by manually adding it to the command line when
* building, e.g.,
*
* USEMODULE+=dummy_thread make -C tests/rmutex
* make -C tests/rmutex test
*
* Note how the output of the test changes compared to a build without
* dummy_thread.
*
* @author Kaspar Schleiser <kaspar@schleiser.de>
*
* @}
*/
#include "thread.h"
static char _dummy_stack[THREAD_STACKSIZE_IDLE];
static void *_dummy_thread(void *arg)
{
(void)arg;
while (1) {
thread_sleep();
}
return NULL;
}
void dummy_thread_create(void)
{
thread_create(_dummy_stack, sizeof(_dummy_stack),
THREAD_PRIORITY_IDLE,
THREAD_CREATE_WOUT_YIELD \
| THREAD_CREATE_STACKTEST \
| THREAD_CREATE_SLEEPING,
_dummy_thread, NULL, "dummy");
}