Commit Graph

789 Commits

Author SHA1 Message Date
Sebastian Huber
8b8c068df3 testsuites: Remove CONFIGURE_MALLOC_STATISTICS
This configuration option is obsolete since 2014.

Update #1367.
2020-03-31 15:21:58 +02:00
Sebastian Huber
ab42b3e100 record: Add rtems_record_dump()
Add rtems_record_dump_base64() and rtems_record_dump_base64_zlib().

Add CONFIGURE_RECORD_FATAL_DUMP_BASE64 and
CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB configuration options.

Update #3904.
2020-03-18 07:20:52 +01:00
Sebastian Huber
0161b93d50 imfs: Replace devfs with an IMFS specialization
Add a simplified path evaluation function IMFS_eval_path_devfs() for a
device only IMFS configuration.

The code size can be further reduced by the application if it disables
the support for legacy IO drivers via:

  #define CONFIGURE_IMFS_DISABLE_MKNOD
  #define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE

Obsolete CONFIGURE_MAXIMUM_DEVICES.  Remove BSP_MAXIMUM_DEVICES.

Update #3894.
Update #3898.
2020-03-09 17:26:54 +01:00
Sebastian Huber
c7f748a100 config: Remove CONFIGURE_DISABLE_SMP_CONFIGURATION
The CONFIGURE_DISABLE_SMP_CONFIGURATION configuration option and
rtems_configuration_is_smp_enabled() were added during the SMP support
development cycle as a workaround to fix some testsuite failures in SMP
configurations.  All use cases were replaced with tests for specific
conditions.  The configuration option and test macro were undocumented.

Close #3876.
2020-02-25 07:18:36 +01:00
Sebastian Huber
ba74ebde74 libio: Add POSIX user environment pointer to TCB
The IO library used a POSIX key to store an optional POSIX user
environment pointer.  This pulled in the POSIX keys support in every
application configuration.  Add a user environment pointer to the thread
control block (TCB) instead.  Applications which do not need the POSIX
user environment will just get an overhead of one pointer per thread.

Close #3882.
2020-02-25 07:18:26 +01:00
Sebastian Huber
5d1d3485cb libtests/stackchk: Include missing header file
Update #3875.
2020-02-25 07:15:17 +01:00
Chris Johns
3f7ebddfa4 testsuite/newlib: Check newlib does not touch an assigned std FILE pointer
Update #3870
2020-02-18 08:47:47 +11:00
Sebastian Huber
ccaec9661f libtests/malloc04: Fix typo
Update #3838.
2020-02-04 11:25:45 +01:00
Sebastian Huber
eea21eaca1 bsps: Rework work area initialization
The work area initialization was done by the BSP through
bsp_work_area_initialize(). This approach predated the system
initialization through the system initialization linker set. The
workspace and C program heap were unconditionally initialized.  The aim
is to support RTEMS application configurations which do not need the
workspace and C program heap.  In these configurations, the workspace
and C prgram heap should not get initialized.

Change all bsp_work_area_initialize() to implement _Memory_Get()
instead.  Move the dirty memory, sbrk(), per-CPU data, workspace, and
malloc() heap initialization into separate system initialization steps.
This makes it also easier to test the individual initialization steps.

This change adds a dependency to _Heap_Extend() to all BSPs.  This
dependency will be removed in a follow up change.

Update #3838.
2020-02-04 06:06:41 +01:00
Sebastian Huber
556e45f24b libtest: Add T_check_task_context() action 2019-12-20 11:06:13 +01:00
Sebastian Huber
77ac1519e8 libtest: Use test configuration in T_now()
Use the user provided now handler of the test configuration to get the
time in T_now().
2019-12-20 11:06:13 +01:00
Sebastian Huber
3cec2dfbc4 config: CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
Rename CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS into
CONFIGURE_MAXIMUM_FILE_DESCRIPTORS.

Update #3753.
2019-12-19 08:53:03 +01:00
Sebastian Huber
d0b704b09c libtest: Change expected pass state string
Use separator character '_' for all test states.
2019-12-05 07:10:59 +01:00
Sebastian Huber
a6879a418d testsuites: Remove rtems_test_pause*()
The rtems_test_pause() and rtems_test_pause_and_screen_number() macros
had different implementations depending on the RTEMS_TEST_NO_PAUSE
define.  This define was defined to 1 by default.  The user was able to
change this via the undocumented --disable-test-no-pause configure
command line option.

Pausing tests and waiting for user input contradicts the goal of having
automated test runs.  Remove this feature.

Update #3818.
2019-12-04 07:40:32 +01:00
Sebastian Huber
4551f5f0db untar: Properly make parent path
Close #3823.
2019-11-26 08:10:27 +01:00
Sebastian Huber
4a056523cf libtests/dl*: Rename source files
Rename source files to use a %.c -> %.o and %.cc -> %.o pattern.  Use
*.cc for C++ source files instead of *.cpp to be in line with other C++
source files.

Update #3818.
2019-11-26 07:21:44 +01:00
Sebastian Huber
b8b954a3e9 libtests/dl*: Use rtems_tarfs_load()
Use rtems_tarfs_load() instead of Untar_FromMemory() to reduce the
memory demands of the tests.
2019-11-26 07:21:44 +01:00
Sebastian Huber
5c2e7104e7 libtests: Use '-' for TAR file names
Use uniform pattern for all TAR file names.  Use the dl* tests as a
template.

Update #3818.
2019-11-25 13:01:54 +01:00
Sebastian Huber
8f021bdbf9 libtests/dl*: Do not generate files via "echo"
Add the static files to the repository.  This simplifies the build.

Update #3818.
2019-11-25 11:32:19 +01:00
Sebastian Huber
273e8b72c8 libtests/tar0[12]:: Use static archive content
This simplifies the build process.  Do not generate the archive content
through the build system.  Let the version control system deal with
symbolic links.

Update #3818.
2019-11-25 11:32:19 +01:00
Hesham Almatary
1a95dd738f testsuite: Only include termios10/termios11 tests if compiled with POSIX
Both need POSIX support
2019-11-21 10:32:46 +00:00
Sebastian Huber
f377998568 imfs: Add IMFS_make_linfile()
Update #3818.
2019-11-19 16:22:00 +01:00
Sebastian Huber
b882b07e84 Remove BSP_SMALL_MEMORY BSP option
Use the test state configuration instead.

Update #3818.
2019-11-15 07:45:30 +01:00
Hesham Almatary
3a5bc21392 testsuite/dl02: Fix bug to correctly check the handle of the second object file 2019-11-12 10:21:53 +00:00
Hesham Almatary
a4c5da686d riscv: preliminarily support for libdl
Support for targets compiled with -fno-pic and -mno-relax
2019-11-12 10:21:40 +00:00
Sebastian Huber
1a48cbfa16 sptests: Avoid include path magic
Update #3818.
2019-11-12 09:47:20 +01:00
Sebastian Huber
1e343825f4 tests: Simplify fatal error test support
Move system.h to shared init.c.

Update #3818.
2019-11-12 09:47:20 +01:00
Sebastian Huber
6da85f49ea block08: Use local include
Update #3818.
2019-11-12 09:47:17 +01:00
Sebastian Huber
37d509b249 libtests: Remove superfluous include path
Update #3818.
2019-11-12 09:46:26 +01:00
Sebastian Huber
5ba4f38399 libtests: Avoid build system defined defines
Update #3818.
2019-11-12 09:36:20 +01:00
Sebastian Huber
e71f0a5358 ttest01: Check init/final run output
Update #3199.
2019-10-11 08:55:53 +02:00
Mikail Yayla
5a1df5e73e ttest01: Add test outputs all test cases 2019-10-11 08:55:53 +02:00
Sebastian Huber
feb27f9031 ttest01: Add more test cases
Update #3199.
2019-10-11 08:55:49 +02:00
Sebastian Huber
b406d071ec libtest: Do all output in test runner
This ensures that lines are output atomically if they are produced by
different other contexts, e.g. interrupts, other processors, other
threads.

Update #3199.
2019-10-11 08:55:49 +02:00
Sebastian Huber
f88025aebe ttest01: Adjust SPDX-License-Identifier
Update #3199.
2019-10-11 08:55:46 +02:00
Joel Sherrill
667501a314 termios: Add Capability to Generate SIGINTR and SIGQUIT
This patch adds the ability for termios to send SIGINTR on receipt
of VINTR and SIGQUIT for VKILL and return -1/EINTR from read() on
a termios channel. Importantly, this patch does not alter the default
behavior or force POSIX signal code in just because termios is used.
The application must explicitly enable the POSIX behavior of generating
a signal upon receipt of these characters. This is discussed in the
POSIX standard:

   https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap11.html

Closes #3800.
2019-10-08 14:25:41 -05:00
Joel Sherrill
ff4a4a862b termios04/init.c: Remove dead copy of change_iflag() 2019-10-04 09:13:28 -05:00
Sebastian Huber
6ae25220d6 Revert "record: Add wrappers for malloc() functions"
It was accidentally committed.

This reverts commit a314544a27.
2019-10-02 06:40:30 +02:00
Sebastian Huber
1b84d2b360 libtests/ttest01: Fix typos 2019-10-02 06:38:07 +02:00
Sebastian Huber
a314544a27 record: Add wrappers for malloc() functions
Introduce new library librtemsrecordwrap.a which contains wrappers for
operating system functions which produce entry/exit events.

The wrappers can be selected during link time via the GNU ld --wrap
option.

Update #3665.
2019-10-01 09:55:07 +02:00
Sebastian Huber
c1eb577486 libtests/record01: Fix test failure
Update #3665.
2019-10-01 09:55:07 +02:00
Sebastian Huber
1c72ad73ae record: Add system events
Add system events for memory allocation/free.

Update #3665.
2019-08-30 15:03:14 +02:00
Sebastian Huber
8ace7eada4 record: Add system events
Add system events to identify the target system.  Add system events to
transfer blocks of memory and register sets.

Update #3665.
2019-08-30 11:18:47 +02:00
Sebastian Huber
58bd67bb35 record: Add more system events
Reduce the system dependencies to allow tracing of very low level
functions, for example the interrupt disable/enable.

Introduce general purpose RTEMS_RECORD_CALLER and RTEMS_RECORD_LINE
events.

Update #3665.
2019-08-29 10:07:02 +02:00
Sebastian Huber
956a2ef78d record: Add variants for critical sections
Update #3665.
2019-08-28 15:22:27 +02:00
Sebastian Huber
3eb8d78369 record: Introduce <rtems/recordserver.h>
This helps to get rid of the <rtems/rtems/tasks.h> dependency in
<rtems/record.h>.

Update #3665.
2019-08-28 15:22:06 +02:00
Sebastian Huber
a2684c2b8d record: Use BSS section instead of per-CPU data
The .rtemsrwset section is used for the per-CPU data.  This section has
loadable content.  Place the ring buffers in the BSS section to avoid
large executable image sizes.

Not using the per-CPU data makes it possible to initialize the record
support earlier.

Update #3665.
2019-08-28 08:58:14 +02:00
Sebastian Huber
c91f6f5f4e record: Pass bintime to client handlers
This is a minor optimization.
2019-08-17 19:01:14 +02:00
Sebastian Huber
52c8ac7b69 record: Improve overflow handling
In case of a ring buffer overflow, the rtems_record_drain() will push
the complete ring buffer content to the client.  While the items are
processed by the client, new items may overwrite some items being
processed.  The overwritten items can be detected in the following
iteration once the next tail/head information is pushed to the client.
2019-08-17 19:01:10 +02:00
Sebastian Huber
cc91fae43a record: Change thread name encoding
This scheme is easier to decode.
2019-08-06 07:51:42 +02:00