diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2008-04-15 15:50:13 +1000 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2008-04-15 15:50:13 +1000 |
commit | 8ddea739599f869f3b8638634665f484ae78eac8 (patch) | |
tree | a3d1574478166c5fefb7050649cea72d30d007fb | |
parent | 70c6575c49d2fbd24f0c505e50f562c37d4789c9 (diff) | |
parent | 1caff9ba52970a3492bfe8a1b9e26291d34259c5 (diff) |
Merge commit 'tests/master'
Conflicts:
lib/Kconfig.debug
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | drivers/misc/Makefile | 1 | ||||
-rw-r--r-- | kernel/Makefile | 4 | ||||
-rw-r--r-- | lib/Kconfig.debug | 72 | ||||
-rw-r--r-- | lib/Makefile | 1 | ||||
-rw-r--r-- | tests/Kconfig | 80 | ||||
-rw-r--r-- | tests/Makefile | 10 | ||||
-rw-r--r-- | tests/backtracetest.c (renamed from kernel/backtracetest.c) | 0 | ||||
-rw-r--r-- | tests/lkdtm.c (renamed from drivers/misc/lkdtm.c) | 12 | ||||
-rw-r--r-- | tests/locking-selftest-hardirq.h (renamed from lib/locking-selftest-hardirq.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-mutex.h (renamed from lib/locking-selftest-mutex.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-rlock-hardirq.h (renamed from lib/locking-selftest-rlock-hardirq.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-rlock-softirq.h (renamed from lib/locking-selftest-rlock-softirq.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-rlock.h (renamed from lib/locking-selftest-rlock.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-rsem.h (renamed from lib/locking-selftest-rsem.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-softirq.h (renamed from lib/locking-selftest-softirq.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-spin-hardirq.h (renamed from lib/locking-selftest-spin-hardirq.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-spin-softirq.h (renamed from lib/locking-selftest-spin-softirq.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-spin.h (renamed from lib/locking-selftest-spin.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-wlock-hardirq.h (renamed from lib/locking-selftest-wlock-hardirq.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-wlock-softirq.h (renamed from lib/locking-selftest-wlock-softirq.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-wlock.h (renamed from lib/locking-selftest-wlock.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest-wsem.h (renamed from lib/locking-selftest-wsem.h) | 0 | ||||
-rw-r--r-- | tests/locking-selftest.c (renamed from lib/locking-selftest.c) | 0 | ||||
-rw-r--r-- | tests/rcutorture.c (renamed from kernel/rcutorture.c) | 0 | ||||
-rw-r--r-- | tests/rtmutex-tester.c (renamed from kernel/rtmutex-tester.c) | 2 | ||||
-rw-r--r-- | tests/test_kprobes.c (renamed from kernel/test_kprobes.c) | 0 |
27 files changed, 100 insertions, 83 deletions
@@ -608,6 +608,7 @@ export mod_strip_cmd ifeq ($(KBUILD_EXTMOD),) core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ +core-$(CONFIG_KERNEL_TESTS) += tests/ vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \ $(core-y) $(core-m) $(drivers-y) $(drivers-m) \ diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile index c975028f101b..7d1977300ece 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -12,7 +12,6 @@ obj-$(CONFIG_ATMEL_PWM) += atmel_pwm.o obj-$(CONFIG_ATMEL_SSC) += atmel-ssc.o obj-$(CONFIG_ATMEL_TCLIB) += atmel_tclib.o obj-$(CONFIG_TC1100_WMI) += tc1100-wmi.o -obj-$(CONFIG_LKDTM) += lkdtm.o obj-$(CONFIG_TIFM_CORE) += tifm_core.o obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o obj-$(CONFIG_PHANTOM) += phantom.o diff --git a/kernel/Makefile b/kernel/Makefile index 0392b92fe13f..454c8aca7e2b 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -33,7 +33,6 @@ obj-$(CONFIG_FUTEX) += futex_compat.o endif obj-$(CONFIG_RT_MUTEXES) += rtmutex.o obj-$(CONFIG_DEBUG_RT_MUTEXES) += rtmutex-debug.o -obj-$(CONFIG_RT_MUTEX_TESTER) += rtmutex-tester.o obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o obj-$(CONFIG_SMP) += cpu.o spinlock.o obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock.o @@ -44,7 +43,6 @@ obj-$(CONFIG_KALLSYMS) += kallsyms.o obj-$(CONFIG_PM) += power/ obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o obj-$(CONFIG_KEXEC) += kexec.o -obj-$(CONFIG_BACKTRACE_SELF_TEST) += backtracetest.o obj-$(CONFIG_COMPAT) += compat.o obj-$(CONFIG_CGROUPS) += cgroup.o obj-$(CONFIG_CGROUP_DEBUG) += cgroup_debug.o @@ -56,7 +54,6 @@ obj-$(CONFIG_PID_NS) += pid_namespace.o obj-$(CONFIG_IKCONFIG) += configs.o obj-$(CONFIG_RESOURCE_COUNTERS) += res_counter.o obj-$(CONFIG_STOP_MACHINE) += stop_machine.o -obj-$(CONFIG_KPROBES_SANITY_TEST) += test_kprobes.o obj-$(CONFIG_AUDIT) += audit.o auditfilter.o obj-$(CONFIG_AUDITSYSCALL) += auditsc.o obj-$(CONFIG_AUDIT_TREE) += audit_tree.o @@ -64,7 +61,6 @@ obj-$(CONFIG_KPROBES) += kprobes.o obj-$(CONFIG_DETECT_SOFTLOCKUP) += softlockup.o obj-$(CONFIG_GENERIC_HARDIRQS) += irq/ obj-$(CONFIG_SECCOMP) += seccomp.o -obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o obj-$(CONFIG_CLASSIC_RCU) += rcuclassic.o obj-$(CONFIG_PREEMPT_RCU) += rcupreempt.o ifeq ($(CONFIG_PREEMPT_RCU),y) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index e6972683a118..3c8d918e0db1 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -243,12 +243,6 @@ config DEBUG_PI_LIST default y depends on DEBUG_RT_MUTEXES -config RT_MUTEX_TESTER - bool "Built-in scriptable tester for rt-mutexes" - depends on DEBUG_KERNEL && RT_MUTEXES - help - This option enables a rt-mutex tester. - config DEBUG_SPINLOCK bool "Spinlock and rw-lock debugging: basic checks" depends on DEBUG_KERNEL @@ -374,17 +368,6 @@ config DEBUG_SPINLOCK_SLEEP If you say Y here, various routines which may sleep will become very noisy if they are called with a spinlock held. -config DEBUG_LOCKING_API_SELFTESTS - bool "Locking API boot-time self-tests" - depends on DEBUG_KERNEL - help - Say Y here if you want the kernel to run a short self-test during - bootup. The self-test checks whether common types of locking bugs - are detected by debugging mechanisms or not. (if you disable - lock debugging then those bugs wont be detected of course.) - The following locking APIs are covered: spinlocks, rwlocks, - mutexes and rwsems. - config STACKTRACE bool depends on STACKTRACE_SUPPORT @@ -485,59 +468,6 @@ config BOOT_PRINTK_DELAY BOOT_PRINTK_DELAY also may cause DETECT_SOFTLOCKUP to detect what it believes to be lockup conditions. -config RCU_TORTURE_TEST - tristate "torture tests for RCU" - depends on DEBUG_KERNEL - depends on m - default n - help - This option provides a kernel module that runs torture tests - on the RCU infrastructure. The kernel module may be built - after the fact on the running kernel to be tested, if desired. - - Say M if you want the RCU torture tests to build as a module. - Say N if you are unsure. - -config KPROBES_SANITY_TEST - bool "Kprobes sanity tests" - depends on DEBUG_KERNEL - depends on KPROBES - default n - help - This option provides for testing basic kprobes functionality on - boot. A sample kprobe, jprobe and kretprobe are inserted and - verified for functionality. - - Say N if you are unsure. - -config BACKTRACE_SELF_TEST - tristate "Self test for the backtrace code" - depends on DEBUG_KERNEL - default n - help - This option provides a kernel module that can be used to test - the kernel stack backtrace code. This option is not useful - for distributions or general kernels, but only for kernel - developers working on architecture code. - - Say N if you are unsure. - -config LKDTM - tristate "Linux Kernel Dump Test Tool Module" - depends on DEBUG_KERNEL - depends on KPROBES - depends on BLOCK - default n - help - This module enables testing of the different dumping mechanisms by - inducing system failures at predefined crash points. - If you don't need it: say N - Choose M here to compile this code as a module. The module will be - called lkdtm. - - Documentation on how to use the module can be found in - drivers/misc/lkdtm.c - config FAULT_INJECTION bool "Fault-injection framework" depends on DEBUG_KERNEL @@ -634,3 +564,5 @@ config FIREWIRE_OHCI_REMOTE_DMA If unsure, say N. source "samples/Kconfig" + +source "tests/Kconfig" diff --git a/lib/Makefile b/lib/Makefile index fcf0451102ac..283601a40568 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -34,7 +34,6 @@ lib-$(CONFIG_HOTPLUG) += kobject_uevent.o obj-$(CONFIG_GENERIC_IOMAP) += iomap.o obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o obj-$(CONFIG_CHECK_SIGNATURE) += check_signature.o -obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o lib-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem.o diff --git a/tests/Kconfig b/tests/Kconfig new file mode 100644 index 000000000000..cbfbd7aea906 --- /dev/null +++ b/tests/Kconfig @@ -0,0 +1,80 @@ +# tests/Kconfig + +menuconfig KERNEL_TESTS + bool "Kernel subsystem tests" + help + You can build kernel subsystem specific tests. + +if KERNEL_TESTS + +config DEBUG_LOCKING_API_SELFTESTS + bool "Locking API boot-time self-tests" + depends on DEBUG_KERNEL + help + Say Y here if you want the kernel to run a short self-test during + bootup. The self-test checks whether common types of locking bugs + are detected by debugging mechanisms or not. (if you disable + lock debugging then those bugs wont be detected of course.) + The following locking APIs are covered: spinlocks, rwlocks, + mutexes and rwsems. + +config RCU_TORTURE_TEST + tristate "torture tests for RCU" + depends on DEBUG_KERNEL + depends on m + default n + help + This option provides a kernel module that runs torture tests + on the RCU infrastructure. The kernel module may be built + after the fact on the running kernel to be tested, if desired. + + Say M if you want the RCU torture tests to build as a module. + Say N if you are unsure. + +config RT_MUTEX_TESTER + bool "Built-in scriptable tester for rt-mutexes" + depends on DEBUG_KERNEL && RT_MUTEXES + help + This option enables a rt-mutex tester. + +config LKDTM + tristate "Linux Kernel Dump Test Tool Module" + depends on DEBUG_KERNEL + depends on KPROBES + depends on BLOCK + default n + help + This module enables testing of the different dumping mechanisms by + inducing system failures at predefined crash points. + If you don't need it: say N + Choose M here to compile this code as a module. The module will be + called lkdtm. + + Documentation on how to use the module can be found in + tests/lkdtm.c + +config KPROBES_SANITY_TEST + bool "Kprobes sanity tests" + depends on DEBUG_KERNEL + depends on KPROBES + default n + help + This option provides for testing basic kprobes functionality on + boot. A sample kprobe, jprobe and kretprobe are inserted and + verified for functionality. + + Say N if you are unsure. + +config BACKTRACE_SELF_TEST + tristate "Self test for the backtrace code" + depends on DEBUG_KERNEL + default n + help + This option provides a kernel module that can be used to test + the kernel stack backtrace code. This option is not useful + for distributions or general kernels, but only for kernel + developers working on architecture code. + + Say N if you are unsure. + +endif # KERNEL_TESTS diff --git a/tests/Makefile b/tests/Makefile new file mode 100644 index 000000000000..1d56a9ea5993 --- /dev/null +++ b/tests/Makefile @@ -0,0 +1,10 @@ +# +# Makefile for kernel subsystem specific tests +# + +obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o +obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o +obj-$(CONFIG_RT_MUTEX_TESTER) += rtmutex-tester.o +obj-$(CONFIG_LKDTM) += lkdtm.o +obj-$(CONFIG_KPROBES_SANITY_TEST) += test_kprobes.o +obj-$(CONFIG_BACKTRACE_SELF_TEST) += backtracetest.o diff --git a/kernel/backtracetest.c b/tests/backtracetest.c index d1a7605c5b8f..d1a7605c5b8f 100644 --- a/kernel/backtracetest.c +++ b/tests/backtracetest.c diff --git a/drivers/misc/lkdtm.c b/tests/lkdtm.c index 1bfe5d16963b..5b4f5fd6799f 100644 --- a/drivers/misc/lkdtm.c +++ b/tests/lkdtm.c @@ -216,7 +216,7 @@ static int lkdtm_parse_commandline(void) } if (cpoint == INVALID || cptype == NONE) - return -EINVAL; + return -EINVAL; count = cpoint_count; @@ -232,7 +232,7 @@ static int recursive_loop(int a) if (!recur_count) return 0; else - return recursive_loop(a); + return recursive_loop(a); } void lkdtm_handler(void) @@ -324,8 +324,8 @@ static int __init lkdtm_module_init(void) } if ((ret = register_jprobe(&lkdtm)) < 0) { - printk(KERN_INFO "lkdtm : Couldn't register jprobe\n"); - return ret; + printk(KERN_INFO "lkdtm : Couldn't register jprobe\n"); + return ret; } printk(KERN_INFO "lkdtm : Crash point %s of type %s registered\n", @@ -335,8 +335,8 @@ static int __init lkdtm_module_init(void) static void __exit lkdtm_module_exit(void) { - unregister_jprobe(&lkdtm); - printk(KERN_INFO "lkdtm : Crash point unregistered\n"); + unregister_jprobe(&lkdtm); + printk(KERN_INFO "lkdtm : Crash point unregistered\n"); } module_init(lkdtm_module_init); diff --git a/lib/locking-selftest-hardirq.h b/tests/locking-selftest-hardirq.h index 10d4a150b259..10d4a150b259 100644 --- a/lib/locking-selftest-hardirq.h +++ b/tests/locking-selftest-hardirq.h diff --git a/lib/locking-selftest-mutex.h b/tests/locking-selftest-mutex.h index 68601b6f584b..68601b6f584b 100644 --- a/lib/locking-selftest-mutex.h +++ b/tests/locking-selftest-mutex.h diff --git a/lib/locking-selftest-rlock-hardirq.h b/tests/locking-selftest-rlock-hardirq.h index 9f517ebcb786..9f517ebcb786 100644 --- a/lib/locking-selftest-rlock-hardirq.h +++ b/tests/locking-selftest-rlock-hardirq.h diff --git a/lib/locking-selftest-rlock-softirq.h b/tests/locking-selftest-rlock-softirq.h index 981455db7ff0..981455db7ff0 100644 --- a/lib/locking-selftest-rlock-softirq.h +++ b/tests/locking-selftest-rlock-softirq.h diff --git a/lib/locking-selftest-rlock.h b/tests/locking-selftest-rlock.h index 6789044f4d0e..6789044f4d0e 100644 --- a/lib/locking-selftest-rlock.h +++ b/tests/locking-selftest-rlock.h diff --git a/lib/locking-selftest-rsem.h b/tests/locking-selftest-rsem.h index 62da886680c7..62da886680c7 100644 --- a/lib/locking-selftest-rsem.h +++ b/tests/locking-selftest-rsem.h diff --git a/lib/locking-selftest-softirq.h b/tests/locking-selftest-softirq.h index a83de2a04ace..a83de2a04ace 100644 --- a/lib/locking-selftest-softirq.h +++ b/tests/locking-selftest-softirq.h diff --git a/lib/locking-selftest-spin-hardirq.h b/tests/locking-selftest-spin-hardirq.h index 693198dce30a..693198dce30a 100644 --- a/lib/locking-selftest-spin-hardirq.h +++ b/tests/locking-selftest-spin-hardirq.h diff --git a/lib/locking-selftest-spin-softirq.h b/tests/locking-selftest-spin-softirq.h index c472e2a87ffc..c472e2a87ffc 100644 --- a/lib/locking-selftest-spin-softirq.h +++ b/tests/locking-selftest-spin-softirq.h diff --git a/lib/locking-selftest-spin.h b/tests/locking-selftest-spin.h index ccd1b4b09757..ccd1b4b09757 100644 --- a/lib/locking-selftest-spin.h +++ b/tests/locking-selftest-spin.h diff --git a/lib/locking-selftest-wlock-hardirq.h b/tests/locking-selftest-wlock-hardirq.h index 2dd2e5122caa..2dd2e5122caa 100644 --- a/lib/locking-selftest-wlock-hardirq.h +++ b/tests/locking-selftest-wlock-hardirq.h diff --git a/lib/locking-selftest-wlock-softirq.h b/tests/locking-selftest-wlock-softirq.h index cb80d1cb944e..cb80d1cb944e 100644 --- a/lib/locking-selftest-wlock-softirq.h +++ b/tests/locking-selftest-wlock-softirq.h diff --git a/lib/locking-selftest-wlock.h b/tests/locking-selftest-wlock.h index 0815322d99ed..0815322d99ed 100644 --- a/lib/locking-selftest-wlock.h +++ b/tests/locking-selftest-wlock.h diff --git a/lib/locking-selftest-wsem.h b/tests/locking-selftest-wsem.h index b88c5f2dc5f0..b88c5f2dc5f0 100644 --- a/lib/locking-selftest-wsem.h +++ b/tests/locking-selftest-wsem.h diff --git a/lib/locking-selftest.c b/tests/locking-selftest.c index 280332c1827c..280332c1827c 100644 --- a/lib/locking-selftest.c +++ b/tests/locking-selftest.c diff --git a/kernel/rcutorture.c b/tests/rcutorture.c index fd599829e72a..fd599829e72a 100644 --- a/kernel/rcutorture.c +++ b/tests/rcutorture.c diff --git a/kernel/rtmutex-tester.c b/tests/rtmutex-tester.c index 092e4c620af9..f0200bd21217 100644 --- a/kernel/rtmutex-tester.c +++ b/tests/rtmutex-tester.c @@ -15,7 +15,7 @@ #include <linux/timer.h> #include <linux/freezer.h> -#include "rtmutex.h" +#include "../kernel/rtmutex.h" #define MAX_RT_TEST_THREADS 8 #define MAX_RT_TEST_MUTEXES 8 diff --git a/kernel/test_kprobes.c b/tests/test_kprobes.c index 06b6395b45b2..06b6395b45b2 100644 --- a/kernel/test_kprobes.c +++ b/tests/test_kprobes.c |