aboutsummaryrefslogblamecommitdiffstats
path: root/cmptimespec.c
blob: 025a9466b5741a9959872de69ccc40b5b49d1c1f (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
                                                         
                   












                                                                                          



                         
                                                       



                         
                                                       



                                 
                                                       








                                                        
                                                       



                                 
                                                       













                                                        
                                                       



                         
                                                       



                         
                                                       



                         
                                                       



                         
                                                       























                                                        
                                                       



                         
                                                       








                                                        
                                                       























                                                        
                                                       



                         
                                                       



                         
                                                       



                         
                                                       



                         
                                                       



                         
                                                       








                                                        
                                                       













                                                        
                                                       



                         
                                                       



                         




                                                        
/* See LICENSE file for copyright and license details. */
#include "common.h"
#ifndef TEST


extern inline int libsimple_cmptimespec(const struct timespec *, const struct timespec *);


#else
#include "test.h"

int
main(void)
{
	struct timespec ts1, ts2;
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 0);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 999999999L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 0);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 999999999L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 999999999L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 999999999L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 999999999L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 999999999L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 0);
	ts1.tv_sec  = 1;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  = 1;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  = 1;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  = 1;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = 0;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = 1;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = 1;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = 1;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = 1;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = 1;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = 1;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 0);
	ts1.tv_sec  = 1;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = 1;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  = 1;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = 1;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = 1;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = 1;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 0);
	ts1.tv_sec  = -1;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  =  0;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = -1;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  =  0;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = -1;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  =  0;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = -1;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  =  0;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  =  0;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = -1;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  =  0;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = -1;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  =  0;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = -1;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  =  0;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = -1;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  = -1;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = -1;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 0);
	ts1.tv_sec  = -1;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = -1;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  = -1;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = -1;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = -1;
	ts1.tv_nsec = 1L;
	ts2.tv_sec  = -1;
	ts2.tv_nsec = 1L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 0);
	ts1.tv_sec  = 0;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = TIME_MAX;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = 1;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = TIME_MAX;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	ts1.tv_sec  = TIME_MAX;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = TIME_MAX;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 0);
	ts1.tv_sec  =  1;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  = -1;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == 1);
	ts1.tv_sec  = -1;
	ts1.tv_nsec = 0L;
	ts2.tv_sec  =  1;
	ts2.tv_nsec = 0L;
	assert(libsimple_cmptimespec(&ts1, &ts2) == -1);
	return 0;
}

#endif