mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-30 02:56:05 +00:00

The error messages in tests are far better when a test fails if the test is written using ASSERT_/EXPECT_<operator>(A, B) rather than ASSERT_/EXPECT_TRUE(A <operator> B). This commit updates all of llvm/unittests/Support to use these macros where possible. This change has not been possible in: - llvm/unittests/Support/FSUniqueIDTest.cpp - due to not overloading operators beyond ==, != and <. - llvm/unittests/Support/BranchProbabilityTest.cpp - where the unchanged tests are of the operator overloads themselves. There are other possibilities of this conversion not being valid, which have not applied in these tests, as they do not use NULL (they use nullptr), and they do not use const char* (they use std::string or StringRef). Reviewed By: mubashar_ Differential Revision: https://reviews.llvm.org/D117319
65 lines
1.3 KiB
C++
65 lines
1.3 KiB
C++
//===- unittests/TimerTest.cpp - Timer tests ------------------------------===//
|
|
//
|
|
// 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/Timer.h"
|
|
#include "gtest/gtest.h"
|
|
|
|
#if _WIN32
|
|
#include <windows.h>
|
|
#else
|
|
#include <time.h>
|
|
#endif
|
|
|
|
using namespace llvm;
|
|
|
|
namespace {
|
|
|
|
// FIXME: Put this somewhere in Support, it's also used in LockFileManager.
|
|
void SleepMS() {
|
|
#if _WIN32
|
|
Sleep(1);
|
|
#else
|
|
struct timespec Interval;
|
|
Interval.tv_sec = 0;
|
|
Interval.tv_nsec = 1000000;
|
|
nanosleep(&Interval, nullptr);
|
|
#endif
|
|
}
|
|
|
|
TEST(Timer, Additivity) {
|
|
Timer T1("T1", "T1");
|
|
|
|
EXPECT_TRUE(T1.isInitialized());
|
|
|
|
T1.startTimer();
|
|
T1.stopTimer();
|
|
auto TR1 = T1.getTotalTime();
|
|
|
|
T1.startTimer();
|
|
SleepMS();
|
|
T1.stopTimer();
|
|
auto TR2 = T1.getTotalTime();
|
|
|
|
EXPECT_LT(TR1, TR2);
|
|
}
|
|
|
|
TEST(Timer, CheckIfTriggered) {
|
|
Timer T1("T1", "T1");
|
|
|
|
EXPECT_FALSE(T1.hasTriggered());
|
|
T1.startTimer();
|
|
EXPECT_TRUE(T1.hasTriggered());
|
|
T1.stopTimer();
|
|
EXPECT_TRUE(T1.hasTriggered());
|
|
|
|
T1.clear();
|
|
EXPECT_FALSE(T1.hasTriggered());
|
|
}
|
|
|
|
} // end anon namespace
|