Archibald Elliott 38ac4093d9 [NFCI][Support] Avoid ASSERT_/EXPECT_TRUE(A <op> B)
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
2022-01-21 13:15:04 +00:00

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