204 Commits

Author SHA1 Message Date
Joel Sherrill
b40fba2686 spec/build/*.yml: Add contrib/.../uuid and contrib/.../utf8proc
This addition is needed to account for utf8proc and uuid moving
from cpukit/include to contrib. Both include directories need
to stay globally available.
2025-08-05 13:42:49 +00:00
Amar Takhar
3fcf78156d cpukit: Remove utf8proc and add to build
This also moves the header from <utf8proc/utf8proc.h> to <utf8proc.h>  This
follows what the upstream project uses and keeps us from having to modify
upstream source to put it in a subdirectory.
2025-07-31 18:07:34 -05:00
Amar Takhar
e9870fa74f cpukit: Remove uuid and add to build
Did the best I could handling the location of uuid.h
2025-07-31 18:01:42 -05:00
Mazen Adel Elmessady
d1f34a45cc testsuites/libtests: Added quick_exit tests
Added the tests for quick_exit() and
at_quick_exit() in textsuits/libtests/exit04
2025-07-24 20:50:43 -05:00
Christian Mauderer
16c706bafc bsps/stm32u5: Exclude from building dl13
This test requires ARM instruction support and causes build failures on
Thumb-only BSPs.

Updates #5289
2025-07-14 08:52:52 -05:00
Sebastian Huber
93958bde18 libtests/malloc*: Disable compiler builtins
GCC 15 performs some optimizations based on compiler builtins which
break the tests.  Use -fno-builtin to disable the optimizations.
2025-07-06 22:54:22 -04:00
Amar Takhar
8bf1511496 yamlfmt: Format all yaml files
yamlfmt will become a hard error as our files are already clean except for these
minor issues.
2025-06-07 11:58:28 -04:00
alessandronardin
9876b5949f posix/aio: Implemented aio_suspend()
Implemented aio_suspend().
Added test to verify functionality.
2025-02-04 23:34:31 +00:00
Sebastian Huber
7d5c08db80 validation: Check bootloader L2C settings
Update #4925.
2024-11-20 15:08:04 +00:00
Sebastian Huber
7ff3438cba validation: Test thread priority change detail
Test the proper serialization of explicit thread priority changes (for
example rtems_task_set_priority()) and thread priority changes carried
out by thread queues (locking protocols such as priority inheritance).

With RTEMS_DEBUG enabled, the new test case fails with an assertion.  It
is fixed in a follow up commit.

Update #5159.
2024-11-20 02:32:38 +01:00
Sebastian Huber
049b9b5c82 record: Add rtems_record_fetch()
This function will replace rtems_record_drain() which turned out to be
unreliable in SMP configurations.
2024-11-12 22:43:35 +00:00
Sebastian Huber
cfd885850a bsps/aarch64: Use fatal error for data cache disable
On the Cortex-A cores, at least the L1 data cache is required to provide
support for atomic operations.

Update #5050.
2024-10-11 01:27:48 +02:00
Kinsey Moore
f80cee565b spec/libtests: Exclude Thumb-only BSPs from building dl13
This test requires ARM instruction support and causes build failures on
Thumb-only BSPs.
2024-10-03 02:03:09 +00:00
Kinsey Moore
81930e2638 testsuites: Add dl13 test for Thumb to ARM transitions 2024-09-24 20:57:56 -05:00
Gedare Bloom
7cda579524 spec/build: make minimum sample norun 2024-09-24 14:53:02 -06:00
alessandronardin
1b6684ee2b cpukit/posix/aio*: Added support for lio_listio()
This commit adds support for lio_listio().
psxaio05 has been added to test the new method.
To avoid code duplication, the body of aio_read and aio_write has been
moved in two helper methods. In this way i can use it also in lio_listio().

In addition to that, a limit on the number of total aio operation enqueued
has been added.

Updates rtems/programs/gsoc#29
2024-09-02 18:16:30 +02:00
Sebastian Huber
e80883b406 score: Simplify _Terminate()
In _Terminate(), everything after invoking the fatal extensions is essentially
dead code.  Simplify this code block and provide a reasonable safe fall-back
for badly configured applications.  Just disable masked interrupts and execute
an idle loop.

Update #5067.
2024-08-23 14:54:37 +00:00
Mohamed Hassan
6ab27bb54e libtests/stackchk04: Add a new testsuite for the detailed reporter
Now as the default reporter is set to be a quiet reporter, we have stackchk test case for the default quiet reporter, stackchk03 for a custom user-defined reporter and stackchk04 for the detailed reporter function
2024-08-06 22:40:12 +03:00
Mohamed Hassan
dc123bb828 libmisc/stackchk: Add configurability to the stack checker reporting function 2024-08-02 20:00:20 +00:00
Loris Nardo
07bd3871ab testsuites: Allow finer control on the fstest result
Changed fstest support to allow control on the test result of each fstest, updated all fstest accordingly.
Modified FS_FAIL macro to fail hard and not just print a message which rtems-test runner ignores.
Split failing test cases from the ones that passes; added fsrenameexisting, fsrenamepermexisting, fsrmdirparent, fsrenamelongname and fsrenamemaxlinks test cases.

Marked fsrenameexisting, fsrenamepermexisting as expected to fail due to #2169.
Marked fsrmdirparent as expected to fail, covered by #5071.
Marked fssymlink as expected to fail due to rename problems partially covered by #2169.
Marked rfsfsrenamelongname as expected to fail, covered by #5069.
Marked *fsrenamemaxlinks as expected to fail, covered by #5070.
Marked jffs2fsrenamelongname and jffs2nandfsrenamelongname as expected to fail, as JFFS2 seems to not have a limit on the file name, covered by #5073
2024-07-25 22:09:17 +02:00
Loris Nardo
d7d1bec401 testsuites: Move some testcases of fsrename into fspermission and fssymlink so that fsrename can be used also for FAT filesystem 2024-07-25 18:22:46 +00:00
Chris Johns
43fd756f6d testsuite/libiofdopen: Add missing spec file 2024-07-25 12:33:00 +10:00
alessandronardin
3b96aaddde posix/aio*: Added notification on request completion
The patch adds the generation of a notification after an Asynchronous I/O
request has been completed. The notification is generated using the aio_sigevent
filed in the aiocb struct, as defined by the posix specifiations.
A new control, ensuring the validity of the field, is added on each call to
aio_read(), aio_write() and aio_fsync().
The patch also adds tests to cover the new code, and fixes formatting errors of
various aio files.
2024-07-24 11:05:21 +02:00
Chris Johns
e58ff8984c libcsupport/libio: Add rtems_libio_count_open_iops to return open descriptors
Close #5063
2024-07-24 03:23:06 +00:00
Sebastian Huber
5c5b4b832b libtests/dl*: Make build reproducible
Do not use a temporary file to create the symbol map.

Close #4941.
2024-07-18 00:12:02 +00:00
Gedare Bloom
88ca88f3fd cpukit/bsd-tree.h: prepend CPP with RTEMS_ scoping 2024-07-09 22:52:40 +00:00
Sebastian Huber
ffa6e26879 dhrystone: Prevent procedure merging
From the Dhrystone RATIONALE:

  o No procedure merging

    Although Dhrystone contains some very short procedures where execution would
    benefit  from  procedure  merging (inlining, macro expansion of procedures),
    procedure merging is not to be used.  The reason is that the  percentage  of
    procedure  and  function  calls  is  part of the "Dhrystone distribution" of
    statements contained in [1].  This restriction does not hold for the  string
    functions  of  the  C  version  since ANSI C allows an implementation to use
    inline code for these functions.

Close #5058.
2024-07-05 21:18:57 +00:00
Ranulfo Raphael
19d8888ac6 libtest/dl12: Fix build issue
Updated from ld to gcc in the build script to ensure consistency in ABI
flags during the creation of incrementally linked objects.

Update #5053
2024-06-25 13:31:22 +00:00
Sebastian Huber
c4c3e68790 bsps/arm: Use fatal error for data cache disable
On the Cortex-A cores, at least the L1 data cache is required to provide
support for atomic operations.

Close #5050.
2024-06-25 03:58:34 +00:00
Sebastian Huber
2953f4c6e3 rtems: Fatal error for rtems_cache_disable_data()
On some targets or configurations, the data cache cannot be disabled.
The data cache may be necessary to provide atomic operations.  In SMP
configurations, the data cache may be required to ensure data coherency.

Close #5050.
2024-06-25 03:58:34 +00:00
Ranulfo Raphael
78afce5bf2 testsuites/libtest: Add DL incremental link test
This commit adds a test to validate the incremental linking
functionality in RTL. The test is related to issue #3740.
2024-06-21 03:31:29 +00:00
Sebastian Huber
ab8817ca03 rtems: Add get/set interrupt priorities
Add directives to get and set the priority of an interrupt vector.

Implement the directives for the following BSP families:

* arm/lpc24xx
* arm/lpc32xx
* powerpc/mpc55xxevb
* powerpc/qoriq

Implement the directives for the following interrupt controllers:

* GICv2 and GICv3 (arm and aarch64)
* NVIC (arm)
* PLIC (riscv)

Update #5002.
2024-05-10 13:26:22 +00:00
Sebastian Huber
286a80a80d validation: Test global construction on aarch64
Update #3716.
2024-04-30 01:39:06 -04:00
Sebastian Huber
087fc4351a bsps/xil-ttc: Improve clock driver
Make the clock driver parameters configurable.  Use the maximum counter
frequency to get the best time resolution.  Decouple the CPU counter from the
timecounter.  Make the tick catch up handling more robust.  Add a validation
test for the tick catch up.
2024-04-30 01:39:05 -04:00
Sebastian Huber
5a8e99546f bsps/xil-ttc: Add XIL_FATAL_TTC_IRQ_INSTALL 2024-04-30 01:39:05 -04:00
Kinsey Moore
cd12bf025d testsuites/jffs2: Add test for empty NOR FS
This adds a test to very that remounting a completely used, but empty
NOR JFFS2 filesystem is possible. Previously, this triggered an edge
condition in the JFFS2 scan code that prevented remount of a correctly
formed and uncorrupted filesystem.
2024-02-26 11:07:53 -06:00
Sebastian Huber
fa17765bd4 crc: Add a CRC-24Q implementation 2024-02-16 09:32:04 +01:00
Matthew Joyce
2757b36098 base64: Add decoder 2024-02-16 09:32:04 +01:00
Sebastian Huber
3626fe833d fstests/tftpfs: Fix build dependency
Update #4666.
2024-01-18 17:36:16 +01:00
Sebastian Huber
2ee0159ed8 build: Fix target of build script 2024-01-18 17:36:16 +01:00
Kinsey Moore
981d24e22a testsuites/fstests: Add JFFS2 NAND support tests
This adds a second set of JFFS2 tests running on top of a simulated NAND
backend to ensure that interactions with delayed writes operate as
expected.
2023-12-22 19:51:52 -06:00
Sebastian Huber
f279017882 validation: Improve MrsP validation
For uniprocessor configurations, the selection of
RTEMS_MULTIPROCESSOR_RESOURCE_SHARING results in a priority ceiling
mutex.

Build the MrsP validation tests only if RTEMS_SMP is enabled.

Update #3716.
2023-11-23 14:58:21 +01:00
Sebastian Huber
06f3780d60 build: Exclude performance test if RTEMS_GCOV_COVERAGE
The code coverage build is usually done without compiler optimizations.
This results in long performance test runtimes and useless performance
results.
2023-11-03 07:25:53 +01:00
Sebastian Huber
963327eaf3 build: Improve testsuite build selection
Enable an individual testsuite only through the corresponding enable.
Use BUILD_TESTS to change the default value of the individual testsuite
enable options.  This allows the user to enable all testsuites with
specific exceptions.

For example, this builds all testsuites except the benchmarks:

[arch/bsp]
BUILD_TESTS = True
BUILD_BENCHMARKS = False
2023-11-02 13:34:22 +01:00
Sebastian Huber
429727cdf3 testsuites/unit: Add tests for compiler builtins
Explicitly test the 64-bit integer division and modulo operations.  They
are essential for the timekeeping services.  On most 32-bit targets,
they need a software implementation.

Update #3716.
2023-10-12 14:11:03 +02:00
Sebastian Huber
2cb3d75d9e validation: Test CPU performance
Measure the runtime of 1000 no-operation instructions.  This may help to
investigate runtime measurement variations which do not result from code
generation or source code changes.

The runtime measurement of a function which does nothing and just
returns gives an estimate of the measurement overhead.

Update #3716.
2023-10-12 14:10:57 +02:00
Sebastian Huber
a986262380 validation: Check stack of interrupted context
Check the stack of the interrupted context during the multitasking
start.

Update #4955.
2023-09-26 08:08:06 +02:00
Sebastian Huber
109479e874 build: Remove enabled-by special case
Doing the enabled-by processing just for the ldflags and just for the
link custom commands is confusing.  Use an option instead which is
intended to be used for such use cases.
2023-09-22 07:59:11 +02:00
Sebastian Huber
580a457724 build: Add target to build scripts
Document that the build scripts in the testsuites produce a test program.
2023-09-15 10:44:08 +02:00
Sebastian Huber
d2d1fa18a9 build: Use build context for custom commands
Revert duplicated listing of TEST_OPTIMIZATION_FLAGS.

Close #4947.
2023-09-11 11:36:58 +02:00