Files
clang-p2996/lldb/unittests/Utility/TimeoutTest.cpp
Pavel Labath d02b1c83df Add a format_provider for the Timeout class
and use it in the appropriate log statements.

Formatting of chrono types in log messages was very clunky. This should
make it much nicer to use and give better output. For details of the
formatting options see the chrono formatter in llvm.

llvm-svn: 294738
2017-02-10 11:49:33 +00:00

31 lines
1.0 KiB
C++

//===-- TimeoutTest.cpp -----------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "lldb/Utility/Timeout.h"
#include "llvm/Support/FormatVariadic.h"
#include "gtest/gtest.h"
using namespace lldb_private;
using namespace std::chrono;
TEST(TimeoutTest, Construction) {
EXPECT_FALSE(Timeout<std::micro>(llvm::None));
EXPECT_TRUE(bool(Timeout<std::micro>(seconds(0))));
EXPECT_EQ(seconds(0), *Timeout<std::micro>(seconds(0)));
EXPECT_EQ(seconds(3), *Timeout<std::micro>(seconds(3)));
EXPECT_TRUE(bool(Timeout<std::micro>(Timeout<std::milli>(seconds(0)))));
}
TEST(TimeoutTest, Format) {
EXPECT_EQ("<infinite>",
llvm::formatv("{0}", Timeout<std::milli>(llvm::None)).str());
EXPECT_EQ("1000 ms",
llvm::formatv("{0}", Timeout<std::milli>(seconds(1))).str());
}