PAPI 7.1.0.0
Loading...
Searching...
No Matches
timer_overflow.c File Reference
Include dependency graph for timer_overflow.c:

Go to the source code of this file.

Macros

#define TIMER_THRESHOLD   100
 

Functions

int main (int argc, char **argv)
 

Macro Definition Documentation

◆ TIMER_THRESHOLD

#define TIMER_THRESHOLD   100

Definition at line 19 of file timer_overflow.c.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 22 of file timer_overflow.c.

23{
24 int sleep_time = TIMER_THRESHOLD;
25 int retval, i;
26 long long timer;
27
28 if ( argc > 1 ) {
29 if ( !strcmp( argv[1], "TESTS_QUIET" ) )
30 tests_quiet( argc, argv );
31 else {
32 sleep_time = atoi( argv[1] );
33 if ( sleep_time <= 0 )
34 sleep_time = TIMER_THRESHOLD;
35 }
36 }
37
38 if ( TESTS_QUIET ) {
39 /* Skip the test in TESTS_QUIET so that the main script doesn't
40 * run this as it takes a long time to check for overflow
41 */
42 printf( "%-40s SKIPPED\nLine # %d\n", __FILE__, __LINE__ );
43 printf( "timer_overflow takes a long time to run, run separately.\n" );
44 exit( 0 );
45 }
46
47 printf( "This test will take about: %f minutes.\n",
48 ( float ) ( 20 * ( sleep_time / 60.0 ) ) );
49 if ( ( retval =
51 test_fail( __FILE__, __LINE__, "PAPI_library_init", retval );
52
53 timer = PAPI_get_real_usec( );
54 for ( i = 0; i <= 20; i++ ) {
55 if ( timer < 0 )
56 break;
57 sleep( ( unsigned int ) sleep_time );
58 timer = PAPI_get_real_usec( );
59 }
60 if ( timer < 0 )
61 test_fail( __FILE__, __LINE__, "PAPI_get_real_usec: overflow", 1 );
62 else
63 test_pass( __FILE__ );
64
65 return 0;
66}
int i
get real time counter value in microseconds
initialize the PAPI library.
#define PAPI_VER_CURRENT
Definition: f90papi.h:54
int TESTS_QUIET
Definition: test_utils.c:18
int tests_quiet(int argc, char **argv)
Definition: test_utils.c:376
void PAPI_NORETURN test_fail(const char *file, int line, const char *call, int retval)
Definition: test_utils.c:491
void PAPI_NORETURN test_pass(const char *filename)
Definition: test_utils.c:432
#define TIMER_THRESHOLD
int retval
Definition: zero_fork.c:53
Here is the call graph for this function: