LCOV - code coverage report
Current view: top level - test - time_fncs.c (source / functions) Hit Total Coverage
Test: all.info Lines: 64 64 100.0 %
Date: 2012-09-24 Functions: 1 1 100.0 %
Branches: 19 38 50.0 %

           Branch data     Line data    Source code
       1                 :            : 
       2                 :            : #include "gwrl/event.h"
       3                 :            : 
       4                 :          1 : int main(int argc, char ** argv) {
       5                 :          1 :         int64_t ms1 = 1345223184123;
       6                 :          1 :         struct timeval tv1;
       7                 :          1 :         struct timeval tv2;
       8                 :          1 :         struct timespec ts1;
       9                 :          1 :         struct timespec ts2;
      10                 :          1 :         struct timespec ts3;
      11                 :            : 
      12                 :          1 :         gwtm_ms_to_timeval(ms1,&tv1);
      13                 :          1 :         assert(tv1.tv_sec == 1345223184);
      14         [ -  + ]:          1 :         assert(tv1.tv_usec == 123000);
      15                 :            :         
      16                 :          1 :         gwtm_timeval_to_ms(&tv1,&ms1);
      17         [ -  + ]:          1 :         assert(ms1 == 1345223184123);
      18                 :            : 
      19                 :          1 :         ms1 = 10;
      20                 :          1 :         tv1.tv_sec = 0;
      21                 :          1 :         tv1.tv_usec = 0;
      22                 :          1 :         gwtm_timeval_to_ms(&tv1,&ms1);
      23         [ -  + ]:          1 :         assert(ms1 == 0);
      24                 :            : 
      25                 :          1 :         ms1 = 10;
      26                 :          1 :         ts1.tv_sec = 0;
      27                 :          1 :         ts1.tv_nsec = 0;
      28                 :          1 :         gwtm_timespec_to_ms(&ts1,&ms1);
      29         [ -  + ]:          1 :         assert(ms1 == 0);
      30                 :            : 
      31                 :          1 :         gwtm_gettimeofday_timespec(&ts1);
      32                 :          1 :         memcpy(&ts2,&ts1,sizeof(ts2));
      33                 :            : 
      34                 :          1 :         gwtm_timespec_to_ms(&ts1,&ms1);
      35         [ -  + ]:          1 :         assert(ms1 >= (ts1.tv_sec*1000));
      36         [ -  + ]:          1 :         assert(ms1 < ((int64_t)(ts1.tv_sec+1)*1000));
      37                 :            : 
      38                 :          1 :         gwtm_ms_to_timespec(ms1,&ts1);
      39         [ -  + ]:          1 :         assert(ts1.tv_sec == ts2.tv_sec);
      40         [ -  + ]:          1 :         assert(ts2.tv_nsec >= ts1.tv_nsec);
      41         [ -  + ]:          1 :         assert(ts2.tv_nsec < (ts1.tv_nsec+1000000));
      42                 :            :         
      43                 :          1 :         gettimeofday(&tv1,NULL);
      44                 :          1 :         memcpy(&tv2,&tv1,sizeof(tv2));
      45                 :          1 :         gwtm_add_ms_to_timeval(2000,&tv2);
      46                 :          1 :         gwtm_add_ms_to_timeval(0,&tv2);
      47         [ -  + ]:          1 :         assert(tv2.tv_sec == (tv1.tv_sec+2));
      48                 :            :         
      49                 :          1 :         gwtm_gettimeofday_timespec(&ts1);
      50                 :          1 :         memcpy(&ts2,&ts1,sizeof(ts2));
      51                 :          1 :         gwtm_add_ms_to_timespec(2000,&ts2);
      52         [ -  + ]:          1 :         assert(ts2.tv_sec == (ts1.tv_sec+2));
      53                 :            : 
      54                 :          1 :         gwtm_gettimeofday_timespec(&ts1);
      55                 :          1 :         sleep(.2);
      56                 :          1 :         gwtm_gettimeofday_timespec(&ts2);
      57         [ -  + ]:          1 :         assert((gwtm_timespec_cmp(&ts1,&ts2) == &ts1));
      58                 :            : 
      59                 :          1 :         gwtm_gettimeofday_timespec(&ts1);
      60                 :          1 :         gwtm_timespec_to_timeval(&ts1,&tv1);
      61         [ -  + ]:          1 :         assert(tv1.tv_sec == ts1.tv_sec);
      62         [ -  + ]:          1 :         assert(tv1.tv_usec == ((long)ts1.tv_nsec)/1000);
      63                 :            : 
      64                 :          1 :         gettimeofday(&tv1,0);
      65                 :          1 :         gwtm_timeval_to_timespec(&tv1,&ts1);
      66         [ -  + ]:          1 :         assert(tv1.tv_sec == ts1.tv_sec);
      67                 :            :         //assert(ts2.tv_nsec == (tv1.tv_usec*1000));
      68                 :            :         
      69                 :          1 :         gwtm_gettimeofday_timespec(&ts1);
      70                 :          1 :         sleep(.2);
      71                 :          1 :         gwtm_gettimeofday_timespec(&ts2);
      72         [ -  + ]:          1 :         assert( gwtm_timespec_copy_if_smaller(&ts2,&ts1) == false);
      73                 :          1 :         gwtm_timespec_copy_if_smaller(&ts1,&ts2);
      74                 :            : 
      75         [ -  + ]:          1 :         assert(ts1.tv_sec == ts2.tv_sec);
      76         [ -  + ]:          1 :         assert(ts1.tv_nsec == ts2.tv_nsec);
      77                 :            : 
      78                 :          1 :         gwtm_gettimeofday_timespec(&ts1);
      79                 :          1 :         sleep(.2);
      80                 :          1 :         gwtm_gettimeofday_timespec(&ts2);
      81                 :          1 :         gwtm_timespec_sub_into(&ts1,&ts2,&ts3);
      82         [ -  + ]:          1 :         assert(gwtm_timespec_is_expired(&ts3));
      83                 :            : 
      84                 :          1 :         return 0;
      85                 :            : }

Generated by: LCOV version 1.9