|  | //===- unittests/Support/UTCTimeTest.cpp ----------------- ----------------===// | 
|  | // | 
|  | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | 
|  | // See https://llvm.org/LICENSE.txt for license information. | 
|  | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #include "llvm/Support/Chrono.h" | 
|  | #include "gtest/gtest.h" | 
|  | #include "llvm/Support/CommandLine.h" | 
|  | #include "llvm/Support/FormatProviders.h" | 
|  | #include "llvm/Support/FormatVariadic.h" | 
|  |  | 
|  | namespace llvm { | 
|  | namespace sys { | 
|  | namespace { | 
|  |  | 
|  | TEST(UTCTime, convertutc) { | 
|  | // Get the current time. | 
|  | time_t currentTime; | 
|  | time(¤tTime); | 
|  |  | 
|  | // Convert with toUtcTime. | 
|  | SmallString<15> customResultString; | 
|  | raw_svector_ostream T(customResultString); | 
|  | T << formatv("{0:%Y-%m-%d %H:%M:%S}", llvm::sys::toUtcTime(currentTime)); | 
|  |  | 
|  | // Convert with gmtime. | 
|  | char gmtimeResultString[20]; | 
|  | std::tm *gmtimeResult = std::gmtime(¤tTime); | 
|  | assert(gmtimeResult != NULL); | 
|  | std::strftime(gmtimeResultString, 20, "%Y-%m-%d %H:%M:%S", gmtimeResult); | 
|  |  | 
|  | // Compare the formatted strings. | 
|  | EXPECT_EQ(customResultString, StringRef(gmtimeResultString, 19)); | 
|  |  | 
|  | } | 
|  | } // namespace | 
|  | } // namespace sys | 
|  | } // namespace llvm |