1/* 2 * Copyright (c) 2002, Intel Corporation. All rights reserved. 3 * Created by: julie.n.fleischer REMOVE-THIS AT intel DOT com 4 * This file is licensed under the GPL license. For the full content 5 * of this license, see the COPYING file at the top level of this 6 * source tree. 7 8 General test that clock_gettime() returns a valid tp for a given 9 clock_id (the clock_id chosen for this test is CLOCK_REALTIME). 10 Validity is compared with gettimeofday(). See rationale.txt for 11 more info. 12 If the clocks are within ACCEPTABLEDELTA of each other, the test is 13 a pass. 14 */ 15#include <stdio.h> 16#include <time.h> 17#include <sys/time.h> 18#include <stdlib.h> 19#include "posixtest.h" 20 21#define ACCEPTABLEDELTA 1 22 23int main(void) 24{ 25 struct timespec tpundertest; 26 struct timeval tvstandard; 27 int delta; 28 29 if (clock_gettime(CLOCK_REALTIME, &tpundertest) == 0) { 30 if (gettimeofday(&tvstandard, NULL) == 0) { 31 delta = (int)tvstandard.tv_sec - 32 (int)tpundertest.tv_sec; 33 if (abs(delta) <= ACCEPTABLEDELTA) { 34 printf("Test PASSED\n"); 35 return PTS_PASS; 36 } else { 37 printf("FAIL: expected %d, received %d\n", 38 (int)tvstandard.tv_sec, 39 (int)tpundertest.tv_sec); 40 return PTS_FAIL; 41 } 42 } else { 43 perror("Error calling gettimeofday()\n"); 44 return PTS_UNRESOLVED; 45 } 46 } 47 48 printf("clock_gettime() failed\n"); 49 return PTS_UNRESOLVED; 50} 51