2 * by: John Stultz <john.stultz@linaro.org>
3 * (C) Copyright Linaro 2016
4 * Licensed under the GPLv2
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
22 #include <sys/timex.h>
26 #include "../kselftest.h"
28 int set_tz(int min
, int dst
)
32 tz
.tz_minuteswest
= min
;
35 return settimeofday(0, &tz
);
43 memset(&tz
, 0, sizeof(tz
));
44 gettimeofday(&tv
, &tz
);
45 return tz
.tz_minuteswest
;
53 memset(&tz
, 0, sizeof(tz
));
54 gettimeofday(&tv
, &tz
);
58 int main(int argc
, char **argv
)
65 printf("tz_minuteswest started at %i, dst at %i\n", min
, dst
);
67 printf("Checking tz_minuteswest can be properly set: ");
69 for (i
= -15*60; i
< 15*60; i
+= 30) {
73 printf("[FAILED] expected: %i got %i\n", i
, ret
);
79 printf("Checking invalid tz_minuteswest values are caught: ");
82 if (!set_tz(-15*60-1, dst
)) {
83 printf("[FAILED] %i didn't return failure!\n", -15*60-1);
87 if (!set_tz(15*60+1, dst
)) {
88 printf("[FAILED] %i didn't return failure!\n", 15*60+1);
92 if (!set_tz(-24*60, dst
)) {
93 printf("[FAILED] %i didn't return failure!\n", -24*60);
97 if (!set_tz(24*60, dst
)) {
98 printf("[FAILED] %i didn't return failure!\n", 24*60);
105 return ksft_exit_pass();
109 return ksft_exit_fail();