Commit Graph

23 Commits

Author SHA1 Message Date
Sebastian Huber
1e483a62ea test: Add rtems_test_busy_cpu_usage() 2018-02-02 07:48:49 +01:00
Chris Johns
2afb22b7e1 Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step.  It
copied header files from arbitrary locations into the build tree.  The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

* The make preinstall step itself needs time and disk space.

* Errors in header files show up in the build tree copy.  This makes it
  hard for editors to open the right file to fix the error.

* There is no clear relationship between source and build tree header
  files.  This makes an audit of the build process difficult.

* The visibility of all header files in the build tree makes it
  difficult to enforce API barriers.  For example it is discouraged to
  use BSP-specifics in the cpukit.

* An introduction of a new build system is difficult.

* Include paths specified by the -B option are system headers.  This
  may suppress warnings.

* The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step.   All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc.  Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

* cpukit/include

* cpukit/score/cpu/@RTEMS_CPU@/include

* cpukit/libnetworking

The new BSP include directories are:

* bsps/include

* bsps/@RTEMS_CPU@/include

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed.  The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.
2018-01-25 08:45:26 +01:00
Sebastian Huber
168277e759 tests: Change TEST BUILD to use define names 2018-01-22 07:08:57 +01:00
Joel Sherrill
f387e8f40b testsupport/testbeginend.c: Fix redefined warning 2018-01-16 13:47:53 -06:00
Joel Sherrill
885bbd61c0 testsupport/test.h: Add RTEMS_NO_RETURN to rtems_test_exit() 2017-11-29 13:03:40 -06:00
Chris Johns
e6df806a3f tests: Use ld to map (wrap) printf, puts and putchar to tester functions.
- Remove the macro defines and the need for tmacro.h by remapping the
  symbols using ld's wrap option.
- Remove FLUSH_OUTPUT, it was empty.
- Move rtems_test_exit to libmisc/testsupport as a function.

Update #3199.
2017-11-11 16:14:59 +11:00
Chris Johns
bcd0c06c9b tests: Use rtems_test_begin and rtems_test_end.
Add a tests enum and move all test banner test to the library in libmisc.

Update #3199.
2017-11-11 16:14:59 +11:00
Sebastian Huber
f703e7f5c7 tests: Move rtems_test_printer definition
Statically initialize it to use printk().

Update #3170.
Update #3199.
2017-10-28 13:33:55 +02:00
Sebastian Huber
7f7a3e8f70 tests: Move busy loop to test support
Update #3056.
2017-06-29 14:36:58 +02:00
Sebastian Huber
6a9282d9bb Rename is_internal to always_set_to_false
Update #2825.
2016-12-12 08:03:14 +01:00
Sebastian Huber
86d3a2e8a0 testsupport: Determine worker index via processor
Determine worker index via the current processor index to get consistent
job runs with respect to the cache topology.
2016-11-03 10:02:39 +01:00
Sebastian Huber
f153157410 Rename rtems_test_print() into rtems_test_printf() 2016-06-22 07:45:48 +02:00
Sebastian Huber
506bfc8580 Move printer initialization to separate header
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>.
2016-06-22 07:29:26 +02:00
Sebastian Huber
e8020d1914 Rename and move RTEMS_PRINTF_ATTRIBUTE()
Rename RTEMS_PRINTF_ATTRIBUTE() into RTEMS_PRINTFLIKE() (similar to
<sys/cdefs.h> __printflike()) and move it to <rtems/score/basedefs.h>.
2016-06-22 07:29:26 +02:00
Sebastian Huber
a9cc6a84c5 smptests/smpatomic01: New test cases
Demonstrate that a read-modify-write atomic operation may be necessary
on some archtitectures to observe the latest value written.
2016-06-01 09:53:43 +02:00
Chris Johns
24d0ee57a4 cpukit, testsuite: Add rtems_printf and rtems_printer support.
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.
2016-05-25 15:47:34 +10:00
Sebastian Huber
10a699d3fc testsupport: Generate unique worker names 2015-03-25 11:46:20 +01:00
Sebastian Huber
55243d090e testsupport: Do not suspend worker tasks 2015-03-18 13:51:22 +01:00
Sebastian Huber
8c7eb0039c testsupport: Add worker setup handler
Add rtems_test_parallel_get_task_id().
2015-03-17 10:32:57 +01:00
Alexander Krutwig
33b72fde61 testsupport: Add cascade option to parallel test 2015-03-06 16:20:20 +01:00
Sebastian Huber
6fd5b4e486 tests: Fix warning 2015-03-05 11:23:10 +01:00
Alexander Krutwig
7f577d3a56 tests: Refactor parallel test execution 2015-03-05 09:12:14 +01:00
Sebastian Huber
18d0a49129 Move test support from sapi to libmisc/testsupport 2015-03-05 08:44:59 +01:00