Commit Graph

56 Commits

Author SHA1 Message Date
Sebastian Huber
788fa865fb libtest: Add T_get_thread_timer_state() 2021-02-08 08:44:14 +01:00
Sebastian Huber
8f7baef4a6 libtest: Remove double definition 2021-02-01 14:19:28 +01:00
Sebastian Huber
23f4e5b6c9 libtest: Fix implicit type conversions
This fix relates to a Coverity issue (PW.MIXED_ENUM_TYPE).
2021-02-01 06:22:20 +01:00
Sebastian Huber
3b8137b094 libtest: Check return values with RTEMS_DEBUG
This fix relates to a Coverity issue (UNINIT).
2021-02-01 06:22:20 +01:00
Sebastian Huber
e269e389ea libtest: Remove superfluous NULL pointer check
This fix relates to CID 1468683 (REVERSE_INULL).
2021-01-27 19:08:29 +01:00
Sebastian Huber
426b6cdba9 libtest: Use dependency injection
This helps static analyzers.
2021-01-27 19:08:29 +01:00
Sebastian Huber
aa1c6ddd5c libtest: Fix undefined setjmp() behaviour
Bug was introduced by 78baeb7579.

Update #3199.
2020-11-24 07:38:41 +01:00
Sebastian Huber
c542345b25 libtest: Simplify "Load" environment reporting
Report all runtime measurement environments with a name only and encode
the worker count of the "Load" environment in the name.

Update #3199.
2020-11-19 08:39:02 +01:00
Sebastian Huber
78baeb7579 libtest: Allow assert checks during test begin
Allow assert checks in test begin actions and setup fixture methods.
2020-11-19 08:39:02 +01:00
Sebastian Huber
d2bc5945d3 libtest: Rename ValidCache in FullCache
This name better reflects the execution envirnoment in which the cache
is fully loaded with valid data unrelated to the body request handler.
2020-11-19 08:39:02 +01:00
Sebastian Huber
8882635636 libtest: Add primitive test case memory allocator
This primitive test case memory allocator uses memory from the low-level
memory information provided by the BSP.  At the beginning of each test
case, the memory available to the test case is reinitialized.  This
allows the use of a simple allocate only allocator.
2020-11-19 08:39:02 +01:00
Sebastian Huber
33cd037bf1 libtest: Simplify runtime measurement support
Use the test case allocator functions T_zalloc() and T_malloc().
Restore the task affinity of the runner task.
2020-11-19 08:39:02 +01:00
Sebastian Huber
eae22cc03e libtest: Make test case allocator configurable 2020-11-19 08:39:02 +01:00
Sebastian Huber
a72419b4de libtest: Remove superfluous assignment
Issue found by Coverity (CID 1437643).
2020-09-24 18:07:50 +02:00
Sebastian Huber
98d2adb935 libtest: Fix T_thread_switch_record()
If RTEMS_DEBUG is not defined, then we have to explicitly set the node
off the chain.

Update #3199.
2020-09-17 17:42:25 +02:00
Sebastian Huber
c728948434 libtest: Add T_push_plan() and T_pop_plan()
Update #3199.
2020-08-18 07:08:51 +02:00
Sebastian Huber
13acd90003 libtest: Use a destructor
Do not set up a new test steps environment.

Update #3199.
2020-08-18 07:08:51 +02:00
Sebastian Huber
72960bc7d4 libtest: Change T_step() and T_assert_step()
Normally, the expected test step must be a compile time constant.  Allow
variable expected test steps for the T_step() and T_assert_step().  This
can be used for parameterized test loops with individual fixtures.

Remove the ability to use custom failure messages due to some
implementation constraints.

Update #3199.
2020-08-18 07:08:51 +02:00
Sebastian Huber
5383d4db04 libtest: Add fixture steps
Support a new test plan for each nested fixture.

Update #3199.
2020-08-18 07:08:51 +02:00
Sebastian Huber
33eb113c36 libtest: Add T_check_steps()
Update #3199.
2020-08-18 07:08:51 +02:00
Sebastian Huber
cbc1ba341d libtest: Use line buffer in T_check()
Update #3199.
2020-08-18 07:08:51 +02:00
Sebastian Huber
5d614fdfa7 libtest: Add T_puts()
Update #3199.
2020-08-18 07:08:51 +02:00
Sebastian Huber
a7af34d0cf libtest: Add T_do_is_runner()
Update #3199.
2020-08-18 07:08:51 +02:00
Sebastian Huber
e67eff2b53 libtest: Add output buffer drain and fill
Update #3199.
2020-08-18 07:08:51 +02:00
Sebastian Huber
5a8114c6c5 libtest: Change fixture scope method
Return the produced character count.  There is no need for a NUL
termination.

Update #3199.
2020-08-18 07:08:51 +02:00
Sebastian Huber
c1354f0514 libtest: Add T_thread_switch_record()
Add support to record thread switch events.  This can be used to check
that a blocking operation results in the expected sequence of thread
switches.

Update #3199.
2020-08-11 08:03:47 +02:00
Sebastian Huber
20c79bf5eb libtest: Constify
Update #3199.
2020-08-10 11:49:28 +02:00
Sebastian Huber
f933b651e7 libtest: Improve T_check_task_context
Update #3199.
2020-08-07 18:09:56 +02:00
Sebastian Huber
32f1f747cc libtest: Fix T_interrupt_test() in SMP configs
Update #3199.
2020-08-06 19:15:57 +02:00
Sebastian Huber
cc3fd8fcf1 libtest: Add T_interrupt_test()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
c9d2405848 libtest: Add rtems_test_run()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
35d9af6901 libtest: Add T_CHECK_FMT
Rename internal function T_check_true() to T_check() and use the new
flag T_CHECK_FMT to indicate if a format string is present.  This is a
preparation step to make the format string optional.

Make the check context the first parameter.

The API remains the same.

Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
7781404026 libtest: Add T_stop()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
34e4df5590 libtest: Split POSIX Keys support
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
63e4278429 libtest: Add T_get_scope()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
cb3c6bdc0f libtest: Add push/pop fixture support
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
6b27e3251e libtest: Support custom scope messages via fixture
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
c081c68d34 libtest: Add T_make_runner()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
af9266541f libtest: Add T_get_one_clock_tick_busy()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
e3e3b871ee libtest: Add T_busy()
Update #3199.
2020-07-23 09:27:47 +02:00
Sebastian Huber
361404e87d libtest: Move <t.h> to <rtems/test.h>
Update #3199.
2020-07-23 09:27:45 +02:00
Sebastian Huber
9de8d61a9a libtest: <rtems/test.h> to <rtems/test-info.h>
Rename this header file to later move <t.h> to <rtems/test.h>.  The main
feature provided by <rtems/test-info.h> is the output of standard test
information which is consumed by the RTEMS Tester.

Update #3199.
2020-07-23 09:27:10 +02:00
Sebastian Huber
80cf60efec Canonicalize config.h include
Use the following variant which was already used by most source files:

  #ifdef HAVE_CONFIG_H
  #include "config.h"
  #endif
2020-04-16 07:30:00 +02:00
Sebastian Huber
754f78faa8 libtest: Fix T_check_task_context()
Fix T_check_task_context() in RTEMS_SMP with RTEMS_DEBUG configurations.
2020-01-28 15:09:58 +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
8c3b0d7445 libtest: Fix use of T_check_true() 2019-12-20 10:27:13 +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
9c29cb56ad libtest: Change expected fail state string
Use the value expected by the RTEMS Tester.  There are two separator
characters used ('-' and '_') for the states.  This is a bit
inconsistent.
2019-12-04 07:40:31 +01:00
Sebastian Huber
a0304e8d62 libtest: Output basename of source files
Output only the basename of source files to be independent of the build
system source paths.

In the future it may be better to use the GCC -fmacro-prefix-map option.
This option is available in GCC 8 and later.  It is not yet available in
clang.

Update #3818.
2019-11-25 11:32:19 +01:00