David Sidrane 6d9010f47e [BACKPORT] ostest:priority_inheritance Added priority restoration test | 2 年之前 | |
---|---|---|
.. | ||
cxxtest | 3 年之前 | |
fatutf8 | 3 年之前 | |
fstest | 3 年之前 | |
getprime | 3 年之前 | |
irtest | 3 年之前 | |
ltp | 3 年之前 | |
mm | 3 年之前 | |
nxffs | 3 年之前 | |
ostest | 2 年之前 | |
scanftest | 3 年之前 | |
sensortest | 3 年之前 | |
smart | 3 年之前 | |
smart_test | 3 年之前 | |
smp | 3 年之前 | |
unity | 3 年之前 | |
.gitignore | 4 年之前 | |
Make.defs | 3 年之前 | |
Makefile | 3 年之前 | |
README.md | 4 年之前 |
The apps/testing
directory is used to build NuttX-specific tests and to
include external testing frameworks.
There is overlap between what you will find in apps/examples
and
apps/testing
in the sense that there are also tests in apps/examples
as
well. Those tests, however, can also be used to illustrate usage of a NuttX
feature. Most of the tests in apps/testing
, on the other hand, are pure tests
with little value as usage examples.
cxxtest
This is a test of the C++ standard library. At present a port of the uClibc++
C++ library is available. Due to licensing issues, the uClibc++ C++ library is
not included in the NuttX source tree by default, but must be installed (see the
README.txt
file in the uClibc++ download package for installation).
The uClibc++ test includes simple test of:
CONFIG_TESTING_CXXTEST=y
– Eanbles the exampleOther NuttX setting that are required include:
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_UCLIBCXX=y
or CONFIG_LIBCXX=y
Additional uClibc++/libcxx settings may be required in your build environment.
fstest
This is a generic file system test that derives from testing/nxffs
. It was
created to test the tmpfs file system, but should work with any file system
provided that all initialization has already been performed prior to starting
the test.
This test a a general test for any file system, but includes some specific hooks for the SPIFFS file system.
CONFIG_TESTING_FSTEST
– Enable the file system example.CONFIG_TESTING_FSTEST_MAXNAME
– Determines the maximum size of names used in
the filesystem.CONFIG_TESTING_FSTEST_MAXFILE
– Determines the maximum size of a file.CONFIG_TESTING_FSTEST_MAXIO
– Max I/O, default 347
.CONFIG_TESTING_FSTEST_MAXOPEN
– Max open files.CONFIG_TESTING_FSTEST_MOUNTPT
– Path where the file system is mounted.CONFIG_TESTING_FSTEST_NLOOPS
– Number of test loops. default 100
.CONFIG_TESTING_FSTEST_VERBOSE
– Verbose output.mm
This is a simple test of the memory manager.
nxffs
This is a test of the NuttX NXFFS FLASH file system. This is an NXFFS stress test and beats on the file system very hard. It should only be used in a simulation environment! Putting this NXFFS test on real hardware will most likely destroy your FLASH. You have been warned.
ostest
This is the NuttX qualification suite. It attempts to exercise a broad set of OS functionality. Its coverage is not very extensive as of this writing, but it is used to qualify each NuttX release.
The behavior of the ostest
can be modified with the following settings in the
boards/<arch>/<chip>/<board>/configs/<config>/defconfig
file:
CONFIG_NSH_BUILTIN_APPS
– Build the OS test example as an NSH built-in
application.CONFIG_TESTING_OSTEST_LOOPS
– Used to control the number of executions of
the test. If undefined, the test executes one time. If defined to be zero,
the test runs forever.
CONFIG_TESTING_OSTEST_STACKSIZE
– Used to create the ostest task. Default is
8192
.
CONFIG_TESTING_OSTEST_NBARRIER_THREADS
– Specifies the number of threads to
create in the barrier test. The default is 8 but a smaller number may be
needed on systems without sufficient memory to start so many threads.
CONFIG_TESTING_OSTEST_RR_RANGE
– During round-robin scheduling test two
threads are created. Each of the threads searches for prime numbers in the
configurable range, doing that configurable number of times. This value
specifies the end of search range and together with number of runs allows to
configure the length of this test – it should last at least a few tens of
seconds. Allowed values [1; 32767]
, default 10000
.
CONFIG_TESTING_OSTEST_RR_RUNS
– During round-robin scheduling test two
threads are created. Each of the threads searches for prime numbers in the
configurable range, doing that configurable number of times.
smart
SMART File SystemThis is a test of the SMART file system that derives from testing/nxffs
.
CONFIG_TESTING_SMART
– Enable the SMART file system example.
CONFIG_TESTING_SMART_ARCHINIT
– The default is to use the RAM MTD device at
drivers/mtd/rammtd.c
. But an architecture-specific MTD driver can be used
instead by defining CONFIG_TESTING_SMART_ARCHINIT
. In this case, the
initialization logic will call smart_archinitialize()
to obtain the MTD
driver instance.
CONFIG_TESTING_SMART_NEBLOCKS
– When CONFIG_TESTING_SMART_ARCHINIT
is not
defined, this test will use the RAM MTD device at drivers/mtd/rammtd.c
to
simulate FLASH. In this case, this value must be provided to give the number
of erase blocks in MTD RAM device. The size of the allocated RAM drive will
be: CONFIG_RAMMTD_ERASESIZE * CONFIG_TESTING_SMART_NEBLOCKS
.
CONFIG_TESTING_SMART_MAXNAME
– Determines the maximum size of names used in
the filesystem.
CONFIG_TESTING_SMART_MAXFILE
– Determines the maximum size of a file.
CONFIG_TESTING_SMART_MAXIO
– Max I/O, default 347
.
CONFIG_TESTING_SMART_MAXOPEN
– Max open files.
CONFIG_TESTING_SMART_MOUNTPT
– SMART mountpoint.
CONFIG_TESTING_SMART_NLOOPS
– Number of test loops. default 100
.
CONFIG_TESTING_SMART_VERBOSE
– Verbose output.
smart_test
SMART File SystemPerforms a file-based test on a SMART (or any) filesystem. Validates seek, append and seek-with-write operations.
CONFIG_TESTING_SMART_TEST=y
Author: Ken Pettit
Date: April 24, 2013
Performs a file-based test on a SMART (or any) filesystem. Validates seek, append and seek-with-write operations.
Usage:
flash_test mtdblock_device
Additional options:
--force to replace existing installation
smp
This is a simple test for SMP functionality. It is basically just the pthread barrier test with some custom instrumentation.
unity
Unity is a unit testing framework for C developed by ThrowTheSwitch.org: