1*053f45beSAndroid Build Coastguard WorkerVTS Kselftest Workflow 2*053f45beSAndroid Build Coastguard Worker====================== 3*053f45beSAndroid Build Coastguard Worker 4*053f45beSAndroid Build Coastguard WorkerA Guide to Developing Kselftest for VTS/Android 5*053f45beSAndroid Build Coastguard Worker 6*053f45beSAndroid Build Coastguard WorkerWhat is Kselftest? 7*053f45beSAndroid Build Coastguard Worker------------------ 8*053f45beSAndroid Build Coastguard Worker 9*053f45beSAndroid Build Coastguard WorkerKselftest is a collection of tests included within the Linux kernel repository 10*053f45beSAndroid Build Coastguard Workerat tools/testing/selftests. The tests cover a broad range of areas but total 11*053f45beSAndroid Build Coastguard Workercoverage (as of 4.14 anyway) is very spotty. Many of the tests do not apply to 12*053f45beSAndroid Build Coastguard WorkerAndroid platforms. 13*053f45beSAndroid Build Coastguard Worker 14*053f45beSAndroid Build Coastguard WorkerAs of Jan 2023 there are 31 tests in kselftest which run on ARM in VTS. 15*053f45beSAndroid Build Coastguard Worker22 of these tests are executed in both 32-bit and 64-bit mode. There are many 16*053f45beSAndroid Build Coastguard Workertests which are not enabled because they have dependencies which are not met on 17*053f45beSAndroid Build Coastguard WorkerAndroid platforms. 18*053f45beSAndroid Build Coastguard Worker 19*053f45beSAndroid Build Coastguard WorkerHow is Kselftest Run in VTS? 20*053f45beSAndroid Build Coastguard Worker---------------------------- 21*053f45beSAndroid Build Coastguard Worker 22*053f45beSAndroid Build Coastguard WorkerThe Kselftest source is located at external/linux-kselftest in the Android 23*053f45beSAndroid Build Coastguard Workertree. It is a set of files (tools/testing/selftests/) copied into its own 24*053f45beSAndroid Build Coastguard Workerrepository from the Linux kernel repository. This is not an exact mirror of 25*053f45beSAndroid Build Coastguard Workerupstream; there are outstanding changes to kselftest for it to work on Android 26*053f45beSAndroid Build Coastguard Workerwhich have not yet been pushed upstream (contained in android/patches). In 27*053f45beSAndroid Build Coastguard Workeraddition to the kselftest source there is also the VTS wrapper around it. This 28*053f45beSAndroid Build Coastguard Workeris located at test/vts-testcase/kernel/linux_kselftest. Some noteworthy 29*053f45beSAndroid Build Coastguard Workerdirectories/files: 30*053f45beSAndroid Build Coastguard Worker 31*053f45beSAndroid Build Coastguard Worker* `external/linux-kselftest/Android.bp`: Lists build rules for the kselftest modules built in Soong. 32*053f45beSAndroid Build Coastguard Worker* `external/linux-kselftest/android/`: Contains Android-specific files, aside from Android.[bp, mk] at top level. 33*053f45beSAndroid Build Coastguard Worker* `external/linux-kselftest/android/README`: Lists details on why particular tests are not enabled in Android. 34*053f45beSAndroid Build Coastguard Worker* `external/linux-kselftest/tools/testing/selftests`: Kselftest sources. 35*053f45beSAndroid Build Coastguard Worker* `test/vts-testcase/kernel/linux_kselftest/testcases/`: tests to run in VTS kselftest suites are 36*053f45beSAndroid Build Coastguard Workerspecified in each of the test XML file, e.g, vts_linux_kselftest_arm_32.xml contains tests for 32 bit ARM platform. 37*053f45beSAndroid Build Coastguard Worker 38*053f45beSAndroid Build Coastguard WorkerRunning Kselftest through atest 39*053f45beSAndroid Build Coastguard Worker------------------------------- 40*053f45beSAndroid Build Coastguard WorkerYou can run Kselftest tests with atest, which handles all the setup and build steps. 41*053f45beSAndroid Build Coastguard Worker 42*053f45beSAndroid Build Coastguard WorkerTo run all 32 bit Kselftest tests: 43*053f45beSAndroid Build Coastguard Worker* `atest -a vts_linux_kselftest_arm_32` 44*053f45beSAndroid Build Coastguard Worker 45*053f45beSAndroid Build Coastguard WorkerTo run all 64 bit Kselftest tests: 46*053f45beSAndroid Build Coastguard Worker* `atest -a vts_linux_kselftest_arm_64` 47*053f45beSAndroid Build Coastguard Worker 48*053f45beSAndroid Build Coastguard WorkerTo run a single test: 49*053f45beSAndroid Build Coastguard Worker* `atest -a vts_linux_kselftest_arm_64:timers_valid-adjtimex_arm_64` 50*053f45beSAndroid Build Coastguard Worker 51*053f45beSAndroid Build Coastguard WorkerRunning Kselftest through VTS 52*053f45beSAndroid Build Coastguard Worker----------------------------- 53*053f45beSAndroid Build Coastguard WorkerTo run VTS kselftest through VTS, it must first be built. VTS is not device specific, 54*053f45beSAndroid Build Coastguard Workeryou need not compile it specifically for the device you wish to run it on, assuming 55*053f45beSAndroid Build Coastguard Workerit is the same architecture. 56*053f45beSAndroid Build Coastguard Worker* `. build/envsetup.sh` 57*053f45beSAndroid Build Coastguard Worker* `lunch` 58*053f45beSAndroid Build Coastguard Worker* `make -j vts` 59*053f45beSAndroid Build Coastguard Worker 60*053f45beSAndroid Build Coastguard WorkerThen open vts-tradefed and run the VTS tests (64 bit ARM platform as an example): 61*053f45beSAndroid Build Coastguard Worker* `vts-tradefed` 62*053f45beSAndroid Build Coastguard Worker* `vts-tf > run vts-kernel -m vts_linux_kselftest_arm_64` 63*053f45beSAndroid Build Coastguard Worker 64*053f45beSAndroid Build Coastguard WorkerIf you regularly work with multiple devices it may be useful to specify the 65*053f45beSAndroid Build Coastguard Workerspecific device you wish to run VTS on via the serial number: 66*053f45beSAndroid Build Coastguard Worker* `vts-tf > run vts-kernel -m vts_linux_kselftest_arm_64 -s 000123456789` 67*053f45beSAndroid Build Coastguard Worker 68*053f45beSAndroid Build Coastguard WorkerOr a specific test: 69*053f45beSAndroid Build Coastguard Worker* `vts-tf > run vts-kernel -m vts_linux_kselftest_arm_64 -t net_socket` 70*053f45beSAndroid Build Coastguard Worker 71*053f45beSAndroid Build Coastguard WorkerRunning Kselftest Directly 72*053f45beSAndroid Build Coastguard Worker-------------------------- 73*053f45beSAndroid Build Coastguard Worker 74*053f45beSAndroid Build Coastguard WorkerRunning kselftest tests within VTS can be quite cumbersome, especially if you 75*053f45beSAndroid Build Coastguard Workerare iterating a lot trying to debug something. Build and run kselftest tests 76*053f45beSAndroid Build Coastguard Workerfaster by doing 77*053f45beSAndroid Build Coastguard Worker 78*053f45beSAndroid Build Coastguard Worker* `external/linux-kselftest$ mma` 79*053f45beSAndroid Build Coastguard Worker* `external/linux-kselftest$ adb sync data` 80*053f45beSAndroid Build Coastguard Worker 81*053f45beSAndroid Build Coastguard WorkerThe test cases will be located at `/data/nativetest{64,}/vts_linux_kselftest/`. 82*053f45beSAndroid Build Coastguard Worker 83*053f45beSAndroid Build Coastguard WorkerBuild just the kselftest test you care about with `m -j kselftest_<testname>` (listed in `external/linux-kselftest/Android.bp`). 84*053f45beSAndroid Build Coastguard Worker 85*053f45beSAndroid Build Coastguard WorkerWhat Outstanding Issues Exist? 86*053f45beSAndroid Build Coastguard Worker------------------------------ 87*053f45beSAndroid Build Coastguard Worker 88*053f45beSAndroid Build Coastguard WorkerThe hotlist for kselftest bugs is 89*053f45beSAndroid Build Coastguard Worker[kselftest-todo](https://buganizer.corp.google.com/hotlists/745928). 90*053f45beSAndroid Build Coastguard Worker 91*053f45beSAndroid Build Coastguard WorkerWhen you begin working on a kselftest bug please assign the bug to yourself so 92*053f45beSAndroid Build Coastguard Workerthat others know it is being worked on. 93*053f45beSAndroid Build Coastguard Worker 94*053f45beSAndroid Build Coastguard WorkerTesting x86_64 95*053f45beSAndroid Build Coastguard Worker-------------- 96*053f45beSAndroid Build Coastguard Worker 97*053f45beSAndroid Build Coastguard WorkerIt is not advisable to run kselftest tests directly on your host unless you are fully 98*053f45beSAndroid Build Coastguard Workeraware of what the tests will do and are okay with it. These tests may 99*053f45beSAndroid Build Coastguard Workerdestabilize your box or cause data loss. If you need to run tests on an x86 100*053f45beSAndroid Build Coastguard Workerplatform and are unsure if they are safe you should run them in emulation, in a 101*053f45beSAndroid Build Coastguard Workervirtualized environment, or on a dedicated development x86 platform. 102*053f45beSAndroid Build Coastguard Worker 103*053f45beSAndroid Build Coastguard WorkerTo run Kselftest tests for x86 platform, you can do: 104*053f45beSAndroid Build Coastguard Worker* `atest -a vts_linux_kselftest_x86_32` 105*053f45beSAndroid Build Coastguard Worker* `atest -a vts_linux_kselftest_x86_64` 106*053f45beSAndroid Build Coastguard Worker 107*053f45beSAndroid Build Coastguard WorkerSending Fixes Upstream 108*053f45beSAndroid Build Coastguard Worker---------------------- 109*053f45beSAndroid Build Coastguard Worker 110*053f45beSAndroid Build Coastguard WorkerKselftest is part of the upstream Linux kernel and as such you can use the 111*053f45beSAndroid Build Coastguard Workerget_maintainers.pl script there to see who to send patches to. Here’s an 112*053f45beSAndroid Build Coastguard Workerexample using a commit already upstream: 113*053f45beSAndroid Build Coastguard Worker 114*053f45beSAndroid Build Coastguard Worker``` 115*053f45beSAndroid Build Coastguard Workersmuckle@smuckle:~/repos/linux$ git show 352909b49ba | scripts/get_maintainer.pl 116*053f45beSAndroid Build Coastguard WorkerShuah Khan <[email protected]> (maintainer:KERNEL SELFTEST FRAMEWORK,commit_signer:2/6=33%,authored:2/6=33%,added_lines:2/6=33%,removed_lines:3/6=50%) 117*053f45beSAndroid Build Coastguard WorkerThomas Gleixner <[email protected]> (commit_signer:2/6=33%) 118*053f45beSAndroid Build Coastguard WorkerGreg Kroah-Hartman <[email protected]> (commit_signer:1/6=17%,authored:1/6=17%,added_lines:1/6=17%) 119*053f45beSAndroid Build Coastguard Worker"Radim Krčmář" <[email protected]> (commit_signer:1/6=17%) 120*053f45beSAndroid Build Coastguard WorkerIngo Molnar <[email protected]> (commit_signer:1/6=17%,commit_signer:1/1=100%) 121*053f45beSAndroid Build Coastguard WorkerAndy Lutomirski <[email protected]> (authored:2/6=33%,added_lines:2/6=33%,removed_lines:2/6=33%,authored:1/1=100%,added_lines:500/500=100%) 122*053f45beSAndroid Build Coastguard Worker"Kirill A. Shutemov" <[email protected]> (authored:1/6=17%,added_lines:1/6=17%,removed_lines:1/6=17%) 123*053f45beSAndroid Build Coastguard Worker[email protected] (open list) 124*053f45beSAndroid Build Coastguard Worker[email protected] (open list:KERNEL SELFTEST FRAMEWORK) 125*053f45beSAndroid Build Coastguard Worker``` 126*053f45beSAndroid Build Coastguard Worker 127*053f45beSAndroid Build Coastguard WorkerIn summary patches should be sent to [email protected] and 128*053f45beSAndroid Build Coastguard Worker[email protected], Shuah Khan (kselftest maintainer), and anyone 129*053f45beSAndroid Build Coastguard Workerelse who has touched the code in question. Standard Linux kernel coding style 130*053f45beSAndroid Build Coastguard Workerand patch rules apply. They should be checkpatch (scripts/checkpatch.pl in the 131*053f45beSAndroid Build Coastguard Workerkernel repository) clean and sent in plain text in canonical patch format. One 132*053f45beSAndroid Build Coastguard Workereasy way to do this is by using git format-patch and git send-email. 133*053f45beSAndroid Build Coastguard Worker 134*053f45beSAndroid Build Coastguard WorkerMerging Fixes 135*053f45beSAndroid Build Coastguard Worker------------- 136*053f45beSAndroid Build Coastguard Worker 137*053f45beSAndroid Build Coastguard WorkerWhen possible please merge fixes upstream first. Then cherrypick the change 138*053f45beSAndroid Build Coastguard Workeronto aosp/master in external/linux-kselftest. 139*053f45beSAndroid Build Coastguard Worker 140*053f45beSAndroid Build Coastguard WorkerIf your change cannot go upstream first for whatever reason, please commit a 141*053f45beSAndroid Build Coastguard Workerpatch for it into external/linux-kselftest/android/patches. This allows easier 142*053f45beSAndroid Build Coastguard Workertracking of the delta with upstream and streamlines upgrades to new kselftest 143*053f45beSAndroid Build Coastguard Workerreleases. 144*053f45beSAndroid Build Coastguard Worker 145*053f45beSAndroid Build Coastguard WorkerUpdating Kselftest 146*053f45beSAndroid Build Coastguard Worker------------------ 147*053f45beSAndroid Build Coastguard Worker 148*053f45beSAndroid Build Coastguard WorkerTo merge in a new upstream version of kselftest: 149*053f45beSAndroid Build Coastguard Worker1. Do a git merge of the upstream tag with the "ours" policy, dropping all upstream changes. Do not commit yet. 150*053f45beSAndroid Build Coastguard Worker2. Delete tools/testing/selftests and replace it with a copy from the upstream kernel at the same tag as used above. 151*053f45beSAndroid Build Coastguard Worker3. Apply the patches in android/patches/, resolving conflicts as required. 152*053f45beSAndroid Build Coastguard Worker4. Test on all supported kernel versions, ensuring that any tests currently enabled in VTS do not generate new failures. 153*053f45beSAndroid Build Coastguard Worker5. Commit the merge. 154*053f45beSAndroid Build Coastguard Worker 155*053f45beSAndroid Build Coastguard WorkerIf the runtime of kselftest changes significantly be sure to update the runtime-hint and test-timeout parameters to VTS in 156*053f45beSAndroid Build Coastguard Workertest config files under 157*053f45beSAndroid Build Coastguard Worker`test/vts-testcase/kernel/linux_kselftest/testcases/`. 158*053f45beSAndroid Build Coastguard Worker 159*053f45beSAndroid Build Coastguard WorkerNotes on Individual Tests 160*053f45beSAndroid Build Coastguard Worker------------------------- 161*053f45beSAndroid Build Coastguard Worker 162*053f45beSAndroid Build Coastguard Worker### bpf/ 163*053f45beSAndroid Build Coastguard Worker 164*053f45beSAndroid Build Coastguard WorkerThe bpf tests depend on the bpf and elf libraries, and several kernel 165*053f45beSAndroid Build Coastguard Workerconfig options that are not required by Android. 166*053f45beSAndroid Build Coastguard Worker 167*053f45beSAndroid Build Coastguard Worker### cpufreq/ 168*053f45beSAndroid Build Coastguard Worker 169*053f45beSAndroid Build Coastguard WorkerCpufreq is not required by Android. 170*053f45beSAndroid Build Coastguard Worker 171*053f45beSAndroid Build Coastguard Worker### cpu-hotplug/ 172*053f45beSAndroid Build Coastguard Worker 173*053f45beSAndroid Build Coastguard WorkerCpu hotplug is not required by Android. 174*053f45beSAndroid Build Coastguard Worker 175*053f45beSAndroid Build Coastguard Worker### filesystems/dnotify_test.c 176*053f45beSAndroid Build Coastguard Worker 177*053f45beSAndroid Build Coastguard WorkerThis test has an endless loop in it. It is not currently run as part of the 178*053f45beSAndroid Build Coastguard Workerkselftest suite. 179*053f45beSAndroid Build Coastguard Worker 180*053f45beSAndroid Build Coastguard Worker### firmware/ 181*053f45beSAndroid Build Coastguard Worker 182*053f45beSAndroid Build Coastguard WorkerThese tests depend on a kernel module enabled by CONFIG_TEST_FIRMWARE, which is 183*053f45beSAndroid Build Coastguard Workernot required by Android. 184*053f45beSAndroid Build Coastguard Worker 185*053f45beSAndroid Build Coastguard Worker### ftrace/ 186*053f45beSAndroid Build Coastguard Worker 187*053f45beSAndroid Build Coastguard WorkerFtrace is a debug feature and not required by Android. 188*053f45beSAndroid Build Coastguard Worker 189*053f45beSAndroid Build Coastguard Worker### gpio/ 190*053f45beSAndroid Build Coastguard Worker 191*053f45beSAndroid Build Coastguard WorkerThe gpio test requires a test kernel module and gpiolib, neither of which are 192*053f45beSAndroid Build Coastguard Workerrequired by Android. 193*053f45beSAndroid Build Coastguard Worker 194*053f45beSAndroid Build Coastguard Worker### ipc/ 195*053f45beSAndroid Build Coastguard Worker 196*053f45beSAndroid Build Coastguard WorkerThe ipc test requires CONFIG_EXPERT and CONFIG_CHECKPOINT_RESTORE be enabled, 197*053f45beSAndroid Build Coastguard Workerneither of which are required by Android. 198*053f45beSAndroid Build Coastguard Worker 199*053f45beSAndroid Build Coastguard Worker### kvm/ 200*053f45beSAndroid Build Coastguard Worker 201*053f45beSAndroid Build Coastguard WorkerKVM is not required by Android. 202*053f45beSAndroid Build Coastguard Worker 203*053f45beSAndroid Build Coastguard Worker### lib/ 204*053f45beSAndroid Build Coastguard Worker 205*053f45beSAndroid Build Coastguard WorkerThe lib/ tests rely on kernel modules enabled by CONFIG_TEST_PRINTF, 206*053f45beSAndroid Build Coastguard WorkerCONFIG_TEST_BITMAP, and CONFIG_PRIME_NUMBERS. None of these are required by 207*053f45beSAndroid Build Coastguard WorkerAndroid. 208*053f45beSAndroid Build Coastguard Worker 209*053f45beSAndroid Build Coastguard Worker### locking/ 210*053f45beSAndroid Build Coastguard Worker 211*053f45beSAndroid Build Coastguard WorkerThe wait-wound mutex test depends on a kernel module enabled by 212*053f45beSAndroid Build Coastguard WorkerCONFIG_WW_MUTEX_SELFTEST which is not required by Android. 213*053f45beSAndroid Build Coastguard Worker 214*053f45beSAndroid Build Coastguard Worker### media_tests/ 215*053f45beSAndroid Build Coastguard Worker 216*053f45beSAndroid Build Coastguard WorkerThe media_tests depend on /dev/mediaX and /dev/videoX files which may not be 217*053f45beSAndroid Build Coastguard Workerpresent. They also require manual inspection of dmesg and are not part of 218*053f45beSAndroid Build Coastguard Workerthe normal kselftest suite. 219*053f45beSAndroid Build Coastguard Worker 220*053f45beSAndroid Build Coastguard Worker### membarrier/ 221*053f45beSAndroid Build Coastguard Worker 222*053f45beSAndroid Build Coastguard WorkerThe membarrier test depends on CONFIG_EXPERT and CONFIG_MEMBARRIER being 223*053f45beSAndroid Build Coastguard Workerenabled, neither of which are required by Android. 224*053f45beSAndroid Build Coastguard Worker 225*053f45beSAndroid Build Coastguard Worker### memfd/ 226*053f45beSAndroid Build Coastguard Worker 227*053f45beSAndroid Build Coastguard WorkerThese tests depend on FUSE which is not present in Android. 228*053f45beSAndroid Build Coastguard Worker 229*053f45beSAndroid Build Coastguard Worker### memory-hotplug/ 230*053f45beSAndroid Build Coastguard Worker 231*053f45beSAndroid Build Coastguard WorkerMemory hotplug is not required by Android. 232*053f45beSAndroid Build Coastguard Worker 233*053f45beSAndroid Build Coastguard Worker### mount/ 234*053f45beSAndroid Build Coastguard Worker 235*053f45beSAndroid Build Coastguard WorkerThe mount test depends on CONFIG_USER_NS which is not required by Android. 236*053f45beSAndroid Build Coastguard Worker 237*053f45beSAndroid Build Coastguard Worker### mqueue/ 238*053f45beSAndroid Build Coastguard Worker 239*053f45beSAndroid Build Coastguard WorkerThese tests depend on -lrt and -lpopt which are not present in Android. 240*053f45beSAndroid Build Coastguard Worker 241*053f45beSAndroid Build Coastguard Worker### net/ 242*053f45beSAndroid Build Coastguard Worker 243*053f45beSAndroid Build Coastguard WorkerThe test_bpf.sh test requires a kernel module enabled by CONFIG_TEST_BPF. 244*053f45beSAndroid Build Coastguard WorkerThe netdevice.sh test operates on an ethernet interface. 245*053f45beSAndroid Build Coastguard WorkerThe psock_fanout test depends on CONFIG_BPF_SYSCALL which is not required on 246*053f45beSAndroid Build Coastguard WorkerAndroid. 247*053f45beSAndroid Build Coastguard Worker 248*053f45beSAndroid Build Coastguard Worker### netfilter/ 249*053f45beSAndroid Build Coastguard Worker 250*053f45beSAndroid Build Coastguard WorkerThese tests depend on CONFIG_NET_NS and CONFIG_NF_TABLES_INET, neither of which 251*053f45beSAndroid Build Coastguard Workerare required by Android. 252*053f45beSAndroid Build Coastguard Worker 253*053f45beSAndroid Build Coastguard Worker### nsfs/ 254*053f45beSAndroid Build Coastguard Worker 255*053f45beSAndroid Build Coastguard WorkerThese tests depend on CONFIG_USER_NS and CONFIG_PID_NS, neither of which are 256*053f45beSAndroid Build Coastguard Workerrequired by Android. 257*053f45beSAndroid Build Coastguard Worker 258*053f45beSAndroid Build Coastguard Worker### ntb/ 259*053f45beSAndroid Build Coastguard Worker 260*053f45beSAndroid Build Coastguard WorkerNTB (non-transparent bridge) is not required by Android. 261*053f45beSAndroid Build Coastguard Worker 262*053f45beSAndroid Build Coastguard Worker### pstore/ 263*053f45beSAndroid Build Coastguard Worker 264*053f45beSAndroid Build Coastguard WorkerPstore is recommended, not required, for Android. 265*053f45beSAndroid Build Coastguard Worker 266*053f45beSAndroid Build Coastguard Worker### ptp/ 267*053f45beSAndroid Build Coastguard Worker 268*053f45beSAndroid Build Coastguard WorkerPTP support is not required by Android. 269*053f45beSAndroid Build Coastguard Worker 270*053f45beSAndroid Build Coastguard Worker### rseq/ 271*053f45beSAndroid Build Coastguard Worker 272*053f45beSAndroid Build Coastguard WorkerThe rseq system call, enabled by CONFIG_RSEQ, is not required by Android. 273*053f45beSAndroid Build Coastguard Worker 274*053f45beSAndroid Build Coastguard Worker### sigaltstack/ 275*053f45beSAndroid Build Coastguard Worker 276*053f45beSAndroid Build Coastguard WorkerThis is a test for functionality that is not available in bionic (swapcontext()). 277*053f45beSAndroid Build Coastguard Worker 278*053f45beSAndroid Build Coastguard Worker### static_keys/ 279*053f45beSAndroid Build Coastguard Worker 280*053f45beSAndroid Build Coastguard WorkerThis test depends on a kernel module enabled by CONFIG_TEST_STATIC_KEYS. This 281*053f45beSAndroid Build Coastguard Workerkernel module is not required by Android. 282*053f45beSAndroid Build Coastguard Worker 283*053f45beSAndroid Build Coastguard Worker### sync/ 284*053f45beSAndroid Build Coastguard Worker 285*053f45beSAndroid Build Coastguard WorkerThese tests verify the legacy sync API which is deprecated on Android. 286*053f45beSAndroid Build Coastguard Worker 287*053f45beSAndroid Build Coastguard Worker### sysctl 288*053f45beSAndroid Build Coastguard Worker 289*053f45beSAndroid Build Coastguard WorkerThis test depends on a kernel module enabled by CONFIG_TEST_SYSCTL. This kernel 290*053f45beSAndroid Build Coastguard Workermodule is not required by Android. 291*053f45beSAndroid Build Coastguard Worker 292*053f45beSAndroid Build Coastguard Worker### timers/ 293*053f45beSAndroid Build Coastguard Worker 294*053f45beSAndroid Build Coastguard WorkerThe adjtick test adjusts the system time and takes 2 minutes. 295*053f45beSAndroid Build Coastguard Worker 296*053f45beSAndroid Build Coastguard WorkerThe change_skew test takes too long to run as part of VTS. 297*053f45beSAndroid Build Coastguard Worker 298*053f45beSAndroid Build Coastguard WorkerThe clocksource_switch test takes too long to run as part of VTS and also tries 299*053f45beSAndroid Build Coastguard Workerall clocksources. 300*053f45beSAndroid Build Coastguard Worker 301*053f45beSAndroid Build Coastguard WorkerThe freq_step test relies on clocks having a greater precision than what may be 302*053f45beSAndroid Build Coastguard Workeravailable. 303*053f45beSAndroid Build Coastguard Worker 304*053f45beSAndroid Build Coastguard WorkerThe leap-a-day test repeatedly modifies the system date in order to test leap 305*053f45beSAndroid Build Coastguard Workersecond behavior. This may disrupt the target environment. 306*053f45beSAndroid Build Coastguard Worker 307*053f45beSAndroid Build Coastguard WorkerThe leapcrash test adjusts the system date and takes several minutes to run. 308*053f45beSAndroid Build Coastguard Worker 309*053f45beSAndroid Build Coastguard WorkerThe mqueue_lat test relies on mq_* calls which are not present on Android. 310*053f45beSAndroid Build Coastguard Worker 311*053f45beSAndroid Build Coastguard WorkerThe rtctest_setdate test modifies the RTC's time and date which may disrupt the 312*053f45beSAndroid Build Coastguard Workertarget environment. 313*053f45beSAndroid Build Coastguard Worker 314*053f45beSAndroid Build Coastguard WorkerThe set-2038 test repeatedly sets the time in order to test edge cases. This 315*053f45beSAndroid Build Coastguard Workermay disrupt the target enviornment. The test also takes a long time. 316*053f45beSAndroid Build Coastguard Worker 317*053f45beSAndroid Build Coastguard WorkerThe set-tz test sets the timezone which may disrupt the target environment. 318*053f45beSAndroid Build Coastguard Worker 319*053f45beSAndroid Build Coastguard WorkerThe skew_consistency test takes too long to run as part of VTS. 320*053f45beSAndroid Build Coastguard Worker 321*053f45beSAndroid Build Coastguard Worker### uevent/ 322*053f45beSAndroid Build Coastguard Worker 323*053f45beSAndroid Build Coastguard WorkerThis test depends on CONFIG_USER_NS which is not required by Android. 324*053f45beSAndroid Build Coastguard Worker 325*053f45beSAndroid Build Coastguard Worker### user/ 326*053f45beSAndroid Build Coastguard Worker 327*053f45beSAndroid Build Coastguard WorkerThis test depends on a kernel module enabled by CONFIG_TEST_USER_COPY. This 328*053f45beSAndroid Build Coastguard Workerkernel module is not required by Android. 329*053f45beSAndroid Build Coastguard Worker 330*053f45beSAndroid Build Coastguard Worker### vm/ 331*053f45beSAndroid Build Coastguard Worker 332*053f45beSAndroid Build Coastguard WorkerThe hugepage-mmap, hugepage-shm, compaction, and map_hugetlb tests rely on 333*053f45beSAndroid Build Coastguard Workerhugetlbfs/hugetlb page support which is not required by Android. 334*053f45beSAndroid Build Coastguard Worker 335*053f45beSAndroid Build Coastguard Worker### watchdog/ 336*053f45beSAndroid Build Coastguard Worker 337*053f45beSAndroid Build Coastguard WorkerThe watchdog test depends on CONFIG_WATCHDOG which is not required by Android. 338*053f45beSAndroid Build Coastguard Worker 339*053f45beSAndroid Build Coastguard Worker### zram/ 340*053f45beSAndroid Build Coastguard Worker 341*053f45beSAndroid Build Coastguard WorkerThe zram test depends on CONFIG_ZSMALLOC and CONFIG_ZRAM which are not required 342*053f45beSAndroid Build Coastguard Workerby Android.