# Let stack canaries use non-random number generator.
# This option is NOT to be used in production code.

CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_NANO_TIMEOUTS=y
CONFIG_ASSERT=y
CONFIG_ASSERT_LEVEL=2
CONFIG_IRQ_OFFLOAD=y
