OLD | NEW |
(Empty) | |
| 1 import os |
| 2 from autotest_lib.client.bin import test, utils |
| 3 |
| 4 |
| 5 class flail(test.test): |
| 6 """ |
| 7 This autotest module runs the flail system call fuzzer. |
| 8 |
| 9 Fuzzing is slang for fault injection . It runs all system calls for that |
| 10 kernel version with random args. The goal is to find bugs in software |
| 11 without reading code or designing detailed test cases. |
| 12 |
| 13 @author: Pradeep K Surisetty (psuriset@linux.vnet.ibm.com) |
| 14 @see: http://www.risesecurity.org/ (Website of Ramon Valle, flail's creator) |
| 15 """ |
| 16 version = 1 |
| 17 |
| 18 def initialize(self): |
| 19 self.job.require_gcc() |
| 20 |
| 21 |
| 22 def setup(self, tarball = 'flail-0.2.0.tar.gz'): |
| 23 """ |
| 24 Compiles flail with the appropriate parameters. |
| 25 |
| 26 @param tarball: Path or URL for the flail tarball. |
| 27 """ |
| 28 tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) |
| 29 utils.extract_tarball_to_dir(tarball, self.srcdir) |
| 30 os.chdir(self.srcdir) |
| 31 utils.make() |
| 32 |
| 33 |
| 34 def run_once(self, fstype = 'iso9660'): |
| 35 """ |
| 36 Runs flail with the appropriate parameters. |
| 37 |
| 38 @param fstype: Filesystem type you wish to run flail on. |
| 39 """ |
| 40 args = fstype + ' 1' |
| 41 flail_cmd = os.path.join(self.srcdir, 'flail %s' % args) |
| 42 utils.system(flail_cmd) |
OLD | NEW |