<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/77180>77180</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [libc] Sched unit tests failing on CachyOS
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          SchrodingerZhu
      </td>
    </tr>
</table>

<pre>
    For some reason, on `CachyOS`' kernel, I always get the following errors:
```
[ RUN      ] LlvmLibcSchedTest.Sched_SCHED_OTHER
/home/schrodingerzy/Documents/llvm/llvm-project/libc/test/src/sched/param_and_scheduler_test.cpp:86: FAILURE
      Expected: __llvm_libc_18_0_0_git::sched_setscheduler(0, policy, &param)
      Which is: -1
To be equal to: can_set ? 0 : -1
 Which is: 0
[  FAILED  ] LlvmLibcSchedTest.Sched_SCHED_OTHER
[ RUN ] LlvmLibcSchedTest.Sched_SCHED_BATCH
/home/schrodingerzy/Documents/llvm/llvm-project/libc/test/src/sched/param_and_scheduler_test.cpp:86: FAILURE
      Expected: __llvm_libc_18_0_0_git::sched_setscheduler(0, policy, &param)
      Which is: -1
To be equal to: can_set ? 0 : -1
 Which is: 0
[  FAILED  ] LlvmLibcSchedTest.Sched_SCHED_BATCH
[ RUN ] LlvmLibcSchedTest.Sched_SCHED_IDLE
[       OK ] LlvmLibcSchedTest.Sched_SCHED_IDLE (took 9 us)
[ RUN      ] LlvmLibcSchedParamAndSchedulerTest.NullParamTest
[       OK ] LlvmLibcSchedParamAndSchedulerTest.NullParamTest (took 1 us)
Ran 6 tests. PASS: 4  FAIL: 2
[745/1170] Running unit test libc.test.src.sched.sched_rr_get_interval_test
FAILED: libc/test/src/sched/CMakeFiles/libc.test.src.sched.sched_rr_get_interval_test /home/schrodingerzy/Documents/llvm/llvm-project/build/runtimes/runtimes-bins/libc/test/src/sched/CMakeFiles/libc.test.src.sched.sched_rr_get_interval_test 
cd /home/schrodingerzy/Documents/llvm/llvm-project/build/runtimes/runtimes-bins/libc/test/src/sched && /home/schrodingerzy/Documents/llvm/llvm-project/build/runtimes/runtimes-bins/libc/test/src/sched/libc.test.src.sched.sched_rr_get_interval_test.__build__
[ RUN      ] LlvmLibcSchedRRGetIntervalTest.SmokeTest
/home/schrodingerzy/Documents/llvm/llvm-project/libc/test/src/sched/sched_rr_get_interval_test.cpp:27: FAILURE
      Expected: __llvm_libc_18_0_0_git::sched_setscheduler(0, policy, &param)
      Which is: -1
To be equal to: 0
      Which is: 0
/home/schrodingerzy/Documents/llvm/llvm-project/libc/test/src/sched/sched_rr_get_interval_test.cpp:72: FAILURE
      Expected: __llvm_libc_18_0_0_git::__llvmlibc_internal_errno
      Which is: 1
To be equal to: 0
      Which is: 0
[  FAILED  ] LlvmLibcSchedRRGetIntervalTest.SmokeTest
```
Kernel
```
Linux supercomputer 6.6.9-2-cachyos #1 SMP PREEMPT_DYNAMIC Tue, 02 Jan 2024 15:19:43 +0000 x86_64 GNU/Linux
```
I assume this is because of cachyos' patch but it has become a rather annoying problem for me as `check-libc` is designed to be "fail-fast". 

It there a better way to test these functionalities knowing that certain kernels do not behave the way we have expected?

cc @ptr1337 @nickdesaulniers 


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsV19v2zYQ_zT0y8EGRdmS_eAHJ7barEka2CmG7UWgqLPFmSI9kkrqffqBlJu6QJumK4bsYYJhkz7eH_7uj-64c3KnEedkckEmywHvfGPsfCMaa2qpd2h_b7pBZerjvDAWnGkRLHJnNGGXYDSQjF5y0Rzfb0hGCcthj1ajCtQr4OqRHx3s0INvELZGKfMo9Q7QWmMdSReELgldBNb-028nF7D-cAvxIZMlXKuH9lpWYiMarO_R-VFclZvLt6tl-f7-7Wp94mRFY1okrHCfb_DXkbBiaUTXovaOsEKph_b0MzxY8wcKH7ayEoQVHl3YOSt6KVgTVhy45W3JdV3GfzqFtgwHR-JwIOlimpF0AcXi6vrDetVb0hu_-nhA4bEO5LIMCsugpkymJS1puZM-YJAuotTSoX8ST9iUBhAPRklxDCvCsmgGYbNzFb82UjQgA5gwTHrKvYEKAf_suAJvAkVwHcQDSQugcH72CwFnDojXWS1_1AEn132f6WJxf_n2f6-9ntfOHfBir10tr1dn2uLz_t0LGYGwqTdmDzPo3BMgz2f7XQBvoevNJ4ij5NtOqUgJu5fY8wIxT9Yl59atuYYMQtS4EdwtNpsA-LjHOSzZk_Z8PCGsSJKcBu3rTutQ6TotfWSHEEKjGH7OilEMmf67tLbcoS-l9mgfuIox2ovtvRn0PBfnlzd8j4VU6E4J8XI18DO5V3VSBf220162Ufun5bCS2n0nPX_K7AiPqF_N_pDYhGWvid-PQTYqy6ivLF-Sduv1G_RXJ_4-mVuzx7N0-5dq9jMX6Ks2y__rVZt-i4W-MnQ5-0noelokRfmaqxKt1eZbN_7nGD37Lvt-dH7ZUL7re9Kvka6l7j6C6w5ohWkPnUcL2SgbzYZsKEJjaxwQliawubmDu_VqdXN3Xy5_u13cXF3CfYchWiiDX7gGRtkYkglJF8mMpItxCoRdUEopfJxmZTaGN7cfCCuixq_acgXcua5F8I10IB1UKHjnEMwWTraEDvvAvWig6jxIDw2Px0JfzsFy36AFrrU5hpfPwZpKYQtbYyEccKFdFw2K_TAGUkaDlhrjDFCDj24ijG25VMMtDzHGRqdaezIxdvI2KKvQB7Ae-TEwxqrsG3QI204LL43mSnqJDva6b_p9wz0ItJ5LfRoTHNQGtPFQYcMfME4JQeAjQtzjU2AW51YIAWRMD94maZqHpZZiX6PjndISrfvC5EE9T-tZOuMDnCc5HU9YMmX5oJnnLKtmdJpOac2T7bamHNNsS9kkp9M8xWQg58GlNKEZzZKc5qOEVdtpzsY5F0zgtiZjii2XahTSYmTsbiCd63Ce58mUDhSvULk4WTHWJy4LM5adx6Suup0jY6pkaC2eBHjpVZzGIsNkCTHgP7cRDoJzApxGw2nyGnRWzRvvD3GiYgVhxU76pqtGwrTfLCXR1FBporV_BwAA__8ZwnT-">