From 6cc1c294d691aafb73ce46c1d4f6e0b4e55ff073 Mon Sep 17 00:00:00 2001 From: Glenn Humphrey Date: Tue, 8 Dec 2009 21:39:21 +0000 Subject: 2009-12-08 Glenn Humphrey * 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. --- testsuites/support/include/test_support.h | 39 +++++++++++++++++++++++++++---- testsuites/support/include/tmacros.h | 8 +++---- 2 files changed, 39 insertions(+), 8 deletions(-) (limited to 'testsuites/support/include') 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 ) -- cgit v1.2.3