Bugzilla – Attachment 3612 Details for
Bug 3468
Validity interval changes during Daylight Saving Time
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
unit test for parse_absolute_time(), including forced UTC conversions
bz3468r.diff (text/plain), 3.05 KB, created by
Damien Miller
on 2022-08-10 17:35:08 AEST
(
hide
)
Description:
unit test for parse_absolute_time(), including forced UTC conversions
Filename:
MIME Type:
Creator:
Damien Miller
Created:
2022-08-10 17:35:08 AEST
Size:
3.05 KB
patch
obsolete
>Index: test_convtime.c >=================================================================== >RCS file: /cvs/src/regress/usr.bin/ssh/unittests/misc/test_convtime.c,v >retrieving revision 1.2 >diff -u -p -r1.2 test_convtime.c >--- test_convtime.c 14 Dec 2021 21:25:27 -0000 1.2 >+++ test_convtime.c 10 Aug 2022 07:33:21 -0000 >@@ -16,6 +16,7 @@ > > #include "log.h" > #include "misc.h" >+#include "ssherr.h" > > void test_convtime(void); > >@@ -23,6 +24,7 @@ void > test_convtime(void) > { > char buf[1024]; >+ uint64_t t; > > TEST_START("misc_convtime"); > ASSERT_INT_EQ(convtime("0"), 0); >@@ -51,5 +53,65 @@ test_convtime(void) > #if INT_MAX == 2147483647 > ASSERT_INT_EQ(convtime("3550w5d3h14m8s"), -1); > #endif >+ TEST_DONE(); >+ >+ /* XXX timezones/DST make verification of this tricky */ >+ /* XXX maybe setenv TZ and tzset() to make it unambiguous? */ >+ TEST_START("misc_parse_absolute_time"); >+ ASSERT_INT_EQ(parse_absolute_time("20000101", &t), 0); >+ ASSERT_INT_EQ(parse_absolute_time("200001011223", &t), 0); >+ ASSERT_INT_EQ(parse_absolute_time("20000101122345", &t), 0); >+ >+ /* forced UTC TZ */ >+ ASSERT_INT_EQ(parse_absolute_time("20000101Z", &t), 0); >+ ASSERT_U64_EQ(t, 946684800); >+ ASSERT_INT_EQ(parse_absolute_time("200001011223Z", &t), 0); >+ ASSERT_U64_EQ(t, 946729380); >+ ASSERT_INT_EQ(parse_absolute_time("20000101122345Z", &t), 0); >+ ASSERT_U64_EQ(t, 946729425); >+ ASSERT_INT_EQ(parse_absolute_time("20000101UTC", &t), 0); >+ ASSERT_U64_EQ(t, 946684800); >+ ASSERT_INT_EQ(parse_absolute_time("200001011223UTC", &t), 0); >+ ASSERT_U64_EQ(t, 946729380); >+ ASSERT_INT_EQ(parse_absolute_time("20000101122345UTC", &t), 0); >+ ASSERT_U64_EQ(t, 946729425); >+ >+ /* Bad month */ >+ ASSERT_INT_EQ(parse_absolute_time("20001301", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("20000001", &t), >+ SSH_ERR_INVALID_FORMAT); >+ /* Incomplete */ >+ ASSERT_INT_EQ(parse_absolute_time("2", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("2000", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("20000", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("200001", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("2000010", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("200001010", &t), >+ SSH_ERR_INVALID_FORMAT); >+ /* Bad day, hour, minute, second */ >+ ASSERT_INT_EQ(parse_absolute_time("20000199", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("200001019900", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("200001010099", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("20000101000099", &t), >+ SSH_ERR_INVALID_FORMAT); >+ /* Invalid TZ specifier */ >+ ASSERT_INT_EQ(parse_absolute_time("20000101ZZ", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("20000101PDT", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("20000101U", &t), >+ SSH_ERR_INVALID_FORMAT); >+ ASSERT_INT_EQ(parse_absolute_time("20000101UTCUTC", &t), >+ SSH_ERR_INVALID_FORMAT); >+ > TEST_DONE(); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
dtucker
:
ok+
Actions:
View
|
Diff
Attachments on
bug 3468
:
3611
| 3612 |
3613