Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
smells of the day
[simgrid.git] / teshsuite / smpi / timers / timers.c
index 3d7dcbb..18ff5d8 100644 (file)
@@ -8,59 +8,60 @@
 #include <time.h>
 #endif
 
+// Test if we correctly intercept gettimeofday and clock_gettime, and sleeps
 
-//Test if we correctly intercept gettimeofday and clock_gettime, and sleeps
-
-int main( int argc, char *argv[] )
+int main(int argc, char* argv[])
 {
-    MPI_Init( &argc, &argv );
+  MPI_Init(&argc, &argv);
 
-    //gettimeofday - First test that two consecutive calls will return the same
-    //time, as computing power is set to -1
+  // gettimeofday - First test that two consecutive calls will return the same
+  // time, as computing power is set to -1
 
-    struct timeval tv1, tv2;
-    gettimeofday (&tv1, NULL);
-    gettimeofday (&tv2, NULL);
-    if ((tv1.tv_sec != tv2.tv_sec) || (tv1.tv_usec != tv2.tv_usec))
-      printf("Error, two consecutive calls to gettimeofday did not return same time (with cpu_threshold set to 0)\n");
+  struct timeval tv1;
+  struct timeval tv2;
+  gettimeofday(&tv1, NULL);
+  gettimeofday(&tv2, NULL);
+  if ((tv1.tv_sec != tv2.tv_sec) || (tv1.tv_usec != tv2.tv_usec))
+    printf("Error, two consecutive calls to gettimeofday did not return same time (with cpu_threshold set to 0)\n");
 
-    //sleep one 1 second
-    gettimeofday (&tv1, NULL);
-    sleep(1);
-    gettimeofday (&tv2, NULL);
-    long res = ((tv2.tv_sec * 1000000 + tv2.tv_usec)) - ((tv1.tv_sec * 1000000 + tv1.tv_usec));
-    if (res < 999998 || res > 1000002)
-      printf("Error, sleep(1) did not exactly slept 1s\n");
+  // sleep one 1 second
+  gettimeofday(&tv1, NULL);
+  sleep(1);
+  gettimeofday(&tv2, NULL);
+  long res = ((tv2.tv_sec * 1000000 + tv2.tv_usec)) - ((tv1.tv_sec * 1000000 + tv1.tv_usec));
+  if (res < 999998 || res > 1000002)
+    printf("Error, sleep(1) did not exactly slept 1s\n");
 
-    //usleep 100 us
-    gettimeofday (&tv1, NULL);
-    usleep(100);
-    gettimeofday (&tv2, NULL);
-    res = ((tv2.tv_sec * 1000000 + tv2.tv_usec)) - ((tv1.tv_sec * 1000000 + tv1.tv_usec));
-    if (res <98 || res > 102)
-      printf("Error, usleep did not really sleep 100us, but %ld\n", res);
+  // usleep 100 us
+  gettimeofday(&tv1, NULL);
+  usleep(100);
+  gettimeofday(&tv2, NULL);
+  res = ((tv2.tv_sec * 1000000 + tv2.tv_usec)) - ((tv1.tv_sec * 1000000 + tv1.tv_usec));
+  if (res < 98 || res > 102)
+    printf("Error, usleep did not really sleep 100us, but %ld\n", res);
 
 
-    // clock_gettime, only if available
+  // clock_gettime, only if available
 #if _POSIX_TIMERS > 0
-    struct timespec tp1, tp2, tpsleep;
-    clock_gettime (CLOCK_REALTIME, &tp1);
-    clock_gettime (CLOCK_REALTIME, &tp2);
-    if ((tp1.tv_sec != tp2.tv_sec) || (tp1.tv_nsec != tp2.tv_nsec))
-      printf("Error, two consecutive calls to gettimeofday did not return same time (with running power to 0)\n");
-
-    //nanosleep for 100ns
-    clock_gettime (CLOCK_REALTIME, &tp1);
-    tpsleep.tv_sec=0;
-    tpsleep.tv_nsec=100;
-    nanosleep(&tpsleep, NULL);
-    clock_gettime (CLOCK_REALTIME, &tp2);
-    res = ((tp2.tv_sec * 1000000000 + tp2.tv_nsec)) - ((tp1.tv_sec * 1000000000 + tp1.tv_nsec));
-    if (res <98 || res > 102)
-      printf("Error, nanosleep did not really sleep 100ns, but %ld\n", res);
+  struct timespec tp1;
+  struct timespec tp2;
+  struct timespec tpsleep;
+  clock_gettime(CLOCK_REALTIME, &tp1);
+  clock_gettime(CLOCK_REALTIME, &tp2);
+  if ((tp1.tv_sec != tp2.tv_sec) || (tp1.tv_nsec != tp2.tv_nsec))
+    printf("Error, two consecutive calls to gettimeofday did not return same time (with running power to 0)\n");
 
+  // nanosleep for 100ns
+  clock_gettime(CLOCK_REALTIME, &tp1);
+  tpsleep.tv_sec  = 0;
+  tpsleep.tv_nsec = 100;
+  nanosleep(&tpsleep, NULL);
+  clock_gettime(CLOCK_REALTIME, &tp2);
+  res = ((tp2.tv_sec * 1000000000 + tp2.tv_nsec)) - ((tp1.tv_sec * 1000000000 + tp1.tv_nsec));
+  if (res < 98 || res > 102)
+    printf("Error, nanosleep did not really sleep 100ns, but %ld\n", res);
 #endif
 
-    MPI_Finalize();
-    return 0;
+  MPI_Finalize();
+  return 0;
 }