linux/tools/testing/selftests
Linus Torvalds 90eac7eee2 This patch series starts a new selftests section in the
tools/testing/selftest directory called "ftrace" that holds tests
 aimed at testing ftrace and subsystems that use ftrace (like kprobes).
 
 So far only a few tests were written (by Masami Hiramatsu), but more will
 be added in the near future (3.19).
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJUNXv0AAoJEKQekfcNnQGuCtkH/1bQgWWVZk0zphISmR01stPj
 ods1P937icSXxFyrz2sVf7qht5GCisWkvSC34AWcBP88fY0KFPYAiR+4WlbCr3Y5
 TEjEt/qRaBEDRtUzW5mjQMwTZ/G4KBMXOh87yrffQs8eSuIXcK55chkddtnMFZ13
 H2bx27rMqFamOLbj3vyAfxUayonZsaXl7YQfRq1lu3jvZCi3zBJdjohHtXvrjKDo
 dJ+ZIJtazuFV/LmsCfEtjibQNCQiVIbsxRJ/oCqUAYzKyY4gFwWbqsyH9g0Wv7HX
 LAJpNgChLAau+mUQoVpc4tPU/NBCGPgVoV5ojdKJXU6WYkIkCUaIi6qBEHpG8LE=
 =HFgG
 -----END PGP SIGNATURE-----

Merge tag 'ftracetest-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

Pull ftrace test code from Steven Rostedt:
 "This patch series starts a new selftests section in the
  tools/testing/selftest directory called "ftrace" that holds tests
  aimed at testing ftrace and subsystems that use ftrace (like kprobes).

  So far only a few tests were written (by Masami Hiramatsu), but more
  will be added in the near future (3.19)"

* tag 'ftracetest-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  tracing/kprobes: Add selftest scripts testing kprobe-tracer as startup test
  ftracetest: Add POSIX.3 standard and XFAIL result codes
  ftracetest: Add kprobe basic testcases
  ftracetest: Add ftrace basic testcases
  ftracetest: Initial commit for ftracetest
2014-10-12 07:33:37 -04:00
..
breakpoints breakpoint selftests: print failure status instead of cause make error 2012-12-17 17:15:27 -08:00
cpu-hotplug tools: selftests - create a separate hotplug target for full range test 2014-07-11 18:13:06 -07:00
efivarfs efivars: efivarfs_valid_name() should handle pstore syntax 2013-03-06 14:46:04 +00:00
firmware test: add firmware_class loader test 2014-07-17 18:44:19 -07:00
ftrace tracing/kprobes: Add selftest scripts testing kprobe-tracer as startup test 2014-10-08 11:21:46 -04:00
ipc tools: selftests: fix build issue with make kselftests target 2014-08-29 16:28:17 -07:00
kcmp tools: selftests: fix build issue with make kselftests target 2014-08-29 16:28:17 -07:00
memfd tools: selftests: fix build issue with make kselftests target 2014-08-29 16:28:17 -07:00
memory-hotplug tools: selftests - create a separate hotplug target for full range test 2014-07-11 18:13:06 -07:00
mount mnt: Add tests for unprivileged remount cases that have found to be faulty 2014-07-31 17:13:15 -07:00
mqueue tools: Fix mqueue Makefile compile linking order 2014-07-11 18:11:18 -07:00
net net: filter: BPF testsuite 2014-05-12 00:23:55 -04:00
powerpc selftests/powerpc: Add test of load_unaligned_zero_pad() 2014-09-30 14:59:12 +10:00
ptrace tools/testing/selftests/ptrace/peeksiginfo.c: add PAGE_SIZE definition 2014-08-08 15:57:25 -07:00
rcutorture Merge branches 'doc.2014.07.08a', 'fixes.2014.07.09a', 'maintainers.2014.07.08b', 'nocbs.2014.07.07a' and 'torture.2014.07.07a' into HEAD 2014-07-09 09:16:54 -07:00
sysctl tools/testing/selftests/sysctl: validate sysctl_writes_strict 2014-06-06 16:08:13 -07:00
timers tools/testing/selftests: fix uninitialized variable 2013-10-16 21:35:53 -07:00
user test: check copy_to/from_user boundary validation 2014-01-23 16:36:57 -08:00
vm selftests/vm/transhuge-stress: stress test for memory compaction 2014-10-09 22:26:01 -04:00
Makefile ftracetest: Initial commit for ftracetest 2014-09-23 09:31:05 -04:00
README.txt tools: selftests - create a separate hotplug target for full range test 2014-07-11 18:13:06 -07:00

Linux Kernel Selftests

The kernel contains a set of "self tests" under the tools/testing/selftests/
directory. These are intended to be small unit tests to exercise individual
code paths in the kernel.

On some systems, hot-plug tests could hang forever waiting for cpu and
memory to be ready to be offlined. A special hot-plug target is created
to run full range of hot-plug tests. In default mode, hot-plug tests run
in safe mode with a limited scope. In limited mode, cpu-hotplug test is
run on a single cpu as opposed to all hotplug capable cpus, and memory
hotplug test is run on 2% of hotplug capable memory instead of 10%.

Running the selftests (hotplug tests are run in limited mode)
=============================================================

To build the tests:

  $ make -C tools/testing/selftests


To run the tests:

  $ make -C tools/testing/selftests run_tests

- note that some tests will require root privileges.

To run only tests targeted for a single subsystem: (including
hotplug targets in limited mode)

  $  make -C tools/testing/selftests TARGETS=cpu-hotplug run_tests

See the top-level tools/testing/selftests/Makefile for the list of all possible
targets.

Running the full range hotplug selftests
========================================

To build the tests:

  $ make -C tools/testing/selftests hotplug

To run the tests:

  $ make -C tools/testing/selftests run_hotplug

- note that some tests will require root privileges.

Contributing new tests
======================

In general, the rules for for selftests are

 * Do as much as you can if you're not root;

 * Don't take too long;

 * Don't break the build on any architecture, and

 * Don't cause the top-level "make run_tests" to fail if your feature is
   unconfigured.