MCPcopy Create free account
hub / github.com/Simple-XX/SimpleKernel / TEST

Function TEST

tests/unit_test/rr_scheduler_test.cpp:13–34  ·  view source on GitHub ↗

测试 Round-Robin 调度器的基本功能

Source from the content-addressed store, hash-verified

11
12// 测试 Round-Robin 调度器的基本功能
13TEST(RoundRobinSchedulerTest, BasicEnqueueDequeue) {
14 RoundRobinScheduler scheduler;
15
16 // 创建测试任务
17 TaskControlBlock task1("Task1", 1, nullptr, nullptr);
18 task1.status = TaskStatus::kReady;
19
20 TaskControlBlock task2("Task2", 2, nullptr, nullptr);
21 task2.status = TaskStatus::kReady;
22
23 // 测试空队列
24 EXPECT_EQ(scheduler.PickNext(), nullptr);
25
26 // 加入任务
27 scheduler.Enqueue(&task1);
28 scheduler.Enqueue(&task2);
29
30 // 测试 FIFO 顺序
31 EXPECT_EQ(scheduler.PickNext(), &task1);
32 EXPECT_EQ(scheduler.PickNext(), &task2);
33 EXPECT_EQ(scheduler.PickNext(), nullptr);
34}
35
36// 测试 Round-Robin 的轮转特性
37TEST(RoundRobinSchedulerTest, RoundRobinRotation) {

Callers

nothing calls this directly

Calls 9

ResetStatsMethod · 0.80
PickNextMethod · 0.45
EnqueueMethod · 0.45
DequeueMethod · 0.45
IsEmptyMethod · 0.45
GetQueueSizeMethod · 0.45
OnTimeSliceExpiredMethod · 0.45
GetStatsMethod · 0.45
OnPreemptedMethod · 0.45

Tested by

no test coverage detected