]> git-server-git.apps.pok.os.sepia.ceph.com Git - s3-tests.git/commitdiff
Added descriptions of what the fuzzer is and does.
authorMark Kampe <mark.kampe@dreamhost.com>
Thu, 22 Dec 2011 21:04:30 +0000 (13:04 -0800)
committerMark Kampe <mark.kampe@dreamhost.com>
Fri, 23 Dec 2011 00:09:21 +0000 (16:09 -0800)
Signed-off-by: Mark Kampe <mark.kampe@dreamhost.com>
request_decision_graph.yml
s3tests/fuzz/test/test_fuzzer.py

index 6b2fab3ad114421dc3d5945f8d8b32624698de11..8e7ab0c9577d44b65e59e07d7bec5771fd0c0a2f 100644 (file)
@@ -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:
index fc40800599fd43814427e8d9e8c117c7848f1d58..f54e954599775c81e2ae2a721c262ea3b5b12677 100644 (file)
@@ -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