Merge pull request #14227 from kaspar030/dummy_thread

sys/test_utils/dummy_thread: initial commit
This commit is contained in:
Koen Zandberg 2020-06-09 17:34:50 +02:00 committed by GitHub
commit 85a385e6d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 68 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");
}

View File

@ -10,4 +10,7 @@ CFLAGS += -DSHELL_NO_ECHO=1 -DSHELL_NO_PROMPT=1
# synchronizes by itself through `shellping` command.
DISABLE_MODULE += test_utils_interactive_sync
# include sys/test_utils/dummy_thread
USEMODULE += dummy_thread
include $(RIOTBASE)/Makefile.include