diff --git a/src/libCom/test/osiTimeTest.cpp b/src/libCom/test/osiTimeTest.cpp index 7adbb2fd7..221aa2933 100644 --- a/src/libCom/test/osiTimeTest.cpp +++ b/src/libCom/test/osiTimeTest.cpp @@ -1,5 +1,6 @@ #include #include +#include #include "osiTime.h" #include "osiThread.h" @@ -11,7 +12,7 @@ int osiTimeTest (void); int osiTimeTest (void) { - unsigned i; + unsigned i, error; osiTime begin = osiTime::getCurrent(); const unsigned wasteTime = 100000u; const int nTimes = 100; @@ -22,7 +23,9 @@ int osiTimeTest (void) unsigned long nanoSec; double diff; - for(int iTimes=0; iTimes < nTimes; ++iTimes) { + printf ("osiTime Test (%3d loops)\n========================\n\n", nTimes); + + for (int iTimes=0; iTimes < nTimes; ++iTimes) { for (i=0; i=end)) printf("copy>=end %d\n",iTimes); - if(!(end>begin)) printf("end>begin %d\n",iTimes); - if(!(end>=begin)) printf("end>=begin %d\n",iTimes); - if(!(begin=end)) { + printf ("Loop #%3d: Failed test copy>=end %d\n",iTimes); + error = 1; + } + if (!(end>begin)) { + printf ("Loop #%3d: Failed test end>begin %d\n",iTimes); + error = 1; + } + if (!(end>=begin)) { + printf ("Loop #%3d: Failed test end>=begin %d\n",iTimes); + error = 1; + } + if (!(begin 1.0e-6)) { + printf ("Loop #%3d: Failed test (begin+=diff)==end by %12.9f\n", + iTimes, fabs(begin-end)); + error = 1; + } + begin -= diff; - if(!(begin+diff==end)) printf("begin+diff==end %d\n",iTimes); + if (!(begin+diff==end) && (fabs(begin+diff-end) > 1.0e-6)) { + printf ("Loop #%3d: Failed test begin+diff==end\n",iTimes); + error = 1; + } // // test struct tm conversions // ansiDate = begin; begin = ansiDate; - if(!(begin+diff==end)) printf("begin+diff==end %d\n",iTimes); + if (!(begin+diff==end) && (fabs(begin+diff-end) > 1.0e-6)) { + printf ("Loop #%3d: Failed test begin+diff==end " + "after tm conversions\n",iTimes); + error = 1; + } // // test struct timespec conversion // ts = begin; begin = ts; - if(!(begin+diff==end)) printf("begin+diff==end %d\n",iTimes); - + if (!(begin+diff==end) && (fabs(begin+diff-end) > 1.0e-6)) { + printf ("Loop #%3d: Failed test begin+diff==end " + "after timespec conversions\n",iTimes); + error = 1; + } + + if (error) { + printf ("Loop #%3d: begin ", iTimes); begin.show(0); + printf ("Loop #%3d: end ", iTimes); end.show(0); + printf ("Loop #%3d: diff %12.9f\n\n", iTimes, diff); + } } - return(0); + return 0; } + +/* **************************** Emacs Editing Sequences ***************** */ +/* Local Variables: */ +/* tab-width: 4 */ +/* c-basic-offset: 4 */ +/* c-comment-only-line-offset: 0 */ +/* c-file-offsets: ((substatement-open . 0) (label . 0)) */ +/* End: */