summaryrefslogtreecommitdiffstats
path: root/testsuites/tmtests (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rtems: Require RTEMS_PRIORITY for MrsP semaphoresSebastian Huber2021-03-161-1/+2
| | | | | | | | | MrsP semaphores are a generalization of the priority ceiling semaphores for SMP configurations. Priority ceiling semaphores are required to use the priority task wait queue discipline. Require this discipline also for MrsP semaphores. Close #4347.
* Remove tmoverhd which existed to produce the obsolete coverhd.hJoel Sherrill2020-09-117-1674/+0
| | | | Closes #4040.
* libtest: <rtems/test.h> to <rtems/test-info.h>Sebastian Huber2020-07-232-2/+2
| | | | | | | | 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.
* Canonicalize config.h includeSebastian Huber2020-04-163-3/+3
| | | | | | | | Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
* config: Remove <rtems/btimer.h> includeSebastian Huber2020-03-0431-0/+60
| | | | | | | The use of CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER does not define anything, so remove the <rtems/btimer.h> include. Update #3875.
* config: Remove CONFIGURE_DISABLE_SMP_CONFIGURATIONSebastian Huber2020-02-256-12/+0
| | | | | | | | | | 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.
* rtems: Simplify semaphore configurationSebastian Huber2019-12-111-2/+0
| | | | | | | | | | | | | | | The MrsP semaphore implementation predates the addition of self-contained synchronization objects. At this time, the potential memory reduction was justified considering the more complex configuration and additional use of the workspace. With the availability of self-contained synchronization options, e.g. POSIX mutexes, this is no longer justified. Memory constrained applications should use the self-contained synchronization objects. Remove the CONFIGURE_MAXIMUM_MRSP_SEMAPHORES configuration option. This has only an impact on applications which use SMP and a large number of scheduler instances. Update #3833.
* libtest: Change expected pass state stringSebastian Huber2019-12-051-1/+1
| | | | Use separator character '_' for all test states.
* testsuites: Remove rtems_test_pause*()Sebastian Huber2019-12-043-8/+0
| | | | | | | | | | | | | 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.
* tmtests: Avoid build system defined definesSebastian Huber2019-11-1211-379/+395
| | | | Update #3818.
* rtems: Add rtems_scheduler_get_processor_maximum()Sebastian Huber2019-04-091-1/+1
| | | | | | | | | | | Add rtems_scheduler_get_processor_maximum() as a replacement for rtems_get_processor_count(). The rtems_get_processor_count() is a bit orphaned. Adopt it by the Scheduler Manager. The count is also misleading, since the processor set may have gaps and the actual count of online processors may be less than the value returned by rtems_get_processor_count(). Update #3732.
* rtems: Add rtems_scheduler_get_processor()Sebastian Huber2019-04-091-1/+1
| | | | | | | | | | | Add rtems_scheduler_get_processor() as a replacement for rtems_get_current_processor(). The rtems_get_current_processor() is a bit orphaned. Adopt it by the Scheduler Manager. This is in line with the glibc sched_getcpu() function. Deprecate rtems_get_current_processor(). Update #3731.
* testsuite: Make the OPERATION_COUNT a test configuration parameter.Chris Johns2019-03-0731-54/+158
| | | | | - Add a small memory test config file. - Update the small memory PowerPC BSPs to use the new test config.
* build: Do not install test programsSebastian Huber2019-01-301-3/+1
|
* tmonetoone: Add yield test caseSebastian Huber2018-10-221-0/+37
|
* tmtests: Fix unused variable warningsSebastian Huber2018-10-124-8/+0
|
* tmtests/tmonetoone: New test programSebastian Huber2018-10-115-0/+337
|
* build: Remove local.amSebastian Huber2018-10-101-1/+0
|
* tests: Use rtems_task_exit()Sebastian Huber2018-10-0530-81/+35
| | | | Update #3533.
* tm26: enable FP context when fprintf usedDaniel Hellstrom2018-09-201-0/+1
| | | | | calling rtems_print_printer_fprintf_putc() results in usage of vfprintf() which may use floating point instructions in its implementation.
* configure: Add subdir-objects to all automake flags.Chris Johns2018-04-111-1/+1
| | | | | | | | | | | This option silences warning with automake-1.16.1 allowing us to upgrade to that version. This change has been tested with automake-1.12.6 and automake-1.16.1. It seems version 1.16.1 configures slower than 1.12.6 for the same source and BSP. The newer versions is 6 second slower. Close #3387.
* testsuite/tmtests: Merged nested Makefile.am files into one Makefile.amChris Johns2018-04-1043-1043/+437
| | | | | | This change is part of the testsuite Makefile.am reorganization. Update #3382
* tests: Support %g print format specifierSebastian Huber2018-02-091-0/+1
|
* Remove make preinstallChris Johns2018-01-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* tm08: Do not use RTEMS_INTERRUPT_MASK for no reschedule caseJoel Sherrill2017-12-081-7/+10
| | | | Updates #3000.
* Remove coverhd.hSebastian Huber2017-11-2460-146/+113
| | | | | | | This header file contained timing overhead values which are hard to maintain. Update #3254.
* tests: Use simple console driverSebastian Huber2017-11-0635-35/+35
| | | | | Update #3170. Update #3199.
* tests: Remove TEST_INITSebastian Huber2017-10-2835-70/+0
| | | | | | | | The TEST_EXTERN is a used only by the system.h style tests and they use CONFIGURE_INIT appropriately. Update #3170. Update #3199.
* tmtests/tmfine01: Reduce test context sizeSebastian Huber2017-10-241-0/+4
| | | | | | Reduce test context size in non-SMP configurations. Close #3200.
* testsuite: Use printk for all test output where possible.Chris Johns2017-10-2335-0/+70
| | | | | | | | | | - 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.
* tmtests/tmfine01: Add test casesSebastian Huber2017-10-183-2119/+4188
| | | | | | | | Update #2674. Update #3112. Update #3113. Update #3114. Update #3115.
* tmtests/tmcontext01: Prevent GCC 7.1 optimizationsSebastian Huber2017-07-201-20/+21
| | | | | It is getting harder to prevent the compiler from optimizing away the recursive function calls.
* confdefs.h: Add SMP enabled field to configurationSebastian Huber2017-05-162-0/+4
| | | | | | | | | | | Do not use the processor count to determine if SMP is enabled. Instead use a dedicated configuration option. Enable SMP by default in SMP configurations. Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail otherwise. Update #3001.
* confdefs.h: CONFIGURE_DISABLE_SMP_CONFIGURATIONSebastian Huber2017-05-114-0/+8
| | | | | | | | | | | Enable the SMP configuration by default in case SMP is enabled. Add configuration option CONFIGURE_DISABLE_SMP_CONFIGURATION to disable it explicitly. Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail otherwise. Update #3001.
* testsuite: Add a common test configuration. Fix configure.ac and Makefile.am ↵Chris Johns2017-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | errors. - 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.
* Rename CONFIGURE_SMP_MAXIMUM_PROCESSORSSebastian Huber2017-02-142-2/+2
| | | | | | | Rename CONFIGURE_SMP_MAXIMUM_PROCESSORS to CONFIGURE_MAXIMUM_PROCESSORS since the SMP part is superfluous. Update #2894.
* Remove CONFIGURE_SMP_APPLICATIONSebastian Huber2017-02-022-4/+0
| | | | | | Enable the SMP support if CONFIGURE_SMP_MAXIMUM_PROCESSORS > 1. Update #2893.
* powerpc: Add _CPU_Get_current_per_CPU_control()Sebastian Huber2016-11-101-2100/+2100
| | | | | | | | Add _CPU_Get_current_per_CPU_control() on SMP configurations. Use SPRG0 for the current per-CPU control. This reduces the code size by three instructions and is slightly faster. Update #2805.
* score: Inline some SMP lock operations by defaultSebastian Huber2016-11-091-2100/+2100
| | | | | | | | | The SMP ticket lock release turned out to be suitable for inlining, e.g. a hand full of instructions, no branches. The changes in the screen files do not reflect the changes due to this commit. However, they are now up to date. Obtained on a T4240 running at 1.5GHz using GCC 7.0.0 20161108..
* score: Prevent assignment to _Thread_ExecutingSebastian Huber2016-11-072-15/+12
|
* score: Optimize self-contained mutexesSebastian Huber2016-11-041-2100/+2100
|
* rtems: Fix binary semaphore resource countSebastian Huber2016-11-031-2/+2
| | | | | | Binary semaphores (not simple binary semaphores) maintain the resource count since 8797c76addf22a2f0ffc3717ff977695e35b9b0b. Do this also for initially locked binary semaphores.
* tmtests/tmfine01: Update screen fileSebastian Huber2016-11-032-1800/+2194
| | | | Add plot script.
* score: Introduce Thread_Scheduler_control::homeSebastian Huber2016-11-022-6/+6
| | | | | | | | Replace Thread_Scheduler_control::control and Thread_Scheduler_control::own_control with new Thread_Scheduler_control::home. Update #2556.
* tmfine01: Add self-contained mutex test caseSebastian Huber2016-10-101-1/+46
| | | | | This demonstrates the effect of false cache line sharing in case of Classic mutexes.
* score: Introduce Thread_queue_Lock_contextSebastian Huber2016-09-081-1/+1
| | | | | | Introduce Thread_queue_Lock_context to contain the context necessary for thread queue lock and thread wait lock acquire/release operations to reduce the Thread_Control size.
* score: Add _Thread_queue_Context_set_MP_callout()Sebastian Huber2016-05-301-1/+1
| | | | | | Add _Thread_queue_Context_set_MP_callout() to simplify _Thread_queue_Context_initialize(). This makes it possible to more easily add additional fields to Thread_queue_Context.
* score: Move thread queue MP callout to contextSebastian Huber2016-05-251-5/+6
| | | | | | | | Drop the multiprocessing (MP) dependent callout parameter from the thread queue extract, dequeue, flush and unblock methods. Merge this parameter with the lock context into new structure Thread_queue_Context. This helps to gets rid of the conditionally compiled method call helpers.
* Replace *_Get_interrupt_disable() with *_Get()Sebastian Huber2016-05-201-9/+6
| | | | | Uniformly use *_Get() to get an object by identifier with a lock context.
* rtems: _Semaphore_Get_interrupt_disable()Sebastian Huber2016-05-201-3/+0
| | | | | | Use _Objects_Get_local() for _Semaphore_Get_interrupt_disable() to get rid of the location parameter. Move remote object handling to semaphore MPCI support.