Index: client/tests/flail/flail.py |
diff --git a/client/tests/flail/flail.py b/client/tests/flail/flail.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5b32fe69bdb4e78daf9a467ff6b45c8847cd4f42 |
--- /dev/null |
+++ b/client/tests/flail/flail.py |
@@ -0,0 +1,42 @@ |
+import os |
+from autotest_lib.client.bin import test, utils |
+ |
+ |
+class flail(test.test): |
+ """ |
+ This autotest module runs the flail system call fuzzer. |
+ |
+ Fuzzing is slang for fault injection . It runs all system calls for that |
+ kernel version with random args. The goal is to find bugs in software |
+ without reading code or designing detailed test cases. |
+ |
+ @author: Pradeep K Surisetty (psuriset@linux.vnet.ibm.com) |
+ @see: http://www.risesecurity.org/ (Website of Ramon Valle, flail's creator) |
+ """ |
+ version = 1 |
+ |
+ def initialize(self): |
+ self.job.require_gcc() |
+ |
+ |
+ def setup(self, tarball = 'flail-0.2.0.tar.gz'): |
+ """ |
+ Compiles flail with the appropriate parameters. |
+ |
+ @param tarball: Path or URL for the flail tarball. |
+ """ |
+ tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) |
+ utils.extract_tarball_to_dir(tarball, self.srcdir) |
+ os.chdir(self.srcdir) |
+ utils.make() |
+ |
+ |
+ def run_once(self, fstype = 'iso9660'): |
+ """ |
+ Runs flail with the appropriate parameters. |
+ |
+ @param fstype: Filesystem type you wish to run flail on. |
+ """ |
+ args = fstype + ' 1' |
+ flail_cmd = os.path.join(self.srcdir, 'flail %s' % args) |
+ utils.system(flail_cmd) |