Return to unit1323.c CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / tests / unit |
1.1 ! misho 1: /*************************************************************************** ! 2: * _ _ ____ _ ! 3: * Project ___| | | | _ \| | ! 4: * / __| | | | |_) | | ! 5: * | (__| |_| | _ <| |___ ! 6: * \___|\___/|_| \_\_____| ! 7: * ! 8: * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al. ! 9: * ! 10: * This software is licensed as described in the file COPYING, which ! 11: * you should have received as part of this distribution. The terms ! 12: * are also available at https://curl.haxx.se/docs/copyright.html. ! 13: * ! 14: * You may opt to use, copy, modify, merge, publish, distribute and/or sell ! 15: * copies of the Software, and permit persons to whom the Software is ! 16: * furnished to do so, under the terms of the COPYING file. ! 17: * ! 18: * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY ! 19: * KIND, either express or implied. ! 20: * ! 21: ***************************************************************************/ ! 22: #include "curlcheck.h" ! 23: ! 24: #include "timeval.h" ! 25: ! 26: static CURLcode unit_setup(void) ! 27: { ! 28: return CURLE_OK; ! 29: } ! 30: ! 31: static void unit_stop(void) ! 32: { ! 33: ! 34: } ! 35: ! 36: struct a { ! 37: struct curltime first; ! 38: struct curltime second; ! 39: time_t result; ! 40: }; ! 41: ! 42: UNITTEST_START ! 43: { ! 44: struct a tests[] = { ! 45: { {36762, 8345 }, {36761, 995926 }, 13 }, ! 46: { {36761, 995926 }, {36762, 8345 }, -13 }, ! 47: { {36761, 995926 }, {0, 0}, 36761995 }, ! 48: { {0, 0}, {36761, 995926 }, -36761995 }, ! 49: }; ! 50: size_t i; ! 51: ! 52: for(i = 0; i < sizeof(tests)/sizeof(tests[0]); i++) { ! 53: timediff_t result = Curl_timediff(tests[i].first, tests[i].second); ! 54: if(result != tests[i].result) { ! 55: printf("%d.%06u to %d.%06u got %d, but expected %d\n", ! 56: tests[i].first.tv_sec, ! 57: tests[i].first.tv_usec, ! 58: tests[i].second.tv_sec, ! 59: tests[i].second.tv_usec, ! 60: result, ! 61: tests[i].result); ! 62: fail("unexpected result!"); ! 63: } ! 64: } ! 65: } ! 66: UNITTEST_STOP