| 33 | // running competing SCHED_OTHER and SCHED_IDLE tasks. |
| 34 | |
| 35 | TEST(SchedTest, ROOT_PolicySelf) |
| 36 | { |
| 37 | Try<Policy> original = sched::policy::get(); |
| 38 | ASSERT_SOME(original); |
| 39 | |
| 40 | Policy different = (original.get() == Policy::OTHER ? Policy::IDLE |
| 41 | : Policy::OTHER); |
| 42 | |
| 43 | // Change our own scheduling policy. |
| 44 | EXPECT_SOME(sched::policy::set(different)); |
| 45 | EXPECT_SOME_EQ(different, sched::policy::get()); |
| 46 | |
| 47 | // Change it back. |
| 48 | EXPECT_SOME(sched::policy::set(original.get())); |
| 49 | EXPECT_SOME_EQ(original.get(), sched::policy::get()); |
| 50 | } |
| 51 | |
| 52 | |
| 53 | // Change the scheduling policy of a different process (our child). |