# Copyright (c) 2023, Meta
#
# SPDX-License-Identifier: Apache-2.0

source "Kconfig.zephyr"

config TEST_NUM_CPUS
	int "Number of CPUs to use in parallel"
	range 1 MP_NUM_CPUS
	default MP_NUM_CPUS
	help
	  The number of parallel threads to run during the test.

config TEST_DURATION_S
	int "Number of seconds to run the test"
	default 5
	help
	   Duration for the test, in seconds.

config TEST_DELAY_US
	int "Microseconds to delay between pthread join and create"
	default 0
	help
	  If there is a race condition, a value of zero here should
	  cause a crash.

config TEST_STACK_SIZE
	int "Size of each thread stack in this test"
	default 512 if !64_BIT
	default 1024 if 64_BIT
	help
	  The minimal stack size required to run a minimal thread.

config TEST_KTHREADS
	bool "Test k_threads"
	default y
	help
	  Run tests for k_threads

config TEST_PTHREADS
	bool "Test pthreads"
	default y
	help
	  Run tests for pthreads

config TEST_EXTRA_ASSERTIONS
	bool "Add extra assertions into the hot path"
	default y
	help
	  This can be disabled for benchmarking.
