From: Mark Kampe Date: Thu, 22 Dec 2011 21:04:30 +0000 (-0800) Subject: Added descriptions of what the fuzzer is and does. X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d69a33cc3593583dde7d19766ab113f07eb52f1a;p=s3-tests.git Added descriptions of what the fuzzer is and does. Signed-off-by: Mark Kampe --- diff --git a/request_decision_graph.yml b/request_decision_graph.yml index 6b2fab3a..8e7ab0c9 100644 --- a/request_decision_graph.yml +++ b/request_decision_graph.yml @@ -1,3 +1,21 @@ +# +# FUZZ testing uses a probabalistic grammar to generate +# pseudo-random requests which will be sent to a server +# over long periods of time, with the goal of turning up +# garbage-input and buffer-overflow sensitivities. +# +# Each state ... +# generates/chooses contents for variables +# chooses a next state (from a weighted set of options) +# +# A terminal state is one from which there are no successors, +# at which point a message is generated (from the variables) +# and sent to the server. +# +# The test program doesn't actually know (or care) what +# response should be returned ... since the goal is to +# crash the server. +# start: set: garbage: diff --git a/s3tests/fuzz/test/test_fuzzer.py b/s3tests/fuzz/test/test_fuzzer.py index fc408005..f54e9545 100644 --- a/s3tests/fuzz/test/test_fuzzer.py +++ b/s3tests/fuzz/test/test_fuzzer.py @@ -1,3 +1,16 @@ +""" +Unit-test suite for the S3 fuzzer + +The fuzzer is a grammar-based random S3 operation generator +that produces random operation sequences in an effort to +crash the server. This unit-test suite does not test +S3 servers, but rather the fuzzer infrastructure. + +It works by running the fuzzer off of a simple grammar, +and checking the producted requests to ensure that they +include the expected sorts of operations in the expected +proportions. +""" import sys import itertools import nose