#include "src/trace_processor/importers/common/thread_state_tracker.h"
#include <algorithm>
#include "src/trace_processor/importers/common/args_tracker.h"
#include "src/trace_processor/importers/common/cpu_tracker.h"
#include "src/trace_processor/importers/common/global_args_tracker.h"
#include "src/trace_processor/importers/common/machine_tracker.h"
#include "src/trace_processor/importers/common/process_tracker.h"
#include "src/trace_processor/types/trace_processor_context.h"
#include "test/gtest_and_gmock.h"
namespace perfetto {
namespace trace_processor {
namespace {
constexpr uint32_t CPU_A = …;
constexpr uint32_t CPU_B = …;
constexpr UniqueTid IDLE_THREAD = …;
constexpr UniqueTid THREAD_A = …;
constexpr UniqueTid THREAD_B = …;
constexpr UniqueTid THREAD_C = …;
static constexpr char kRunning[] = …;
static constexpr char kRunnable[] = …;
static constexpr char kBlockedFunction[] = …;
class ThreadStateTrackerUnittest : public testing::Test { … };
TEST_F(ThreadStateTrackerUnittest, BasicPushSchedSwitchEvent) { … }
TEST_F(ThreadStateTrackerUnittest, StartWithWakingEvent) { … }
TEST_F(ThreadStateTrackerUnittest, BasicWakingEvent) { … }
TEST_F(ThreadStateTrackerUnittest, BasicPushBlockedReason) { … }
TEST_F(ThreadStateTrackerUnittest, CloseState) { … }
TEST_F(ThreadStateTrackerUnittest, PushIdleThread) { … }
TEST_F(ThreadStateTrackerUnittest, SchedBlockedReasonWithIdleThread) { … }
TEST_F(ThreadStateTrackerUnittest, SchedSwitchForcedMigration) { … }
TEST_F(ThreadStateTrackerUnittest, SchedWakingBigTest) { … }
TEST_F(ThreadStateTrackerUnittest, RunningOnMultipleCPUsForcedMigration) { … }
}
}
}