gtestify profile-handler_unittest
This commit is contained in:
parent
a4d9540d8b
commit
bbae941492
|
@ -1295,7 +1295,7 @@ if(GPERFTOOLS_BUILD_CPU_PROFILER)
|
||||||
|
|
||||||
add_executable(profile_handler_unittest src/tests/profile-handler_unittest.cc
|
add_executable(profile_handler_unittest src/tests/profile-handler_unittest.cc
|
||||||
src/profile-handler.h)
|
src/profile-handler.h)
|
||||||
target_link_libraries(profile_handler_unittest ${LIBPROFILER} Threads::Threads)
|
target_link_libraries(profile_handler_unittest ${LIBPROFILER} Threads::Threads gtest)
|
||||||
add_test(profile_handler_unittest profile_handler_unittest)
|
add_test(profile_handler_unittest profile_handler_unittest)
|
||||||
|
|
||||||
add_test(NAME profiler_unittest.sh
|
add_test(NAME profiler_unittest.sh
|
||||||
|
|
|
@ -865,8 +865,9 @@ profiledata_unittest_SOURCES = src/tests/profiledata_unittest.cc
|
||||||
profiledata_unittest_LDADD = libprofiler.la
|
profiledata_unittest_LDADD = libprofiler.la
|
||||||
|
|
||||||
TESTS += profile_handler_unittest
|
TESTS += profile_handler_unittest
|
||||||
profile_handler_unittest_SOURCES = src/tests/profile-handler_unittest.cc
|
profile_handler_unittest_SOURCES = src/tests/profile-handler_unittest.cc src/profile-handler.cc
|
||||||
profile_handler_unittest_LDADD = libprofiler.la
|
profile_handler_unittest_CPPFLAGS = $(gtest_CPPFLAGS)
|
||||||
|
profile_handler_unittest_LDADD = libstacktrace.la libcommon.la libgtest.la
|
||||||
|
|
||||||
TESTS += profiler_unittest.sh$(EXEEXT)
|
TESTS += profiler_unittest.sh$(EXEEXT)
|
||||||
profiler_unittest_sh_SOURCES = src/tests/profiler_unittest.sh
|
profiler_unittest_sh_SOURCES = src/tests/profiler_unittest.sh
|
||||||
|
|
|
@ -23,10 +23,7 @@
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
|
|
||||||
#include "base/logging.h"
|
#include "base/logging.h"
|
||||||
#include "tests/legacy_assertions.h"
|
#include "gtest/gtest.h"
|
||||||
|
|
||||||
// Some helpful macros for the test class
|
|
||||||
#define TEST_F(cls, fn) void cls :: fn()
|
|
||||||
|
|
||||||
// Do we expect the profiler to be enabled?
|
// Do we expect the profiler to be enabled?
|
||||||
DEFINE_bool(test_profiler_enabled, true,
|
DEFINE_bool(test_profiler_enabled, true,
|
||||||
|
@ -191,7 +188,7 @@ static void TickCounter(int sig, siginfo_t* sig_info, void *vuc,
|
||||||
}
|
}
|
||||||
|
|
||||||
// This class tests the profile-handler.h interface.
|
// This class tests the profile-handler.h interface.
|
||||||
class ProfileHandlerTest {
|
class ProfileHandlerTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
// Determines the timer type.
|
// Determines the timer type.
|
||||||
|
@ -216,7 +213,7 @@ class ProfileHandlerTest {
|
||||||
// left behind by the previous test or during module initialization when
|
// left behind by the previous test or during module initialization when
|
||||||
// the test program was started.
|
// the test program was started.
|
||||||
// 3. Starts a busy worker thread to accumulate CPU usage.
|
// 3. Starts a busy worker thread to accumulate CPU usage.
|
||||||
virtual void SetUp() {
|
void SetUp() override {
|
||||||
// Reset the state of ProfileHandler between each test. This unregisters
|
// Reset the state of ProfileHandler between each test. This unregisters
|
||||||
// all callbacks and stops the timer.
|
// all callbacks and stops the timer.
|
||||||
ProfileHandlerReset();
|
ProfileHandlerReset();
|
||||||
|
@ -226,7 +223,7 @@ class ProfileHandlerTest {
|
||||||
StartWorker();
|
StartWorker();
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void TearDown() {
|
void TearDown() override {
|
||||||
ProfileHandlerReset();
|
ProfileHandlerReset();
|
||||||
// Stops the worker thread.
|
// Stops the worker thread.
|
||||||
StopWorker();
|
StopWorker();
|
||||||
|
@ -334,32 +331,6 @@ class ProfileHandlerTest {
|
||||||
|
|
||||||
// Busy worker thread to accumulate cpu usage.
|
// Busy worker thread to accumulate cpu usage.
|
||||||
BusyThread* busy_worker_;
|
BusyThread* busy_worker_;
|
||||||
|
|
||||||
private:
|
|
||||||
// The tests to run
|
|
||||||
void RegisterUnregisterCallback();
|
|
||||||
void MultipleCallbacks();
|
|
||||||
void Reset();
|
|
||||||
void RegisterCallbackBeforeThread();
|
|
||||||
|
|
||||||
public:
|
|
||||||
#define RUN(test) do { \
|
|
||||||
printf("Running %s\n", #test); \
|
|
||||||
ProfileHandlerTest pht; \
|
|
||||||
pht.SetUp(); \
|
|
||||||
pht.test(); \
|
|
||||||
pht.TearDown(); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
static int RUN_ALL_TESTS() {
|
|
||||||
SetUpTestCase();
|
|
||||||
RUN(RegisterUnregisterCallback);
|
|
||||||
RUN(MultipleCallbacks);
|
|
||||||
RUN(Reset);
|
|
||||||
RUN(RegisterCallbackBeforeThread);
|
|
||||||
printf("Done\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Verifies ProfileHandlerRegisterCallback and
|
// Verifies ProfileHandlerRegisterCallback and
|
||||||
|
@ -449,7 +420,3 @@ TEST_F(ProfileHandlerTest, RegisterCallbackBeforeThread) {
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
|
||||||
return ProfileHandlerTest::RUN_ALL_TESTS();
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue