File: timecheck.c

package info (click to toggle)
libreswan 5.2-2.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 81,632 kB
  • sloc: ansic: 129,988; sh: 32,018; xml: 20,646; python: 10,303; makefile: 3,022; javascript: 1,506; sed: 574; yacc: 511; perl: 264; awk: 52
file content (72 lines) | stat: -rw-r--r-- 1,963 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/* test *time_t code, for libreswan
 *
 * Copyright (C) 2019 Andrew Cagney
 *
 * This library is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Library General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or (at your
 * option) any later version.  See <https://www.gnu.org/licenses/lgpl-2.1.txt>.
 *
 * This library is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
 * License for more details.
 *
 */

#include <stdio.h>

#include "lswcdefs.h"	/* for UNUSED */

#include "lswalloc.h"		/* for leaks */
#include "lswtool.h"		/* for tool_init_log() */

#include "timecheck.h"

/*
 * 1 second == 1000 milliseconds.
 *
 * These values are converted to either seconds or and milliseconds
 * (deltatime).  The time values store seconds, and microseconds.
 */

const struct time_cmp time_cmp[] = {
	/* basic */
	{ 1, 1, .eq = true, .le = true, .ge = true, },
	{ 1, 2, .ne = true, .le = true, .lt = true, },
	{ 2, 1, .ne = true, .ge = true, .gt = true, },
	/* 1:1000 */
	{ 1000, 1000, .eq = true, .le = true, .ge = true, },
	{ 1000, 2000, .ne = true, .le = true, .lt = true, },
	{ 2000, 1000, .ne = true, .ge = true, .gt = true, },
	/* mixed */
	{ 200, 1000, .ne = true, .le = true, .lt = true, },
	{ 1000, 200, .ne = true, .ge = true, .gt = true, },
	{ 1001, 1000, .ne = true, .ge = true, .gt = true, },
	{ 1000, 1001, .ne = true, .le = true, .lt = true, },
	{ .sentinel = true, },
};

int fails = 0;

int main(int argc UNUSED, char *argv[])
{
	leak_detective = true;
	struct logger *logger = tool_logger(argc, argv);

	check_deltatime();
	check_monotime();
	check_realtime();

	if (report_leaks(logger)) {
		fails++;
	}


	if (fails > 0) {
		fprintf(stderr, "TOTAL FAILURES: %d\n", fails);
		return 1;
	}

	return 0;
}