summaryrefslogtreecommitdiffstats
path: root/testsuites/support/include
diff options
context:
space:
mode:
authorGlenn Humphrey <glenn.humphrey@oarcorp.com>2009-12-08 21:39:21 +0000
committerGlenn Humphrey <glenn.humphrey@oarcorp.com>2009-12-08 21:39:21 +0000
commit6cc1c294d691aafb73ce46c1d4f6e0b4e55ff073 (patch)
treecbc9e6dcd0e76ef087e91109717971e3d44801da /testsuites/support/include
parent2009-12-08 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-6cc1c294d691aafb73ce46c1d4f6e0b4e55ff073.tar.bz2
2009-12-08 Glenn Humphrey <glenn.humphrey@OARcorp.com>
* support/include/test_support.h, support/include/tmacros.h, support/src/test_support.c: Added support functions to spin for a number of ticks and to spin until the next tick. * support/src/spin.c: New file.
Diffstat (limited to 'testsuites/support/include')
-rw-r--r--testsuites/support/include/test_support.h39
-rw-r--r--testsuites/support/include/tmacros.h8
2 files changed, 39 insertions, 8 deletions
diff --git a/testsuites/support/include/test_support.h b/testsuites/support/include/test_support.h
index d3fd472a99..b7f4aa281a 100644
--- a/testsuites/support/include/test_support.h
+++ b/testsuites/support/include/test_support.h
@@ -1,5 +1,10 @@
/*
- * Support routines for test code.
+ * COPYRIGHT (c) 1989-2009.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
@@ -11,9 +16,35 @@
extern "C" {
#endif
-extern void Allocate_majority_of_workspace( int smallest );
-extern const char *Get_Too_Long_Name(void);
-extern const char *Get_Longest_Name(void);
+/*
+ * Allocate a number of small blocks from the heap
+ * until the largest free block of memory available is
+ * smaller than smallest.
+ *
+ * NOTE: The memory CANNOT be freed.
+ */
+void Allocate_majority_of_workspace( int smallest );
+
+/*
+ * Return a pointer to the POSIX name that is slightly
+ * beyond the legal limit.
+ */
+const char *Get_Too_Long_Name(void);
+
+/*
+ * Return a pointer to the longest legal POSIX name.
+ */
+const char *Get_Longest_Name(void);
+
+/*
+ * Spin for specified number of ticks.
+ */
+void rtems_test_spin_for_ticks(int ticks);
+
+/*
+ * Spin until the next clock tick
+ */
+void rtems_test_spin_until_next_tick( void );
#ifdef __cplusplus
};
diff --git a/testsuites/support/include/tmacros.h b/testsuites/support/include/tmacros.h
index 4a4f525040..960c20f14a 100644
--- a/testsuites/support/include/tmacros.h
+++ b/testsuites/support/include/tmacros.h
@@ -45,12 +45,13 @@ extern "C" {
* Check that that the dispatch disable level is proper for the
* mode/state of the test. Normally it should be 0 when in task space.
*/
-
#define check_dispatch_disable_level( _expect ) \
do { \
if ( (_expect) != -1 && _Thread_Dispatch_disable_level != (_expect) ) { \
- printf( "\n_Thread_Dispatch_disable_level is (%" PRId32 ") not %d\n", \
- _Thread_Dispatch_disable_level, (_expect) ); \
+ printk( \
+ "\n_Thread_Dispatch_disable_level is (%" PRId32 \
+ ") not %d detected at %s:%d\n", \
+ _Thread_Dispatch_disable_level, (_expect), __FILE__, __LINE__ ); \
FLUSH_OUTPUT(); \
rtems_test_exit( 1 ); \
} \
@@ -59,7 +60,6 @@ extern "C" {
/*
* These macros properly report errors within the Classic API
*/
-
#define directive_failed( _dirstat, _failmsg ) \
fatal_directive_status( _dirstat, RTEMS_SUCCESSFUL, _failmsg )