From e24cd6bf3ed10f2d583579e7e0a6506f15cae907 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Mon, 6 May 2019 12:58:43 -0400 Subject: [PATCH] test: test json encode/decode of utime_t Signed-off-by: Casey Bodley --- src/test/common/test_json_formatter.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/test/common/test_json_formatter.cc b/src/test/common/test_json_formatter.cc index ed6972a7121..8a0f547a929 100644 --- a/src/test/common/test_json_formatter.cc +++ b/src/test/common/test_json_formatter.cc @@ -16,6 +16,7 @@ #include #include "common/ceph_json.h" +#include "common/Clock.h" #include @@ -56,3 +57,25 @@ TEST(formatter, bug_37706) { ASSERT_EQ(pgs.back(), "1.0"); } +TEST(formatter, utime) +{ + JSONFormatter formatter; + + utime_t input = ceph_clock_now(); + input.gmtime_nsec(formatter.dump_stream("timestamp")); + + bufferlist bl; + formatter.flush(bl); + + JSONParser parser; + EXPECT_TRUE(parser.parse(bl.c_str(), bl.length())); + + cout << input << " -> '" << std::string(bl.c_str(), bl.length()) + << std::endl; + + utime_t output; + decode_json_obj(output, &parser); + cout << " -> " << output << std::endl; + EXPECT_EQ(input.sec(), output.sec()); + EXPECT_EQ(input.nsec(), output.nsec()); +} -- 2.47.3