From 7b1ee5cf13dc4f130b556534bd4c8dd78ceec6c6 Mon Sep 17 00:00:00 2001 From: Andrew Boie Date: Fri, 5 Apr 2019 15:39:50 -0700 Subject: [PATCH] tests: CONFIG_TEST_USERSPACE now off by default Unlike CONFIG_HW_STACK_PROTECTION, which greatly helps expose stack overflows in test code, activating userspace without putting threads in user mode is of very limited value. Now CONFIG_TEST_USERSPACE is off by default. Any test which puts threads in user mode will need to set CONFIG_TEST_USERSPACE. This should greatly increase sanitycheck build times as there is non-trivial build time overhead to enabling this feature. This also allows some tests which failed the build on RAM-constrained platforms to compile properly. tests/drivers/build_all is a special case; it doesn't put threads in user mode, but we want to ensure all the syscall handlers compile properly. Fixes: #15103 (and probably others) Signed-off-by: Andrew Boie --- samples/net/gptp/sample.yaml | 3 --- subsys/testsuite/Kconfig | 26 ++++++++++++++++--- tests/benchmarks/app_kernel/prj.conf | 1 - tests/benchmarks/app_kernel/prj_fp.conf | 1 - tests/benchmarks/boot_time/prj.conf | 3 --- tests/benchmarks/latency_measure/prj.conf | 2 -- .../prj_small_freq_divider.conf | 3 --- tests/benchmarks/sched/prj.conf | 1 - tests/benchmarks/sys_kernel/prj.conf | 2 -- tests/benchmarks/timing_info/prj.conf | 5 ---- .../benchmarks/timing_info/prj_userspace.conf | 1 + tests/bluetooth/init/prj_controller_dbg.conf | 2 -- .../init/prj_controller_dbg_ll_sw_split.conf | 2 -- tests/bluetooth/mesh_shell/prj.conf | 2 -- tests/bluetooth/shell/mesh.conf | 1 - tests/crypto/mbedtls/prj.conf | 1 + tests/crypto/tinycrypt_hmac_prng/prj.conf | 1 - tests/drivers/adc/adc_api/prj.conf | 1 + tests/drivers/build_all/drivers.conf | 1 + tests/drivers/build_all/ethernet.conf | 1 + tests/drivers/build_all/gpio.conf | 2 +- tests/drivers/build_all/prj.conf | 1 + tests/drivers/build_all/sensors_a_h.conf | 1 + tests/drivers/build_all/sensors_i_z.conf | 1 + .../build_all/sensors_trigger_a_h.conf | 1 + .../build_all/sensors_trigger_i_z.conf | 1 + tests/drivers/build_all/testcase.yaml | 3 --- tests/drivers/i2s/i2s_api/prj.conf | 1 + tests/kernel/common/prj.conf | 2 +- tests/kernel/fatal/prj.conf | 2 +- tests/kernel/fatal/sentinel.conf | 1 - tests/kernel/mem_protect/stackprot/prj.conf | 1 + tests/kernel/mem_protect/userspace/prj.conf | 1 + tests/kernel/msgq/msgq_api/prj.conf | 4 +-- tests/kernel/mutex/sys_mutex/prj.conf | 2 +- tests/kernel/pipe/pipe/prj.conf | 1 - tests/kernel/pipe/pipe_api/prj.conf | 1 - tests/kernel/poll/prj.conf | 2 +- tests/kernel/queue/prj.conf | 3 +-- tests/kernel/queue/prj_poll.conf | 3 +-- tests/kernel/semaphore/sema_api/prj.conf | 1 + tests/kernel/semaphore/semaphore/prj.conf | 1 - tests/kernel/stack/stack_api/prj.conf | 3 +-- tests/kernel/stack/stack_usage/prj.conf | 1 + tests/kernel/threads/dynamic_thread/prj.conf | 3 +-- .../kernel/threads/no-multithreading/prj.conf | 8 ------ tests/kernel/threads/thread_apis/prj.conf | 1 + tests/kernel/threads/thread_init/prj.conf | 1 + tests/kernel/workq/work_queue_api/prj.conf | 2 +- tests/lib/mem_alloc/prj.conf | 1 + tests/lib/mem_alloc/prj_newlib.conf | 1 + tests/net/lib/mqtt_packet/prj.conf | 2 +- tests/net/socket/getaddrinfo/prj.conf | 1 + tests/net/socket/getnameinfo/prj.conf | 1 + tests/net/socket/misc/prj.conf | 1 + tests/net/socket/select/prj.conf | 1 + tests/net/socket/tcp/prj.conf | 1 + tests/net/traffic_class/prj.conf | 4 --- tests/subsys/fs/nffs_fs_api/basic/nrf5x.conf | 1 - tests/subsys/fs/nffs_fs_api/cache/nrf5x.conf | 1 - tests/subsys/fs/nffs_fs_api/large/nrf5x.conf | 1 - 61 files changed, 58 insertions(+), 73 deletions(-) diff --git a/samples/net/gptp/sample.yaml b/samples/net/gptp/sample.yaml index c8eeea99228..e61a78458b9 100644 --- a/samples/net/gptp/sample.yaml +++ b/samples/net/gptp/sample.yaml @@ -8,6 +8,3 @@ tests: sample.net.gptp: platform_whitelist: frdm_k64f sam_e70_xplained native_posix depends_on: netif - # To avoid "Too many thread objects" error - extra_configs: - - CONFIG_USERSPACE=n diff --git a/subsys/testsuite/Kconfig b/subsys/testsuite/Kconfig index 024bcffb9fd..7429cabb4d0 100644 --- a/subsys/testsuite/Kconfig +++ b/subsys/testsuite/Kconfig @@ -58,15 +58,33 @@ config COVERAGE_GCOV endif config TEST_USERSPACE - bool "Enable userspace if available" + bool "Indicate that this test exercises user mode" + help + This option indicates that a test case puts threads in user mode, + and that the build system should enable userspace if the platform + supports it. It should be set on a per-test basis. + + The userspace APIs are no-ops if userspace is not enabled, so it is + OK to enable this even if the test will run on platforms which do + not support userspace. The test should still run on those platforms, + just with all threads in supervisor mode. + + If a test *requires* that userspace be enabled in order to + function, CONFIG_ARCH_HAS_USERSPACE should be filtered in its + testcase.yaml. + +config TEST_ENABLE_USERSPACE + bool + depends on TEST_USERSPACE depends on ARCH_HAS_USERSPACE - depends on TEST select USERSPACE select DYNAMIC_OBJECTS default y help - This option will help test the userspace mode. This can be enabled - only when CONFIG_ARCH_HAS_USERSPACE is set. + This hidden option will help test the userspace mode. This will be + enabled only when CONFIG_ARCH_HAS_USERSPACE is set, and that the test + case itself indicates that it exercises user mode via + CONFIG_TEST_HAS_USERSPACE. config TEST_HW_STACK_PROTECTION bool "Enable hardware-based stack overflow detection if available" diff --git a/tests/benchmarks/app_kernel/prj.conf b/tests/benchmarks/app_kernel/prj.conf index d27916f3205..95c251efacf 100644 --- a/tests/benchmarks/app_kernel/prj.conf +++ b/tests/benchmarks/app_kernel/prj.conf @@ -10,5 +10,4 @@ CONFIG_MAIN_THREAD_PRIORITY=6 CONFIG_FORCE_NO_ASSERT=y #Disable Userspace -CONFIG_TEST_USERSPACE=n CONFIG_TEST_HW_STACK_PROTECTION=n diff --git a/tests/benchmarks/app_kernel/prj_fp.conf b/tests/benchmarks/app_kernel/prj_fp.conf index eae7775731a..a1ca04e6200 100644 --- a/tests/benchmarks/app_kernel/prj_fp.conf +++ b/tests/benchmarks/app_kernel/prj_fp.conf @@ -15,5 +15,4 @@ CONFIG_TICKLESS_KERNEL=n CONFIG_FORCE_NO_ASSERT=y #Disable Userspace -CONFIG_TEST_USERSPACE=n CONFIG_TEST_HW_STACK_PROTECTION=n diff --git a/tests/benchmarks/boot_time/prj.conf b/tests/benchmarks/boot_time/prj.conf index 7887268e47e..cf07d815078 100644 --- a/tests/benchmarks/boot_time/prj.conf +++ b/tests/benchmarks/boot_time/prj.conf @@ -3,7 +3,4 @@ CONFIG_PERFORMANCE_METRICS=y CONFIG_BOOT_TIME_MEASUREMENT=y CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_FORCE_NO_ASSERT=y - -#Disable Userspace -CONFIG_TEST_USERSPACE=n CONFIG_TEST_HW_STACK_PROTECTION=n diff --git a/tests/benchmarks/latency_measure/prj.conf b/tests/benchmarks/latency_measure/prj.conf index 3f878b4b648..2d9b015909d 100644 --- a/tests/benchmarks/latency_measure/prj.conf +++ b/tests/benchmarks/latency_measure/prj.conf @@ -17,7 +17,5 @@ CONFIG_BT=n #CONFIG_THREAD_MONITOR=y CONFIG_FORCE_NO_ASSERT=y -#Disable Userspace -CONFIG_TEST_USERSPACE=n CONFIG_TEST_HW_STACK_PROTECTION=n CONFIG_COVERAGE=n diff --git a/tests/benchmarks/latency_measure/prj_small_freq_divider.conf b/tests/benchmarks/latency_measure/prj_small_freq_divider.conf index bd3f2dec174..0e3cb09f0b3 100644 --- a/tests/benchmarks/latency_measure/prj_small_freq_divider.conf +++ b/tests/benchmarks/latency_measure/prj_small_freq_divider.conf @@ -11,7 +11,4 @@ CONFIG_SYS_CLOCK_TICKS_PER_SEC=10 CONFIG_IRQ_OFFLOAD=y CONFIG_FORCE_NO_ASSERT=y -#Disable Userspace -CONFIG_TEST_USERSPACE=n -CONFIG_TEST_HW_STACK_PROTECTION=n CONFIG_COVERAGE=n diff --git a/tests/benchmarks/sched/prj.conf b/tests/benchmarks/sched/prj.conf index f3362e58edf..2871aaa05be 100644 --- a/tests/benchmarks/sched/prj.conf +++ b/tests/benchmarks/sched/prj.conf @@ -1,4 +1,3 @@ -CONFIG_TEST_USERSPACE=n CONFIG_NUM_PREEMPT_PRIORITIES=8 CONFIG_NUM_COOP_PRIORITIES=8 diff --git a/tests/benchmarks/sys_kernel/prj.conf b/tests/benchmarks/sys_kernel/prj.conf index 9aa1e03f3ec..05152f92438 100644 --- a/tests/benchmarks/sys_kernel/prj.conf +++ b/tests/benchmarks/sys_kernel/prj.conf @@ -9,6 +9,4 @@ CONFIG_TICKLESS_KERNEL=n CONFIG_MAIN_STACK_SIZE=16384 CONFIG_FORCE_NO_ASSERT=y -#Disable Userspace -CONFIG_TEST_USERSPACE=n CONFIG_TEST_HW_STACK_PROTECTION=n diff --git a/tests/benchmarks/timing_info/prj.conf b/tests/benchmarks/timing_info/prj.conf index a5c3f8dffd4..0bbcc5826ba 100644 --- a/tests/benchmarks/timing_info/prj.conf +++ b/tests/benchmarks/timing_info/prj.conf @@ -4,10 +4,5 @@ CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_HEAP_MEM_POOL_SIZE=256 CONFIG_MAIN_STACK_SIZE=2048 CONFIG_FORCE_NO_ASSERT=y -CONFIG_APPLICATION_DEFINED_SYSCALL=y - -#Disable Userspace -CONFIG_TEST_USERSPACE=n CONFIG_TEST_HW_STACK_PROTECTION=n - CONFIG_SMP=n diff --git a/tests/benchmarks/timing_info/prj_userspace.conf b/tests/benchmarks/timing_info/prj_userspace.conf index 127df73a91f..2ac72756836 100644 --- a/tests/benchmarks/timing_info/prj_userspace.conf +++ b/tests/benchmarks/timing_info/prj_userspace.conf @@ -5,3 +5,4 @@ CONFIG_HEAP_MEM_POOL_SIZE=256 CONFIG_MAIN_STACK_SIZE=2048 CONFIG_FORCE_NO_ASSERT=y CONFIG_APPLICATION_DEFINED_SYSCALL=y +CONFIG_TEST_USERSPACE=y diff --git a/tests/bluetooth/init/prj_controller_dbg.conf b/tests/bluetooth/init/prj_controller_dbg.conf index 6db4a938423..e385a79817c 100644 --- a/tests/bluetooth/init/prj_controller_dbg.conf +++ b/tests/bluetooth/init/prj_controller_dbg.conf @@ -58,5 +58,3 @@ CONFIG_DEBUG=y CONFIG_FLASH=y CONFIG_SOC_FLASH_NRF_RADIO_SYNC=n CONFIG_ZTEST=y -# FIXME see #7704 -CONFIG_TEST_USERSPACE=n diff --git a/tests/bluetooth/init/prj_controller_dbg_ll_sw_split.conf b/tests/bluetooth/init/prj_controller_dbg_ll_sw_split.conf index d4ef01e4b68..d95e0b0e89c 100644 --- a/tests/bluetooth/init/prj_controller_dbg_ll_sw_split.conf +++ b/tests/bluetooth/init/prj_controller_dbg_ll_sw_split.conf @@ -59,5 +59,3 @@ CONFIG_DEBUG=y CONFIG_FLASH=y CONFIG_SOC_FLASH_NRF_RADIO_SYNC=n CONFIG_ZTEST=y -# FIXME see #7704 -CONFIG_TEST_USERSPACE=n diff --git a/tests/bluetooth/mesh_shell/prj.conf b/tests/bluetooth/mesh_shell/prj.conf index ea67e73a600..58e45cd0d14 100644 --- a/tests/bluetooth/mesh_shell/prj.conf +++ b/tests/bluetooth/mesh_shell/prj.conf @@ -1,7 +1,5 @@ CONFIG_TEST=y #CONFIG_INIT_STACKS=y -CONFIG_TEST_USERSPACE=n -CONFIG_USERSPACE=n CONFIG_MAIN_STACK_SIZE=448 CONFIG_ISR_STACK_SIZE=1024 CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 diff --git a/tests/bluetooth/shell/mesh.conf b/tests/bluetooth/shell/mesh.conf index 20e3a1387ab..937d47f60dd 100644 --- a/tests/bluetooth/shell/mesh.conf +++ b/tests/bluetooth/shell/mesh.conf @@ -1,5 +1,4 @@ CONFIG_TEST=y -CONFIG_USERSPACE=n #CONFIG_INIT_STACKS=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 diff --git a/tests/crypto/mbedtls/prj.conf b/tests/crypto/mbedtls/prj.conf index f0c0304ae58..ed8ee981643 100644 --- a/tests/crypto/mbedtls/prj.conf +++ b/tests/crypto/mbedtls/prj.conf @@ -4,3 +4,4 @@ CONFIG_MBEDTLS_BUILTIN=y CONFIG_MBEDTLS_CFG_FILE="config-tls-generic.h" CONFIG_MBEDTLS_TEST=y CONFIG_ZTEST=y +CONFIG_TEST_USERSPACE=y diff --git a/tests/crypto/tinycrypt_hmac_prng/prj.conf b/tests/crypto/tinycrypt_hmac_prng/prj.conf index 9c09e2e68d2..0830938dc3d 100644 --- a/tests/crypto/tinycrypt_hmac_prng/prj.conf +++ b/tests/crypto/tinycrypt_hmac_prng/prj.conf @@ -4,4 +4,3 @@ CONFIG_TINYCRYPT_SHA256=y CONFIG_TINYCRYPT_SHA256_HMAC=y CONFIG_TINYCRYPT_SHA256_HMAC_PRNG=y CONFIG_ZTEST=y -CONFIG_TEST_USERSPACE=n diff --git a/tests/drivers/adc/adc_api/prj.conf b/tests/drivers/adc/adc_api/prj.conf index c9761e8bbc1..c307b998b93 100644 --- a/tests/drivers/adc/adc_api/prj.conf +++ b/tests/drivers/adc/adc_api/prj.conf @@ -7,3 +7,4 @@ CONFIG_LOG=y CONFIG_ADC_LOG_LEVEL_INF=y CONFIG_LOG_IMMEDIATE=y CONFIG_HEAP_MEM_POOL_SIZE=1024 +CONFIG_TEST_USERSPACE=y diff --git a/tests/drivers/build_all/drivers.conf b/tests/drivers/build_all/drivers.conf index 5706f0bc607..2e271d7c005 100644 --- a/tests/drivers/build_all/drivers.conf +++ b/tests/drivers/build_all/drivers.conf @@ -11,3 +11,4 @@ CONFIG_SERIAL=y CONFIG_SPI=y CONFIG_WATCHDOG=y CONFIG_X86_KERNEL_OOPS=n +CONFIG_TEST_USERSPACE=y diff --git a/tests/drivers/build_all/ethernet.conf b/tests/drivers/build_all/ethernet.conf index 6e04409aff8..2849f8e4dfe 100644 --- a/tests/drivers/build_all/ethernet.conf +++ b/tests/drivers/build_all/ethernet.conf @@ -4,6 +4,7 @@ CONFIG_NETWORKING=y CONFIG_NET_L2_ETHERNET=y CONFIG_ENTROPY_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y +CONFIG_TEST_USERSPACE=y # No board will enable the generic SPI hosted enc28j60 driver by # default, force it on: diff --git a/tests/drivers/build_all/gpio.conf b/tests/drivers/build_all/gpio.conf index bedaf7e2145..dfb1ed6861c 100644 --- a/tests/drivers/build_all/gpio.conf +++ b/tests/drivers/build_all/gpio.conf @@ -1,5 +1,5 @@ CONFIG_TEST=y CONFIG_GPIO=y - +CONFIG_TEST_USERSPACE=y CONFIG_I2C=y CONFIG_GPIO_SX1509B=y diff --git a/tests/drivers/build_all/prj.conf b/tests/drivers/build_all/prj.conf index e1faee53e19..901353030a1 100644 --- a/tests/drivers/build_all/prj.conf +++ b/tests/drivers/build_all/prj.conf @@ -1 +1,2 @@ CONFIG_TEST=y +CONFIG_TEST_USERSPACE=y diff --git a/tests/drivers/build_all/sensors_a_h.conf b/tests/drivers/build_all/sensors_a_h.conf index a5fdf220422..e0a98d843c5 100644 --- a/tests/drivers/build_all/sensors_a_h.conf +++ b/tests/drivers/build_all/sensors_a_h.conf @@ -5,6 +5,7 @@ CONFIG_SENSOR=y CONFIG_SPI=y CONFIG_LOG=y CONFIG_SENSOR_LOG_LEVEL_DBG=y +CONFIG_TEST_USERSPACE=y # Some sensor drivers (notably HP206C) demand high tick rates: CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000 diff --git a/tests/drivers/build_all/sensors_i_z.conf b/tests/drivers/build_all/sensors_i_z.conf index 772f0848be6..2ca339c2e91 100644 --- a/tests/drivers/build_all/sensors_i_z.conf +++ b/tests/drivers/build_all/sensors_i_z.conf @@ -1,4 +1,5 @@ CONFIG_TEST=y +CONFIG_TEST_USERSPACE=y CONFIG_GPIO=y CONFIG_I2C=y CONFIG_SENSOR=y diff --git a/tests/drivers/build_all/sensors_trigger_a_h.conf b/tests/drivers/build_all/sensors_trigger_a_h.conf index 85920b02873..12ad43b2fed 100644 --- a/tests/drivers/build_all/sensors_trigger_a_h.conf +++ b/tests/drivers/build_all/sensors_trigger_a_h.conf @@ -1,4 +1,5 @@ CONFIG_TEST=y +CONFIG_TEST_USERSPACE=y CONFIG_I2C=y CONFIG_ADC=y CONFIG_GPIO=y diff --git a/tests/drivers/build_all/sensors_trigger_i_z.conf b/tests/drivers/build_all/sensors_trigger_i_z.conf index 9acd7726fb1..bacd8de8ab3 100644 --- a/tests/drivers/build_all/sensors_trigger_i_z.conf +++ b/tests/drivers/build_all/sensors_trigger_i_z.conf @@ -1,4 +1,5 @@ CONFIG_TEST=y +CONFIG_TEST_USERSPACE=y CONFIG_I2C=y CONFIG_ADC=y CONFIG_GPIO=y diff --git a/tests/drivers/build_all/testcase.yaml b/tests/drivers/build_all/testcase.yaml index 864a49f7285..569c0c8d70f 100644 --- a/tests/drivers/build_all/testcase.yaml +++ b/tests/drivers/build_all/testcase.yaml @@ -36,9 +36,6 @@ tests: platform_exclude: frdm_kw41z tags: drivers footprint depends_on: adc spi - # FIXME see #7703 - extra_configs: - - CONFIG_TEST_USERSPACE=n test_build_sensors_i_z: build_only: true extra_args: CONF_FILE=sensors_i_z.conf diff --git a/tests/drivers/i2s/i2s_api/prj.conf b/tests/drivers/i2s/i2s_api/prj.conf index 99ff252406a..7c088b1ffe4 100644 --- a/tests/drivers/i2s/i2s_api/prj.conf +++ b/tests/drivers/i2s/i2s_api/prj.conf @@ -1,2 +1,3 @@ CONFIG_I2S=y CONFIG_ZTEST=y +CONFIG_TEST_USERSPACE=y diff --git a/tests/kernel/common/prj.conf b/tests/kernel/common/prj.conf index 08ce44e5467..cb439592d00 100644 --- a/tests/kernel/common/prj.conf +++ b/tests/kernel/common/prj.conf @@ -5,5 +5,5 @@ CONFIG_POLL=y CONFIG_QEMU_TICKLESS_WORKAROUND=y CONFIG_BOOT_DELAY=500 CONFIG_IRQ_OFFLOAD=y - +CONFIG_TEST_USERSPACE=y CONFIG_SMP=n diff --git a/tests/kernel/fatal/prj.conf b/tests/kernel/fatal/prj.conf index f177ccfa001..acc932d71dc 100644 --- a/tests/kernel/fatal/prj.conf +++ b/tests/kernel/fatal/prj.conf @@ -1,5 +1,5 @@ CONFIG_HW_STACK_PROTECTION=y CONFIG_ZTEST=y CONFIG_COVERAGE=n - +CONFIG_TEST_USERSPACE=y CONFIG_SMP=n diff --git a/tests/kernel/fatal/sentinel.conf b/tests/kernel/fatal/sentinel.conf index d3aa220596d..bb2c1a2ff61 100644 --- a/tests/kernel/fatal/sentinel.conf +++ b/tests/kernel/fatal/sentinel.conf @@ -1,6 +1,5 @@ CONFIG_STACK_SENTINEL=y CONFIG_TEST_HW_STACK_PROTECTION=n -CONFIG_TEST_USERSPACE=n CONFIG_ZTEST=y CONFIG_COVERAGE=n CONFIG_SMP=n diff --git a/tests/kernel/mem_protect/stackprot/prj.conf b/tests/kernel/mem_protect/stackprot/prj.conf index d325775f157..e49577e1cb1 100644 --- a/tests/kernel/mem_protect/stackprot/prj.conf +++ b/tests/kernel/mem_protect/stackprot/prj.conf @@ -4,3 +4,4 @@ CONFIG_ENTROPY_GENERATOR=y CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_MAIN_THREAD_PRIORITY=7 CONFIG_MAIN_STACK_SIZE=640 +CONFIG_TEST_USERSPACE=y diff --git a/tests/kernel/mem_protect/userspace/prj.conf b/tests/kernel/mem_protect/userspace/prj.conf index 290785d867e..1ec41b68d11 100644 --- a/tests/kernel/mem_protect/userspace/prj.conf +++ b/tests/kernel/mem_protect/userspace/prj.conf @@ -2,3 +2,4 @@ CONFIG_ZTEST=y CONFIG_INIT_STACKS=y CONFIG_APPLICATION_DEFINED_SYSCALL=y CONFIG_THREAD_USERSPACE_LOCAL_DATA=y +CONFIG_TEST_USERSPACE=y diff --git a/tests/kernel/msgq/msgq_api/prj.conf b/tests/kernel/msgq/msgq_api/prj.conf index 24ec6ef7e44..eeb8af54efd 100644 --- a/tests/kernel/msgq/msgq_api/prj.conf +++ b/tests/kernel/msgq/msgq_api/prj.conf @@ -1,6 +1,4 @@ CONFIG_ZTEST=y CONFIG_IRQ_OFFLOAD=y -CONFIG_USERSPACE=y -CONFIG_DYNAMIC_OBJECTS=y - +CONFIG_TEST_USERSPACE=y CONFIG_SMP=n diff --git a/tests/kernel/mutex/sys_mutex/prj.conf b/tests/kernel/mutex/sys_mutex/prj.conf index b6f27e8fa94..94733f7c65f 100644 --- a/tests/kernel/mutex/sys_mutex/prj.conf +++ b/tests/kernel/mutex/sys_mutex/prj.conf @@ -1,5 +1,5 @@ CONFIG_MAIN_THREAD_PRIORITY=10 CONFIG_ZTEST=y CONFIG_ZTEST_STACKSIZE=512 - +CONFIG_TEST_USERSPACE=y CONFIG_SMP=n diff --git a/tests/kernel/pipe/pipe/prj.conf b/tests/kernel/pipe/pipe/prj.conf index 21f3474dd9a..390173dc4a5 100644 --- a/tests/kernel/pipe/pipe/prj.conf +++ b/tests/kernel/pipe/pipe/prj.conf @@ -1,4 +1,3 @@ CONFIG_ZTEST=y CONFIG_TEST_USERSPACE=y - CONFIG_SMP=n diff --git a/tests/kernel/pipe/pipe_api/prj.conf b/tests/kernel/pipe/pipe_api/prj.conf index 6da5a62cc24..822b7dc8a51 100644 --- a/tests/kernel/pipe/pipe_api/prj.conf +++ b/tests/kernel/pipe/pipe_api/prj.conf @@ -2,5 +2,4 @@ CONFIG_ZTEST=y CONFIG_IRQ_OFFLOAD=y CONFIG_TEST_USERSPACE=y CONFIG_DYNAMIC_OBJECTS=y - CONFIG_SMP=n diff --git a/tests/kernel/poll/prj.conf b/tests/kernel/poll/prj.conf index a28ebedf277..9282d449ea0 100644 --- a/tests/kernel/poll/prj.conf +++ b/tests/kernel/poll/prj.conf @@ -1,5 +1,5 @@ CONFIG_ZTEST=y CONFIG_POLL=y CONFIG_DYNAMIC_OBJECTS=y - +CONFIG_TEST_USERSPACE=y CONFIG_SMP=n diff --git a/tests/kernel/queue/prj.conf b/tests/kernel/queue/prj.conf index d1ed30f1b41..6349c6a6b27 100644 --- a/tests/kernel/queue/prj.conf +++ b/tests/kernel/queue/prj.conf @@ -1,5 +1,4 @@ CONFIG_ZTEST=y CONFIG_IRQ_OFFLOAD=y -CONFIG_USERSPACE=y -CONFIG_DYNAMIC_OBJECTS=y CONFIG_SMP=n +CONFIG_TEST_USERSPACE=y diff --git a/tests/kernel/queue/prj_poll.conf b/tests/kernel/queue/prj_poll.conf index eacbf000b13..ddb501245d5 100644 --- a/tests/kernel/queue/prj_poll.conf +++ b/tests/kernel/queue/prj_poll.conf @@ -1,6 +1,5 @@ CONFIG_ZTEST=y CONFIG_IRQ_OFFLOAD=y CONFIG_POLL=y -CONFIG_USERSPACE=y -CONFIG_DYNAMIC_OBJECTS=y +CONFIG_TEST_USERSPACE=y CONFIG_SMP=n diff --git a/tests/kernel/semaphore/sema_api/prj.conf b/tests/kernel/semaphore/sema_api/prj.conf index 112164b7744..6349c6a6b27 100644 --- a/tests/kernel/semaphore/sema_api/prj.conf +++ b/tests/kernel/semaphore/sema_api/prj.conf @@ -1,3 +1,4 @@ CONFIG_ZTEST=y CONFIG_IRQ_OFFLOAD=y CONFIG_SMP=n +CONFIG_TEST_USERSPACE=y diff --git a/tests/kernel/semaphore/semaphore/prj.conf b/tests/kernel/semaphore/semaphore/prj.conf index 05500734ace..eeb8af54efd 100644 --- a/tests/kernel/semaphore/semaphore/prj.conf +++ b/tests/kernel/semaphore/semaphore/prj.conf @@ -1,5 +1,4 @@ CONFIG_ZTEST=y CONFIG_IRQ_OFFLOAD=y CONFIG_TEST_USERSPACE=y - CONFIG_SMP=n diff --git a/tests/kernel/stack/stack_api/prj.conf b/tests/kernel/stack/stack_api/prj.conf index d1ed30f1b41..eeb8af54efd 100644 --- a/tests/kernel/stack/stack_api/prj.conf +++ b/tests/kernel/stack/stack_api/prj.conf @@ -1,5 +1,4 @@ CONFIG_ZTEST=y CONFIG_IRQ_OFFLOAD=y -CONFIG_USERSPACE=y -CONFIG_DYNAMIC_OBJECTS=y +CONFIG_TEST_USERSPACE=y CONFIG_SMP=n diff --git a/tests/kernel/stack/stack_usage/prj.conf b/tests/kernel/stack/stack_usage/prj.conf index 112164b7744..6349c6a6b27 100644 --- a/tests/kernel/stack/stack_usage/prj.conf +++ b/tests/kernel/stack/stack_usage/prj.conf @@ -1,3 +1,4 @@ CONFIG_ZTEST=y CONFIG_IRQ_OFFLOAD=y CONFIG_SMP=n +CONFIG_TEST_USERSPACE=y diff --git a/tests/kernel/threads/dynamic_thread/prj.conf b/tests/kernel/threads/dynamic_thread/prj.conf index ce38e8f1459..07cda4ba9d3 100644 --- a/tests/kernel/threads/dynamic_thread/prj.conf +++ b/tests/kernel/threads/dynamic_thread/prj.conf @@ -1,4 +1,3 @@ CONFIG_ZTEST=y -CONFIG_USERSPACE=y -CONFIG_DYNAMIC_OBJECTS=y +CONFIG_TEST_USERSPACE=y CONFIG_HEAP_MEM_POOL_SIZE=2048 diff --git a/tests/kernel/threads/no-multithreading/prj.conf b/tests/kernel/threads/no-multithreading/prj.conf index 6e1dbf9c4be..030c9730b8c 100644 --- a/tests/kernel/threads/no-multithreading/prj.conf +++ b/tests/kernel/threads/no-multithreading/prj.conf @@ -2,11 +2,3 @@ CONFIG_ZTEST=y CONFIG_MULTITHREADING=n CONFIG_BT=n CONFIG_USB=n - -# Running without multithreading implies the lack of MMU support. -# Setting CONFIG_USERSPACE=n alone is not enough to disable userspace. -# The TEST_USERSPACE symbol (designed to enable userspace by default -# on tests platforms that support it) defaults to =y and will -# automatically select it back. -CONFIG_TEST_USERSPACE=n -CONFIG_USERSPACE=n diff --git a/tests/kernel/threads/thread_apis/prj.conf b/tests/kernel/threads/thread_apis/prj.conf index b3b563fa271..fdfccad3f38 100644 --- a/tests/kernel/threads/thread_apis/prj.conf +++ b/tests/kernel/threads/thread_apis/prj.conf @@ -6,3 +6,4 @@ CONFIG_THREAD_STACK_INFO=y CONFIG_HEAP_MEM_POOL_SIZE=256 CONFIG_SCHED_CPU_MASK=y CONFIG_SMP=n +CONFIG_TEST_USERSPACE=y diff --git a/tests/kernel/threads/thread_init/prj.conf b/tests/kernel/threads/thread_init/prj.conf index 9467c292689..e39776e7067 100644 --- a/tests/kernel/threads/thread_init/prj.conf +++ b/tests/kernel/threads/thread_init/prj.conf @@ -1 +1,2 @@ CONFIG_ZTEST=y +CONFIG_TEST_USERSPACE=y diff --git a/tests/kernel/workq/work_queue_api/prj.conf b/tests/kernel/workq/work_queue_api/prj.conf index 88a73baf4ce..95c517fee42 100644 --- a/tests/kernel/workq/work_queue_api/prj.conf +++ b/tests/kernel/workq/work_queue_api/prj.conf @@ -2,5 +2,5 @@ CONFIG_ZTEST=y CONFIG_IRQ_OFFLOAD=y CONFIG_HEAP_MEM_POOL_SIZE=1024 CONFIG_THREAD_NAME=y - +CONFIG_TEST_USERSPACE=y CONFIG_SMP=n diff --git a/tests/lib/mem_alloc/prj.conf b/tests/lib/mem_alloc/prj.conf index 76d0e805fad..87969fc03ff 100644 --- a/tests/lib/mem_alloc/prj.conf +++ b/tests/lib/mem_alloc/prj.conf @@ -1,2 +1,3 @@ CONFIG_ZTEST=y CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=2048 +CONFIG_TEST_USERSPACE=y diff --git a/tests/lib/mem_alloc/prj_newlib.conf b/tests/lib/mem_alloc/prj_newlib.conf index 91f4ca40561..24fa6a94200 100644 --- a/tests/lib/mem_alloc/prj_newlib.conf +++ b/tests/lib/mem_alloc/prj_newlib.conf @@ -2,3 +2,4 @@ CONFIG_ZTEST=y CONFIG_NEWLIB_LIBC=y CONFIG_MAIN_STACK_SIZE=1024 CONFIG_NEWLIB_LIBC_ALIGNED_HEAP_SIZE=512 +CONFIG_TEST_USERSPACE=y diff --git a/tests/net/lib/mqtt_packet/prj.conf b/tests/net/lib/mqtt_packet/prj.conf index c8e75648481..1c4a907a155 100644 --- a/tests/net/lib/mqtt_packet/prj.conf +++ b/tests/net/lib/mqtt_packet/prj.conf @@ -9,5 +9,5 @@ CONFIG_TEST_RANDOM_GENERATOR=y # enable the MQTT lib CONFIG_MQTT_LIB=y CONFIG_ZTEST=y - +CONFIG_TEST_USERSPACE=y CONFIG_MAIN_STACK_SIZE=1280 diff --git a/tests/net/socket/getaddrinfo/prj.conf b/tests/net/socket/getaddrinfo/prj.conf index d529146183e..4a1c4ed6440 100644 --- a/tests/net/socket/getaddrinfo/prj.conf +++ b/tests/net/socket/getaddrinfo/prj.conf @@ -30,4 +30,5 @@ CONFIG_MAIN_STACK_SIZE=2048 CONFIG_ZTEST=y # User mode requirements +CONFIG_TEST_USERSPACE=y CONFIG_HEAP_MEM_POOL_SIZE=128 diff --git a/tests/net/socket/getnameinfo/prj.conf b/tests/net/socket/getnameinfo/prj.conf index d529146183e..4a1c4ed6440 100644 --- a/tests/net/socket/getnameinfo/prj.conf +++ b/tests/net/socket/getnameinfo/prj.conf @@ -30,4 +30,5 @@ CONFIG_MAIN_STACK_SIZE=2048 CONFIG_ZTEST=y # User mode requirements +CONFIG_TEST_USERSPACE=y CONFIG_HEAP_MEM_POOL_SIZE=128 diff --git a/tests/net/socket/misc/prj.conf b/tests/net/socket/misc/prj.conf index 98700fa762a..cd4831e5eac 100644 --- a/tests/net/socket/misc/prj.conf +++ b/tests/net/socket/misc/prj.conf @@ -25,4 +25,5 @@ CONFIG_MAIN_STACK_SIZE=2048 CONFIG_ZTEST=y # User mode requirements +CONFIG_TEST_USERSPACE=y CONFIG_HEAP_MEM_POOL_SIZE=128 diff --git a/tests/net/socket/select/prj.conf b/tests/net/socket/select/prj.conf index 17f9ee40874..b600de000ff 100644 --- a/tests/net/socket/select/prj.conf +++ b/tests/net/socket/select/prj.conf @@ -24,6 +24,7 @@ CONFIG_MAIN_STACK_SIZE=2048 CONFIG_ZTEST=y # User mode requirements +CONFIG_TEST_USERSPACE=y CONFIG_HEAP_MEM_POOL_SIZE=128 CONFIG_QEMU_TICKLESS_WORKAROUND=y diff --git a/tests/net/socket/tcp/prj.conf b/tests/net/socket/tcp/prj.conf index 0a4852d21bd..0a62fcb432d 100644 --- a/tests/net/socket/tcp/prj.conf +++ b/tests/net/socket/tcp/prj.conf @@ -25,6 +25,7 @@ CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.0.2.1" CONFIG_NET_CONFIG_MY_IPV6_ADDR="2001:db8::1" CONFIG_MAIN_STACK_SIZE=2048 +CONFIG_TEST_USERSPACE=y # The test requires lot of bufs CONFIG_NET_PKT_TX_COUNT=24 diff --git a/tests/net/traffic_class/prj.conf b/tests/net/traffic_class/prj.conf index e1ebeabd308..2e062022894 100644 --- a/tests/net/traffic_class/prj.conf +++ b/tests/net/traffic_class/prj.conf @@ -30,7 +30,3 @@ CONFIG_NET_TC_RX_COUNT=8 CONFIG_ZTEST=y CONFIG_NET_CONFIG_SETTINGS=n CONFIG_NET_SHELL=n - -# We run out of CONFIG_MAX_THREAD_BYTES in qemu. Instead of increasing that -# value, just disable user space. -CONFIG_USERSPACE=n diff --git a/tests/subsys/fs/nffs_fs_api/basic/nrf5x.conf b/tests/subsys/fs/nffs_fs_api/basic/nrf5x.conf index 20ad0c16825..311d49c0088 100644 --- a/tests/subsys/fs/nffs_fs_api/basic/nrf5x.conf +++ b/tests/subsys/fs/nffs_fs_api/basic/nrf5x.conf @@ -2,7 +2,6 @@ CONFIG_ZTEST=y CONFIG_ZTEST_STACKSIZE=2048 CONFIG_MAIN_STACK_SIZE=1024 CONFIG_HEAP_MEM_POOL_SIZE=1024 -CONFIG_TEST_USERSPACE=n CONFIG_FLASH=y CONFIG_SOC_FLASH_NRF_RADIO_SYNC=y diff --git a/tests/subsys/fs/nffs_fs_api/cache/nrf5x.conf b/tests/subsys/fs/nffs_fs_api/cache/nrf5x.conf index 20ad0c16825..311d49c0088 100644 --- a/tests/subsys/fs/nffs_fs_api/cache/nrf5x.conf +++ b/tests/subsys/fs/nffs_fs_api/cache/nrf5x.conf @@ -2,7 +2,6 @@ CONFIG_ZTEST=y CONFIG_ZTEST_STACKSIZE=2048 CONFIG_MAIN_STACK_SIZE=1024 CONFIG_HEAP_MEM_POOL_SIZE=1024 -CONFIG_TEST_USERSPACE=n CONFIG_FLASH=y CONFIG_SOC_FLASH_NRF_RADIO_SYNC=y diff --git a/tests/subsys/fs/nffs_fs_api/large/nrf5x.conf b/tests/subsys/fs/nffs_fs_api/large/nrf5x.conf index 6dc6e33e409..0900b617f23 100644 --- a/tests/subsys/fs/nffs_fs_api/large/nrf5x.conf +++ b/tests/subsys/fs/nffs_fs_api/large/nrf5x.conf @@ -2,7 +2,6 @@ CONFIG_ZTEST=y CONFIG_ZTEST_STACKSIZE=2048 CONFIG_MAIN_STACK_SIZE=1024 CONFIG_HEAP_MEM_POOL_SIZE=1024 -CONFIG_TEST_USERSPACE=n CONFIG_FLASH=y CONFIG_BT=n