11#include "gmock/gmock.h"
20 inline static RefPtr<MockTaskRunner>
Create() {
21 return AdoptRef(
new MockTaskRunner());
23 MOCK_METHOD(
void, PostTask, (
const fml::closure& task), (
override));
32 MOCK_METHOD(
bool, RunsTasksOnCurrentThread, (), (
override));
33 MOCK_METHOD(TaskQueueId, GetTaskQueueId, (), (
override));
36 MockTaskRunner() : TaskRunner(
fml::RefPtr<MessageLoopImpl>()) {}
43TEST(SamplingProfilerTest, DeleteAfterStart) {
46 auto task_runner = fml::MockTaskRunner::Create();
47 std::atomic<int> invoke_count = 0;
51 EXPECT_CALL(*task_runner, PostDelayedTask(_, _))
54 invoke_count.fetch_add(1);
55 thread->GetTaskRunner()->PostTask(task);
59 auto profiler = SamplingProfiler(
61 task_runner, [] {
return ProfileSample(); },
65 int invoke_count_at_delete = invoke_count.load();
66 std::this_thread::sleep_for(std::chrono::milliseconds(2));
67 ASSERT_EQ(invoke_count_at_delete, invoke_count.load());
std::string GetCurrentTestName()
Gets the name of the currently running test. This is useful in generating logs or assets based on tes...
TEST(FrameTimingsRecorderTest, RecordVsync)
RefPtr< T > AdoptRef(T *ptr)
std::function< void()> closure
ScopedObject< Object > Create(CtorArgs &&... args)