83 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
Linux Ftrace Testcases
 | 
						|
 | 
						|
This is a collection of testcases for ftrace tracing feature in the Linux
 | 
						|
kernel. Since ftrace exports interfaces via the debugfs, we just need
 | 
						|
shell scripts for testing. Feel free to add new test cases.
 | 
						|
 | 
						|
Running the ftrace testcases
 | 
						|
============================
 | 
						|
 | 
						|
At first, you need to be the root user to run this script.
 | 
						|
To run all testcases:
 | 
						|
 | 
						|
  $ sudo ./ftracetest
 | 
						|
 | 
						|
To run specific testcases:
 | 
						|
 | 
						|
  # ./ftracetest test.d/basic3.tc
 | 
						|
 | 
						|
Or you can also run testcases under given directory:
 | 
						|
 | 
						|
  # ./ftracetest test.d/kprobe/
 | 
						|
 | 
						|
Contributing new testcases
 | 
						|
==========================
 | 
						|
 | 
						|
Copy test.d/template to your testcase (whose filename must have *.tc
 | 
						|
extension) and rewrite the test description line.
 | 
						|
 | 
						|
 * The working directory of the script is <debugfs>/tracing/.
 | 
						|
 | 
						|
 * Take care with side effects as the tests are run with root privilege.
 | 
						|
 | 
						|
 * The tests should not run for a long period of time (more than 1 min.)
 | 
						|
   These are to be unit tests.
 | 
						|
 | 
						|
 * You can add a directory for your testcases under test.d/ if needed.
 | 
						|
 | 
						|
 * The test cases should run on dash (busybox shell) for testing on
 | 
						|
   minimal cross-build environments.
 | 
						|
 | 
						|
 * Note that the tests are run with "set -e" (errexit) option. If any
 | 
						|
   command fails, the test will be terminated immediately.
 | 
						|
 | 
						|
 * The tests can return some result codes instead of pass or fail by
 | 
						|
   using exit_unresolved, exit_untested, exit_unsupported and exit_xfail.
 | 
						|
 | 
						|
Result code
 | 
						|
===========
 | 
						|
 | 
						|
Ftracetest supports following result codes.
 | 
						|
 | 
						|
 * PASS: The test succeeded as expected. The test which exits with 0 is
 | 
						|
         counted as passed test.
 | 
						|
 | 
						|
 * FAIL: The test failed, but was expected to succeed. The test which exits
 | 
						|
         with !0 is counted as failed test.
 | 
						|
 | 
						|
 * UNRESOLVED: The test produced unclear or intermidiate results.
 | 
						|
             for example, the test was interrupted
 | 
						|
                       or the test depends on a previous test, which failed.
 | 
						|
                       or the test was set up incorrectly
 | 
						|
             The test which is in above situation, must call exit_unresolved.
 | 
						|
 | 
						|
 * UNTESTED: The test was not run, currently just a placeholder.
 | 
						|
             In this case, the test must call exit_untested.
 | 
						|
 | 
						|
 * UNSUPPORTED: The test failed because of lack of feature.
 | 
						|
               In this case, the test must call exit_unsupported.
 | 
						|
 | 
						|
 * XFAIL: The test failed, and was expected to fail.
 | 
						|
          To return XFAIL, call exit_xfail from the test.
 | 
						|
 | 
						|
There are some sample test scripts for result code under samples/.
 | 
						|
You can also run samples as below:
 | 
						|
 | 
						|
  # ./ftracetest samples/
 | 
						|
 | 
						|
TODO
 | 
						|
====
 | 
						|
 | 
						|
 * Fancy colored output :)
 | 
						|
 |