Merged changes from 3.14 branch to revno 12630
This commit is contained in:
@@ -19,7 +19,7 @@ extern "C" {
|
||||
|
||||
#ifdef isfinite
|
||||
# undef finite
|
||||
# define finite(x) isfinite(x)
|
||||
# define finite(x) isfinite((double)(x))
|
||||
#endif
|
||||
|
||||
epicsShareExtern float epicsNAN;
|
||||
|
||||
@@ -98,6 +98,7 @@ TESTS += epicsTimeTest
|
||||
|
||||
TESTPROD_HOST += epicsTimeZoneTest
|
||||
epicsTimeZoneTest_SRCS += epicsTimeZoneTest.c
|
||||
rtemsTestHarness_SRCS += epicsTimeZoneTest.c
|
||||
TESTS += epicsTimeZoneTest
|
||||
|
||||
TESTPROD_HOST += epicsThreadTest
|
||||
|
||||
@@ -47,6 +47,9 @@ int epicsTimeTest(void);
|
||||
int epicsTypesTest(void);
|
||||
int epicsInlineTest(void);
|
||||
int macDefExpandTest(void);
|
||||
#ifdef __rtems__
|
||||
int epicsTimeZoneTest(void);
|
||||
#endif
|
||||
int macLibTest(void);
|
||||
int ringBytesTest(void);
|
||||
int ringPointerTest(void);
|
||||
@@ -97,6 +100,11 @@ void epicsRunLibComTests(void)
|
||||
runTest(epicsTypesTest);
|
||||
runTest(epicsInlineTest);
|
||||
runTest(macDefExpandTest);
|
||||
|
||||
#ifdef __rtems__
|
||||
runTest(epicsTimeZoneTest);
|
||||
#endif
|
||||
|
||||
runTest(macLibTest);
|
||||
runTest(ringBytesTest);
|
||||
runTest(ringPointerTest);
|
||||
|
||||
@@ -17,15 +17,9 @@
|
||||
#endif
|
||||
|
||||
static
|
||||
void setTZ(const char *base, const char *dst, int offset)
|
||||
void setTZ(const char *tz)
|
||||
{
|
||||
char tz[20];
|
||||
if(offset!=0 || dst)
|
||||
sprintf(tz, "%s%d%s", base, offset/3600, dst);
|
||||
else
|
||||
sprintf(tz, "%s", base);
|
||||
testDiag("TZ=\"%s\"", tz);
|
||||
|
||||
testDiag("TZ = \"%s\"", tz);
|
||||
epicsEnvSet("TZ", tz);
|
||||
tzset();
|
||||
}
|
||||
@@ -86,32 +80,52 @@ void test_gmtime(time_t T, int sec, int min, int hour,
|
||||
|
||||
MAIN(epicsTimeZoneTest)
|
||||
{
|
||||
testPlan(80);
|
||||
testPlan(160);
|
||||
/* 1445259616
|
||||
* Mon Oct 19 09:00:16 2015 EDT
|
||||
* Mon Oct 19 08:00:16 2015 CDT
|
||||
* Mon Oct 19 03:00:16 2015 HST (no dst)
|
||||
* Mon Oct 19 13:00:16 2015 UTC
|
||||
*/
|
||||
testDiag("POSIX 1445259616");
|
||||
setTZ("EST", "EDT", 5*3600);
|
||||
test_localtime(1445259616ul, 16, 0, 9, 19, 9, 2015, 1, 291, 1);
|
||||
setTZ("CST", "CDT", 6*3600);
|
||||
test_localtime(1445259616ul, 16, 0, 8, 19, 9, 2015, 1, 291, 1);
|
||||
setTZ("UTC", NULL, 0);
|
||||
setTZ("EST5EDT");
|
||||
test_localtime(1445259616ul, 16, 0, 9, 19, 9, 2015, 1, 291, 1);
|
||||
test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
|
||||
setTZ("CST6CDT");
|
||||
test_localtime(1445259616ul, 16, 0, 8, 19, 9, 2015, 1, 291, 1);
|
||||
test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
|
||||
#if defined(__rtems__)
|
||||
setTZ("HST10HST10");
|
||||
#else
|
||||
setTZ("HST10");
|
||||
#endif
|
||||
test_localtime(1445259616ul, 16, 0, 3, 19, 9, 2015, 1, 291, 0);
|
||||
test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
|
||||
setTZ("UTC0");
|
||||
test_localtime(1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
|
||||
test_gmtime(1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
|
||||
test_gmtime (1445259616ul, 16, 0, 13, 19, 9, 2015, 1, 291, 0);
|
||||
/* 1421244931
|
||||
* Wed Jan 14 09:15:31 2015 EST
|
||||
* Wed Jan 14 08:15:31 2015 CST
|
||||
* Wed Jan 14 04:15:31 2015 HST
|
||||
* Wed Jan 14 14:15:31 2015 UTC
|
||||
*/
|
||||
testDiag("POSIX 1421244931");
|
||||
setTZ("EST", "EDT", 5*3600);
|
||||
test_localtime(1421244931ul, 31, 15, 9, 14, 0, 2015, 3, 13, 0);
|
||||
setTZ("CST", "CDT", 6*3600);
|
||||
test_localtime(1421244931ul, 31, 15, 8, 14, 0, 2015, 3, 13, 0);
|
||||
setTZ("UTC", NULL, 0);
|
||||
setTZ("EST5EDT");
|
||||
test_localtime(1421244931ul, 31, 15, 9, 14, 0, 2015, 3, 13, 0);
|
||||
test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
|
||||
setTZ("CST6CDT");
|
||||
test_localtime(1421244931ul, 31, 15, 8, 14, 0, 2015, 3, 13, 0);
|
||||
test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
|
||||
#if defined(__rtems__)
|
||||
setTZ("HST10HST10");
|
||||
#else
|
||||
setTZ("HST10");
|
||||
#endif
|
||||
test_localtime(1421244931ul, 31, 15, 4, 14, 0, 2015, 3, 13, 0);
|
||||
test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
|
||||
setTZ("UTC0");
|
||||
test_localtime(1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
|
||||
test_gmtime(1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
|
||||
test_gmtime (1421244931ul, 31, 15, 14, 14, 0, 2015, 3, 13, 0);
|
||||
return testDone();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user