• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//
2// Copyright (C) 2016 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17cc_defaults {
18    name: "kselftest_defaults",
19    cflags: [
20        // Hacks for bionic compatibility
21        "-include bionic-compat.h",
22
23        "-Wall",
24
25        // Silence noisy warnings
26        "-Wno-deprecated",
27        "-Wno-format",
28        "-Wno-gnu-designator",
29        "-Wno-macro-redefined",
30        "-Wno-missing-field-initializers",
31        "-Wno-parentheses-equality",
32        "-Wno-pointer-arith",
33        "-Wno-sign-compare",
34        "-Wno-unused-parameter",
35        "-Wno-shift-negative-value",
36        "-Wno-switch",
37        "-Wno-absolute-value",
38        "-Wno-non-literal-null-conversion",
39        "-Wno-unused-value",
40        "-Wno-unused-variable",
41        "-Wno-unused-parameter",
42        "-Wno-empty-body",
43        "-Wno-literal-conversion",
44        "-Werror",
45    ],
46
47    local_include_dirs: ["android/include"],
48    gtest: false,
49    no_named_install_directory: true,
50
51    test_per_src: true,
52    arch: {
53        mips: {
54            enabled: false,
55        },
56        mips64: {
57            enabled: false,
58        },
59    },
60}
61
62// breakpoints test
63cc_test {
64    name: "kselftest_breakpoints_tests",
65    relative_install_path: "linux-kselftest/breakpoints",
66    srcs: [
67        "tools/testing/selftests/breakpoints/step_after_suspend_test.c",
68    ],
69    defaults: ["kselftest_defaults"],
70    arch: {
71        arm: {
72            enabled: false,
73        },
74        arm64: {
75            srcs: [
76                "tools/testing/selftests/breakpoints/breakpoint_test_arm64.c",
77            ],
78        },
79        x86: {
80            srcs: [
81                "tools/testing/selftests/breakpoints/breakpoint_test.c",
82            ],
83        },
84    },
85}
86
87// capabilities test
88cc_test {
89    name: "kselftest_capabilities_test",
90    relative_install_path: "linux-kselftest/capabilities",
91    srcs: [
92        "tools/testing/selftests/capabilities/test_execve.c",
93        "tools/testing/selftests/capabilities/validate_cap.c",
94    ],
95    defaults: ["kselftest_defaults"],
96    static_libs: ["libcap-ng"],
97}
98
99// Cpu-hotplug test
100sh_test {
101    name: "kselftest_cpu-hotplug_cpu-on-off-test",
102    sub_dir: "linux-kselftest/cpu-hotplug",
103    src: "tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh",
104    filename_from_src: true,
105    compile_multilib: "both",
106}
107
108// Efivarfs test
109cc_test {
110    name: "kselftest_efivarfs_tests",
111    relative_install_path: "linux-kselftest/efivarfs",
112    srcs: [
113        "tools/testing/selftests/efivarfs/open-unlink.c",
114        "tools/testing/selftests/efivarfs/create-read.c",
115    ],
116    defaults: ["kselftest_defaults"],
117}
118
119sh_test {
120    name: "kselftest_efivarfs_efivarfs",
121    sub_dir: "linux-kselftest/efivarfs",
122    src: "tools/testing/selftests/efivarfs/efivarfs.sh",
123    filename_from_src: true,
124    compile_multilib: "both",
125}
126
127// Exec test
128cc_test {
129    name: "kselftest_exec_test",
130    relative_install_path: "linux-kselftest/exec",
131    srcs: [
132        "tools/testing/selftests/exec/execveat.c",
133    ],
134    defaults: ["kselftest_defaults"],
135}
136
137sh_test {
138    name: "kselftest_exec_execveat.sh",
139    sub_dir: "linux-kselftest/exec",
140    src: "tools/testing/selftests/exec/execveat.sh",
141    filename_from_src: true,
142    compile_multilib: "both",
143}
144
145// Firmware test
146sh_test {
147    name: "kselftest_firmware_fw_fallback",
148    sub_dir: "linux-kselftest/firmware",
149    src: "tools/testing/selftests/firmware/fw_fallback.sh",
150    filename_from_src: true,
151    compile_multilib: "both",
152}
153
154sh_test {
155    name: "kselftest_firmware_fw_filesystem",
156    sub_dir: "linux-kselftest/firmware",
157    src: "tools/testing/selftests/firmware/fw_filesystem.sh",
158    filename_from_src: true,
159    compile_multilib: "both",
160}
161
162// Ftrace test
163sh_test {
164    name: "kselftest_ftrace_ftracetest",
165    sub_dir: "linux-kselftest/ftrace",
166    src: "tools/testing/selftests/ftrace/ftracetest",
167    filename_from_src: true,
168    compile_multilib: "both",
169}
170
171sh_test {
172    name: "kselftest_ftrace_test.d_functions",
173    sub_dir: "linux-kselftest/ftrace/test.d",
174    src: "tools/testing/selftests/ftrace/test.d/functions",
175    filename_from_src: true,
176    compile_multilib: "both",
177}
178
179sh_test {
180    name: "kselftest_ftrace_test.d_00basic_basic2",
181    sub_dir: "linux-kselftest/ftrace/test.d/00basic",
182    src: "tools/testing/selftests/ftrace/test.d/00basic/basic2.tc",
183    filename_from_src: true,
184    compile_multilib: "both",
185}
186
187sh_test {
188    name: "kselftest_ftrace_test.d_00basic_basic4",
189    sub_dir: "linux-kselftest/ftrace/test.d/00basic",
190    src: "tools/testing/selftests/ftrace/test.d/00basic/basic4.tc",
191    filename_from_src: true,
192    compile_multilib: "both",
193}
194
195sh_test {
196    name: "kselftest_ftrace_test.d_00basic_basic1",
197    sub_dir: "linux-kselftest/ftrace/test.d/00basic",
198    src: "tools/testing/selftests/ftrace/test.d/00basic/basic1.tc",
199    filename_from_src: true,
200    compile_multilib: "both",
201}
202
203sh_test {
204    name: "kselftest_ftrace_test.d_00basic_basic3",
205    sub_dir: "linux-kselftest/ftrace/test.d/00basic",
206    src: "tools/testing/selftests/ftrace/test.d/00basic/basic3.tc",
207    filename_from_src: true,
208    compile_multilib: "both",
209}
210
211sh_test {
212    name: "kselftest_ftrace_test.d_template",
213    sub_dir: "linux-kselftest/ftrace/test.d",
214    src: "tools/testing/selftests/ftrace/test.d/template",
215    filename_from_src: true,
216    compile_multilib: "both",
217}
218
219sh_test {
220    name: "kselftest_ftrace_test.d_instances_instance",
221    sub_dir: "linux-kselftest/ftrace/test.d/instances",
222    src: "tools/testing/selftests/ftrace/test.d/instances/instance.tc",
223    filename_from_src: true,
224    compile_multilib: "both",
225}
226
227sh_test {
228    name: "kselftest_ftrace_test.d_instances_instance-event",
229    sub_dir: "linux-kselftest/ftrace/test.d/instances",
230    src: "tools/testing/selftests/ftrace/test.d/instances/instance-event.tc",
231    filename_from_src: true,
232    compile_multilib: "both",
233}
234
235// Futex test
236cc_test {
237    name: "kselftest_futex_tests",
238    relative_install_path: "linux-kselftest/futex/functional",
239    srcs: [
240        "tools/testing/selftests/futex/functional/futex_requeue_pi.c",
241        "tools/testing/selftests/futex/functional/futex_requeue_pi_mismatched_ops.c",
242        "tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart.c",
243        "tools/testing/selftests/futex/functional/futex_wait_private_mapped_file.c",
244        "tools/testing/selftests/futex/functional/futex_wait_timeout.c",
245        "tools/testing/selftests/futex/functional/futex_wait_uninitialized_heap.c",
246        "tools/testing/selftests/futex/functional/futex_wait_wouldblock.c",
247    ],
248    local_include_dirs: [
249        "tools/testing/selftests/futex/include",
250        "tools/testing/selftests",
251    ],
252    cflags: [
253        "-D_GNU_SOURCE",
254        "-pthread",
255    ],
256    defaults: ["kselftest_defaults"],
257}
258
259sh_test {
260    name: "kselftest_futex_functional_run.sh",
261    sub_dir: "linux-kselftest/futex/functional",
262    src: "tools/testing/selftests/futex/functional/run.sh",
263    filename_from_src: true,
264    compile_multilib: "both",
265}
266
267// intel_pstate test
268cc_test {
269    name: "kselftest_intel_pstate_tests",
270    relative_install_path: "linux-kselftest/intel_pstate",
271    srcs: [
272        "tools/testing/selftests/intel_pstate/aperf.c",
273        "tools/testing/selftests/intel_pstate/msr.c",
274    ],
275    cflags: [
276        "-D_GNU_SOURCE",
277    ],
278    defaults: ["kselftest_defaults"],
279    // TODO: test_data: intel_pstate/run.sh
280}
281
282sh_test {
283    name: "kselftest_intel_pstate_run.sh",
284    sub_dir: "linux-kselftest/intel_pstate",
285    src: "tools/testing/selftests/intel_pstate/run.sh",
286    filename_from_src: true,
287    compile_multilib: "both",
288}
289
290// Kcmp test
291cc_test {
292    name: "kselftest_kcmp_tests",
293    relative_install_path: "linux-kselftest/kcmp",
294    srcs: ["tools/testing/selftests/kcmp/kcmp_test.c"],
295    defaults: ["kselftest_defaults"],
296}
297
298// Lib test
299sh_test {
300    name: "kselftest_lib_printf",
301    sub_dir: "linux-kselftest/lib",
302    src: "tools/testing/selftests/lib/printf.sh",
303    filename_from_src: true,
304    compile_multilib: "both",
305}
306
307sh_test {
308    name: "kselftest_lib_bitmap",
309    sub_dir: "linux-kselftest/lib",
310    src: "tools/testing/selftests/lib/bitmap.sh",
311    filename_from_src: true,
312    compile_multilib: "both",
313}
314
315// media_tests test
316cc_test {
317    name: "kselftest_media_tests",
318    relative_install_path: "linux-kselftest/media_tests",
319    srcs: [
320        "tools/testing/selftests/media_tests/media_device_test.c",
321        "tools/testing/selftests/media_tests/media_device_open.c",
322        "tools/testing/selftests/media_tests/video_device_test.c",
323    ],
324    defaults: ["kselftest_defaults"],
325}
326
327// Membarrier test
328cc_test {
329    name: "kselftest_membarrier_tests",
330    relative_install_path: "linux-kselftest/membarrier",
331    srcs: [
332        "tools/testing/selftests/membarrier/membarrier_test_multi_thread.c",
333        "tools/testing/selftests/membarrier/membarrier_test_single_thread.c",
334    ],
335    defaults: ["kselftest_defaults"],
336}
337
338// Memory-hotplug test
339sh_test {
340    name: "kselftest_memory-hotplug_mem-on-off-test",
341    sub_dir: "linux-kselftest/memory-hotplug",
342    src: "tools/testing/selftests/memory-hotplug/mem-on-off-test.sh",
343    filename_from_src: true,
344    compile_multilib: "both",
345}
346
347// Mount test
348cc_test {
349    name: "kselftest_mount_tests",
350    relative_install_path: "linux-kselftest/mount",
351    srcs: ["tools/testing/selftests/mount/unprivileged-remount-test.c"],
352    defaults: ["kselftest_defaults"],
353}
354
355// Net test
356cc_test {
357    name: "kselftest_net_tests",
358    relative_install_path: "linux-kselftest/net",
359    srcs: [
360        "tools/testing/selftests/net/socket.c",
361        "tools/testing/selftests/net/psock_fanout.c",
362        "tools/testing/selftests/net/psock_tpacket.c",
363        "tools/testing/selftests/net/reuseport_dualstack.c",
364        "tools/testing/selftests/net/reuseaddr_conflict.c",
365    ],
366    defaults: ["kselftest_defaults"],
367    // TODO: test_data: net/test_bpf.sh
368}
369
370sh_test {
371    name: "kselftest_net_test_bpf",
372    sub_dir: "linux-kselftest/net",
373    src: "tools/testing/selftests/net/test_bpf.sh",
374    filename_from_src: true,
375    compile_multilib: "both",
376}
377
378// Pstore test
379sh_test {
380    name: "kselftest_pstore_pstore_tests",
381    sub_dir: "linux-kselftest/pstore",
382    src: "tools/testing/selftests/pstore/pstore_tests",
383    filename_from_src: true,
384    compile_multilib: "both",
385}
386
387sh_test {
388    name: "kselftest_pstore_pstore_post_reboot_tests",
389    sub_dir: "linux-kselftest/pstore",
390    src: "tools/testing/selftests/pstore/pstore_post_reboot_tests",
391    filename_from_src: true,
392    compile_multilib: "both",
393}
394
395sh_test {
396    name: "kselftest_pstore_common_tests",
397    sub_dir: "linux-kselftest/pstore",
398    src: "tools/testing/selftests/pstore/common_tests",
399    filename_from_src: true,
400    compile_multilib: "both",
401}
402
403sh_test {
404    name: "kselftest_pstore_pstore_crash_test",
405    sub_dir: "linux-kselftest/pstore",
406    src: "tools/testing/selftests/pstore/pstore_crash_test",
407    filename_from_src: true,
408    compile_multilib: "both",
409}
410
411// Ptrace test
412cc_test {
413    name: "kselftest_ptrace_tests",
414    relative_install_path: "linux-kselftest/ptrace",
415    srcs: ["tools/testing/selftests/ptrace/peeksiginfo.c"],
416    defaults: ["kselftest_defaults"],
417}
418
419// rtc test
420cc_test {
421    name: "kselftest_rtc_tests",
422    relative_install_path: "linux-kselftest/rtc",
423    srcs: ["tools/testing/selftests/rtc/rtctest.c"],
424    defaults: ["kselftest_defaults"],
425}
426
427// seccomp test
428cc_test {
429    name: "kselftest_seccomp_tests",
430    relative_install_path: "linux-kselftest/seccomp",
431    srcs: ["tools/testing/selftests/seccomp/seccomp_bpf.c"],
432    defaults: ["kselftest_defaults"],
433}
434
435// size test
436cc_test {
437    name: "kselftest_size_test",
438    relative_install_path: "linux-kselftest/size",
439    srcs: ["tools/testing/selftests/size/get_size.c"],
440    defaults: ["kselftest_defaults"],
441    nocrt: true,
442    // coverage runtime calls atexit, which is unavailable with nocrt.
443    native_coverage: false,
444}
445
446// splice test
447cc_test {
448    name: "kselftest_splice_test",
449    relative_install_path: "linux-kselftest/splice",
450    srcs: ["tools/testing/selftests/splice/default_file_splice_read.c"],
451    defaults: ["kselftest_defaults"],
452}
453
454sh_test {
455    name: "kselftest_splice_default_file_splice_read.sh",
456    sub_dir: "linux-kselftest/splice",
457    src: "tools/testing/selftests/splice/default_file_splice_read.sh",
458    filename_from_src: true,
459    compile_multilib: "both",
460}
461
462// Static keys test
463sh_test {
464    name: "kselftest_static_keys_test_static_keys",
465    sub_dir: "linux-kselftest/static_keys",
466    src: "tools/testing/selftests/static_keys/test_static_keys.sh",
467    filename_from_src: true,
468    compile_multilib: "both",
469}
470
471// Timer test
472cc_test {
473    name: "kselftest_timer_tests",
474    relative_install_path: "linux-kselftest/timers",
475    srcs: [
476        "tools/testing/selftests/timers/adjtick.c",
477        "tools/testing/selftests/timers/alarmtimer-suspend.c",
478        "tools/testing/selftests/timers/change_skew.c",
479        "tools/testing/selftests/timers/clocksource-switch.c",
480        "tools/testing/selftests/timers/freq-step.c",
481        "tools/testing/selftests/timers/inconsistency-check.c",
482        "tools/testing/selftests/timers/leap-a-day.c",
483        "tools/testing/selftests/timers/leapcrash.c",
484        "tools/testing/selftests/timers/nanosleep.c",
485        "tools/testing/selftests/timers/nsleep-lat.c",
486        "tools/testing/selftests/timers/posix_timers.c",
487        "tools/testing/selftests/timers/raw_skew.c",
488        "tools/testing/selftests/timers/set-2038.c",
489        "tools/testing/selftests/timers/set-tai.c",
490        "tools/testing/selftests/timers/set-timer-lat.c",
491        "tools/testing/selftests/timers/set-tz.c",
492        "tools/testing/selftests/timers/skew_consistency.c",
493        "tools/testing/selftests/timers/threadtest.c",
494        "tools/testing/selftests/timers/valid-adjtimex.c",
495    ],
496    cflags: [
497        "-O3",
498        "-DKTEST",
499    ],
500    defaults: ["kselftest_defaults"],
501}
502
503// User test
504sh_test {
505    name: "kselftest_user_test_user_copy",
506    sub_dir: "linux-kselftest/user",
507    src: "tools/testing/selftests/user/test_user_copy.sh",
508    filename_from_src: true,
509    compile_multilib: "both",
510}
511
512// vdso test
513cc_test {
514    name: "kselftest_vdso_test",
515    relative_install_path: "linux-kselftest/vDSO",
516    srcs: [
517        "tools/testing/selftests/vDSO/parse_vdso.c",
518        "tools/testing/selftests/vDSO/vdso_test.c",
519    ],
520    defaults: ["kselftest_defaults"],
521    test_per_src: false,
522}
523
524// Vm test
525cc_test {
526    name: "kselftest_vm_tests",
527    relative_install_path: "linux-kselftest/vm",
528    srcs: [
529        "tools/testing/selftests/vm/compaction_test.c",
530        "tools/testing/selftests/vm/hugepage-mmap.c",
531        "tools/testing/selftests/vm/hugepage-shm.c",
532        "tools/testing/selftests/vm/map_hugetlb.c",
533        "tools/testing/selftests/vm/mlock-random-test.c",
534        "tools/testing/selftests/vm/mlock2-tests.c",
535        "tools/testing/selftests/vm/on-fault-limit.c",
536        "tools/testing/selftests/vm/thuge-gen.c",
537        "tools/testing/selftests/vm/transhuge-stress.c",
538    ],
539    defaults: ["kselftest_defaults"],
540    static_libs: ["libcap"],
541}
542
543cc_test {
544    name: "kselftest_vm64_tests",
545    relative_install_path: "linux-kselftest/vm",
546    srcs: [
547        "tools/testing/selftests/vm/virtual_address_range.c",
548    ],
549    defaults: ["kselftest_defaults"],
550    enabled: false,
551    arch: {
552        arm64: {
553            enabled: true,
554            cflags: ["-D__aarch64__"],
555        },
556    },
557}
558
559sh_test {
560    name: "kselftest_vm_run_vmtests",
561    sub_dir: "linux-kselftest/vm",
562    src: "tools/testing/selftests/vm/run_vmtests",
563    filename_from_src: true,
564    compile_multilib: "both",
565}
566
567// x86 tests
568cc_test {
569    name: "kselftest_x86_tests",
570    relative_install_path: "linux-kselftest/x86",
571    srcs: [
572        "tools/testing/selftests/x86/single_step_syscall.c",
573        "tools/testing/selftests/x86/syscall_nt.c",
574        "tools/testing/selftests/x86/test_mremap_vdso.c",
575        "tools/testing/selftests/x86/ldt_gdt.c",
576    ],
577    arch: {
578        arm: {
579            enabled: false,
580        },
581        arm64: {
582            enabled: false,
583        },
584        x86: {
585            srcs: [
586                "tools/testing/selftests/x86/sysret_ss_attrs.c",
587                //"tools/testing/selftests/x86/entry_from_vm86.c",
588                "tools/testing/selftests/x86/syscall_arg_fault.c",
589                "tools/testing/selftests/x86/unwind_vdso.c",
590                "tools/testing/selftests/x86/test_FCMOV.c",
591                "tools/testing/selftests/x86/test_FCOMI.c",
592                "tools/testing/selftests/x86/test_FISTTP.c",
593                "tools/testing/selftests/x86/vdso_restorer.c",
594            ],
595            static_libs: [
596                "libdl",
597            ],
598        },
599    },
600    cflags: [
601        "-O2",
602        "-pthread",
603    ],
604    c_std: "gnu99",
605    static_executable: true,
606    defaults: ["kselftest_defaults"],
607}
608
609cc_test {
610    name: "kselftest_x86_check_initial_reg_state",
611    stem: "check_initial_reg_state",
612    relative_install_path: "linux-kselftest/x86",
613    srcs: [
614        "tools/testing/selftests/x86/check_initial_reg_state.c",
615    ],
616    arch: {
617        arm: {
618            enabled: false,
619        },
620        arm64: {
621            enabled: false,
622        },
623    },
624    cflags: [
625        "-O2",
626        "-pthread",
627    ],
628    c_std: "gnu99",
629    // check_initial_reg_state is special: it needs a custom entry, and it needs to be static so
630    // that its interpreter doesn't destroy its initial state.
631    ldflags: ["-Wl,-ereal_start"],
632    static_executable: true,
633    test_per_src: false,
634    defaults: ["kselftest_defaults"],
635}
636
637cc_test {
638    name: "kselftest_x86_ptrace_syscall",
639    stem: "ptrace_syscall",
640    relative_install_path: "linux-kselftest/x86",
641    srcs: [
642        "tools/testing/selftests/x86/ptrace_syscall.c",
643        "tools/testing/selftests/x86/raw_syscall_helper_32.S",
644    ],
645    cflags: [
646        "-O2",
647        "-pthread",
648    ],
649    c_std: "gnu99",
650    test_per_src: false,
651    defaults: ["kselftest_defaults"],
652    enabled: false,
653    arch: {
654        x86: {
655            enabled: true,
656        },
657    },
658}
659
660cc_test {
661    name: "kselftest_x86_test_syscall_vdso",
662    stem: "test_syscall_vdso",
663    relative_install_path: "linux-kselftest/x86",
664    srcs: [
665        "tools/testing/selftests/x86/test_syscall_vdso.c",
666        "tools/testing/selftests/x86/thunks_32.S",
667    ],
668    cflags: [
669        "-O2",
670        "-pthread",
671    ],
672    c_std: "gnu99",
673    static_executable: true,
674    test_per_src: false,
675    defaults: ["kselftest_defaults"],
676    enabled: false,
677    arch: {
678        x86: {
679            enabled: true,
680        },
681    },
682}
683
684// zram tests
685sh_test {
686    name: "kselftest_zram_zram.sh",
687    sub_dir: "linux-kselftest/zram",
688    src: "tools/testing/selftests/zram/zram.sh",
689    filename_from_src: true,
690    compile_multilib: "both",
691}
692
693sh_test {
694    name: "kselftest_zram_zram01.sh",
695    sub_dir: "linux-kselftest/zram",
696    src: "tools/testing/selftests/zram/zram01.sh",
697    filename_from_src: true,
698    compile_multilib: "both",
699}
700
701sh_test {
702    name: "kselftest_zram_zram02.sh",
703    sub_dir: "linux-kselftest/zram",
704    src: "tools/testing/selftests/zram/zram02.sh",
705    filename_from_src: true,
706    compile_multilib: "both",
707}
708
709sh_test {
710    name: "kselftest_zram_zram_lib.sh",
711    sub_dir: "linux-kselftest/zram",
712    src: "tools/testing/selftests/zram/zram_lib.sh",
713    filename_from_src: true,
714    compile_multilib: "both",
715}
716