zephyr/tests/legacy/kernel/test_stackprot/microkernel
Marcus Shawcroft 954baea90b random: Restructure RANDOM Kconfig
Restructure the RANDOM Kconfig to match the structure used in other
drivers with a single top level menu.  Move the true random number
generators to appear first in the menu, with pseudo generators at the
bottom.  Do not present pseudo generators if a true random generator
is presented.

This change implies that tests, samples and applications that require
the random driver interface must now select CONFIG_RANDOM_GENERATOR.

In order for tests and samples to build (and run) on platforms that
have no random driver it remains necessary to select
the CONFIG_TEST_RANDOM_GENERATOR.

Note that CONFIG_TEST_RANDOM_GENERATOR retains its original purpose of
enabling a random driver that delivers non random numbers for the
purpose of testing only.

Change-Id: I2e28e44b4adf800e64a885aefe36a52da8aa455a
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
2016-12-13 22:50:18 +00:00
..
src tests: move kernel tests to tests/legacy 2016-11-01 13:42:17 -04:00
Makefile samples: tests: remove obsolete KERNEL_TYPE and kernel variables 2016-11-04 15:47:25 -04:00
prj.conf random: Restructure RANDOM Kconfig 2016-12-13 22:50:18 +00:00
prj.mdef tests: move kernel tests to tests/legacy 2016-11-01 13:42:17 -04:00
README.txt tests: move kernel tests to tests/legacy 2016-11-01 13:42:17 -04:00
testcase.ini samples: tests: tag all legacy test cases and samples 2016-11-30 21:45:22 +00:00

Title: Stack Protection Support

Description:

This test verifies that stack canaries operate as expected in the microkernel.

--------------------------------------------------------------------------------

Building and Running Project:

This microkernel project outputs to the console.  It can be built and executed
on QEMU as follows:

    make qemu

--------------------------------------------------------------------------------

Troubleshooting:

Problems caused by out-dated project information can be addressed by
issuing one of the following commands then rebuilding the project:

    make clean          # discard results of previous builds
                        # but keep existing configuration info
or
    make pristine       # discard results of previous builds
                        # and restore pre-defined configuration info

--------------------------------------------------------------------------------

Sample Output:

tc_start() - Test Stack Protection Canary

Starts RegressionTask
Starts AlternateTask
AlternateTask: Input string is too long and stack overflowed!

***** Stack Check Fail! *****
Current context ID = 0x00102804
Faulting instruction address = 0xdeaddead
Fatal task error! Aborting task.
RegressionTask: Stack ok
RegressionTask: Stack ok
RegressionTask: Stack ok
RegressionTask: Stack ok
RegressionTask: Stack ok
RegressionTask: Stack ok
===================================================================
PASS - RegressionTask.
===================================================================
PROJECT EXECUTION SUCCESSFUL