summaryrefslogtreecommitdiff
path: root/absl/time
diff options
context:
space:
mode:
authorGravatar Abseil Team <absl-team@google.com>2017-09-25 15:35:12 -0700
committerGravatar katzdm <katzdm@google.com>2017-09-25 18:36:47 -0400
commit2a62fbdedf64673f7c858bc6487bd15bcd2ca180 (patch)
treef77d635ce2247cca963fcb35e8816a1787f0f7eb /absl/time
parentcf6ab6bb2b800fae859ccc735f398d22a7336a00 (diff)
Changes imported from Abseil "staging" branch:
- 76fcc6eebc6a5b5a885f04e1579762573c2bf9bc Fix broken links, and remove old README files from Git. by Daniel Katz <katzdm@google.com> - 174287df7bc7c1832fe4a66d82ee0f61a8788460 Remove "test_dependencies.bzl" file. Not needed. by Daniel Katz <katzdm@google.com> - 4e9416b389e61f5258c3a7fc0f7966f03d9ae086 Fix broken about/intro link in README.md by Abseil Team <absl-team@google.com> - 2a662ff187987246cf8f3c1de83eaa23f1d2c034 Delete extraneous comments. by Abseil Team <absl-team@google.com> - 3bdc2d15af21e0297ccf39c90c0ed51a35900679 Cleanup usage of GUNIT_DEPS_SELECTOR/GUNIT_MAIN_DEPS_SELE... by Gennadiy Rozental <rogeeff@google.com> - bec32fc8efee3ae5b67c07dcae08d74540c944d0 Enable time_test on windows: by Xiaoyi Zhang <zhangxy@google.com> GitOrigin-RevId: 76fcc6eebc6a5b5a885f04e1579762573c2bf9bc Change-Id: I9556164f6b48dae1fa02b2ec6444517faed23e1f
Diffstat (limited to 'absl/time')
-rw-r--r--absl/time/BUILD.bazel5
-rw-r--r--absl/time/format_test.cc6
-rw-r--r--absl/time/internal/test_util.cc5
-rw-r--r--absl/time/time.h4
4 files changed, 12 insertions, 8 deletions
diff --git a/absl/time/BUILD.bazel b/absl/time/BUILD.bazel
index 0d340f25..c34f5248 100644
--- a/absl/time/BUILD.bazel
+++ b/absl/time/BUILD.bazel
@@ -19,10 +19,6 @@ load(
"ABSL_DEFAULT_COPTS",
"ABSL_TEST_COPTS",
)
-load(
- "//absl:test_dependencies.bzl",
- "GUNIT_MAIN_DEPS_SELECTOR",
-)
package(default_visibility = ["//visibility:public"])
@@ -85,7 +81,6 @@ cc_test(
"no_test_android_x86",
"no_test_ios_x86_64",
"no_test_loonix",
- "no_test_msvc_x64",
],
deps = [
":test_util",
diff --git a/absl/time/format_test.cc b/absl/time/format_test.cc
index b139ff6f..09d1fe66 100644
--- a/absl/time/format_test.cc
+++ b/absl/time/format_test.cc
@@ -392,6 +392,11 @@ TEST(FormatParse, RoundTrip) {
EXPECT_EQ(in, out); // RFC1123_full includes %z
}
+ // `absl::FormatTime()` falls back to strftime() for "%c", which appears to
+ // work. On Windows, `absl::ParseTime()` falls back to std::get_time() which
+ // appears to fail on "%c" (or at least on the "%c" text produced by
+ // `strftime()`). This makes it fail the round-trip test.
+#ifndef _MSC_VER
// Even though we don't know what %c will produce, it should roundtrip,
// but only in the 0-offset timezone.
{
@@ -400,6 +405,7 @@ TEST(FormatParse, RoundTrip) {
EXPECT_TRUE(absl::ParseTime("%c", s, &out, &err)) << s << ": " << err;
EXPECT_EQ(in, out);
}
+#endif // _MSC_VER
}
TEST(FormatParse, RoundTripDistantFuture) {
diff --git a/absl/time/internal/test_util.cc b/absl/time/internal/test_util.cc
index 21d5f2a6..1a415f89 100644
--- a/absl/time/internal/test_util.cc
+++ b/absl/time/internal/test_util.cc
@@ -64,8 +64,13 @@ const struct ZoneInfo {
reinterpret_cast<char*>(America_Los_Angeles), America_Los_Angeles_len},
// Allows use of the local time zone from a common system-specific location.
+#ifdef _MSC_VER
+ {"localtime", //
+ reinterpret_cast<char*>(America_Los_Angeles), America_Los_Angeles_len},
+#else
{"/etc/localtime", //
reinterpret_cast<char*>(America_Los_Angeles), America_Los_Angeles_len},
+#endif
};
class TestZoneInfoSource : public cctz::ZoneInfoSource {
diff --git a/absl/time/time.h b/absl/time/time.h
index 69763437..b0ebf6ee 100644
--- a/absl/time/time.h
+++ b/absl/time/time.h
@@ -992,8 +992,7 @@ bool ParseTime(const std::string& format, const std::string& input, TimeZone tz,
// --start_time=2016-01-02T03:04:05.678+08:00
//
// Note: A UTC offset (or 'Z' indicating a zero-offset from UTC) is required.
-// If your application doesn't have a UTC offset to specify, perhaps you're
-// really specifying a Civil Time
+//
// Additionally, if you'd like to specify a time as a count of
// seconds/milliseconds/etc from the Unix epoch, use a absl::Duration flag and
// add that duration to absl::UnixEpoch() to get a absl::Time.
@@ -1026,7 +1025,6 @@ std::string UnparseFlag(Time t);
// - https://github.com/google/cctz
// - http://www.iana.org/time-zones
// - http://en.wikipedia.org/wiki/Zoneinfo
-// TimeZone backing data with your binary.
class TimeZone {
public:
explicit TimeZone(cctz::time_zone tz) : cz_(tz) {}