From: Casey Bodley Date: Mon, 6 May 2019 16:58:43 +0000 (-0400) Subject: test: test json encode/decode of utime_t X-Git-Tag: v15.1.0~2616^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e24cd6bf3ed10f2d583579e7e0a6506f15cae907;p=ceph.git test: test json encode/decode of utime_t Signed-off-by: Casey Bodley --- diff --git a/src/test/common/test_json_formatter.cc b/src/test/common/test_json_formatter.cc index ed6972a71213..8a0f547a9298 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()); +}