- Remove the printf support leaving the direct printk support configured
with TESTS_USE_PRINTK and all other output goes via a buffered vsniprintf
call to printk.
- Control the test's single init for functions and global data with
TEST_INIT and not CONFIGURE_INIT. They are now separate.
Updates #3170.
- Add a top level test configuration file for test states that are common
to all BSPs. This saves adding a test configuration (tcfg) file for
every BSP.
- Add the test states 'user-input' and 'benchmark'. This
lets 'rtems-test' stop the test rather than waiting for a timeout or
letting a benchmark run without the user asking for it to run.
- Implement rtems-test-check in Python to make it faster. The shell script
had grown to a point it was noticably slowing the build down.
- Fix the configure.ac and Makefile.am files for a number of the
test directories. The files are difficiult to keep in sync with the
number of tests and mistakes can happen such as tests being left
out of the build. The test fsrofs01 is an example. Also a there was
a mix of SUBDIRS and _SUBDIRS being used and only _SUBDIRS should be
used.
- Fix the test fsrofs01 so it compiles.
Closes#2963.
The RTEMS print user need to know nothing about a particular printer
implementation. In particular get rid of the <stdio.h> include which
would be visible via <rtems.h>.
This change adds rtems_printf and related functions and wraps the
RTEMS print plugin support into a user API. All references to the
plugin are removed and replaced with the rtems_printer interface.
Printk and related functions are made to return a valid number of
characters formatted and output.
The function attribute to check printf functions has been added
to rtems_printf and printk. No changes to remove warrnings are part
of this patch set.
The testsuite has been moved over to the rtems_printer. The testsuite
has a mix of rtems_printer access and direct print control via the
tmacros.h header file. The support for begink/endk has been removed
as it served no purpose and only confused the code base. The testsuite
has not been refactored to use rtems_printf. This is future work.
Add rtems_interrupt_local_disable|enable() as suggested by Pavel Pisa to
emphasize that interrupts are only disabled on the current processor.
Do not define the rtems_interrupt_disable|enable|flash() macros and
functions on SMP configurations since they don't ensure system wide
mutual exclusion.
Remove miniIMFS. Statically initialize the root IMFS.
Add configuration options to disable individual
features of the root IMFS, e.g.
o CONFIGURE_IMFS_DISABLE_CHOWN,
o CONFIGURE_IMFS_DISABLE_FCHMOD,
o CONFIGURE_IMFS_DISABLE_LINK,
o CONFIGURE_IMFS_DISABLE_MKNOD,
o CONFIGURE_IMFS_DISABLE_MOUNT,
o CONFIGURE_IMFS_DISABLE_READLINK,
o CONFIGURE_IMFS_DISABLE_RENAME,
o CONFIGURE_IMFS_DISABLE_RMNOD,
o CONFIGURE_IMFS_DISABLE_SYMLINK,
o CONFIGURE_IMFS_DISABLE_UNMOUNT, and
o CONFIGURE_IMFS_DISABLE_UTIME.
Use '*" to disable shell login instead of '!' according to the Linux man
page. Use getpwnam_r() instead of getpwnam(). Do not access the user
environment directly. Update the user environment only after a
successful login check.
Provide a file per BSP to list tests that do not build for a BSP. This change
removes the BSP_SMALL_MEMORY hack from the code. That hack was a
mistake.
Provide configuration files for each BSP with tests that cannot build.
Use posix keys for current shell environment instead of task variables. With
this patch the shell needs one posix-key and one posix-key-value-pair
configured.
Update documentation for the shell.
Adapt samples/fileio:
- Add necessary objects.
- Add login function and custom device name for better testing of the shell.