rfuzz 0.8 → 0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/doc/rdoc/classes/RFuzz.html +1 -1
- data/doc/rdoc/classes/RFuzz/Browser.html +15 -15
- data/doc/rdoc/classes/RFuzz/Browser.src/M000084.html +12 -10
- data/doc/rdoc/classes/RFuzz/Browser.src/M000085.html +10 -11
- data/doc/rdoc/classes/RFuzz/Browser.src/M000086.html +24 -0
- data/doc/rdoc/classes/RFuzz/HttpClient.html +72 -64
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000020.html +12 -21
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000021.html +21 -15
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000022.html +15 -17
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000023.html +17 -22
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000024.html +22 -9
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000025.html +9 -31
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000026.html +31 -25
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000027.html +25 -13
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000028.html +13 -21
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000029.html +21 -5
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000030.html +5 -13
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000031.html +26 -0
- data/doc/rdoc/classes/RFuzz/HttpResponse.html +15 -15
- data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000032.html +9 -5
- data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000033.html +5 -5
- data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000034.html +18 -0
- data/doc/rdoc/classes/RFuzz/Notifier.html +36 -36
- data/doc/rdoc/classes/RFuzz/Notifier.src/M000059.html +4 -4
- data/doc/rdoc/classes/RFuzz/Notifier.src/M000060.html +4 -4
- data/doc/rdoc/classes/RFuzz/Notifier.src/M000061.html +4 -4
- data/doc/rdoc/classes/RFuzz/Notifier.src/M000062.html +4 -4
- data/doc/rdoc/classes/RFuzz/Notifier.src/M000063.html +4 -4
- data/doc/rdoc/classes/RFuzz/Notifier.src/M000064.html +4 -4
- data/doc/rdoc/classes/RFuzz/Notifier.src/{M000058.html → M000065.html} +4 -4
- data/doc/rdoc/classes/RFuzz/PushBackIO.html +55 -40
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000010.html +2 -1
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000011.html +6 -5
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000012.html +8 -6
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000013.html +7 -5
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000014.html +6 -31
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000015.html +32 -5
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000016.html +6 -5
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000017.html +6 -5
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000018.html +5 -9
- data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000019.html +22 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.html +62 -62
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000047.html +8 -10
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000048.html +23 -0
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000051.html +9 -7
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000052.html +7 -9
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000053.html +9 -7
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000054.html +7 -5
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000055.html +5 -5
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000056.html +5 -9
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000057.html +9 -5
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000058.html +18 -0
- data/doc/rdoc/classes/RFuzz/Sampler.html +60 -60
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000072.html +6 -10
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000073.html +10 -13
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000074.html +13 -5
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000075.html +5 -5
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000076.html +5 -5
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000077.html +5 -5
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000078.html +5 -6
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000079.html +6 -5
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000080.html +5 -10
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000081.html +10 -5
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000082.html +5 -7
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000083.html +20 -0
- data/doc/rdoc/classes/RFuzz/Session.html +63 -63
- data/doc/rdoc/classes/RFuzz/Session.src/M000035.html +18 -5
- data/doc/rdoc/classes/RFuzz/Session.src/M000036.html +5 -5
- data/doc/rdoc/classes/RFuzz/Session.src/M000037.html +5 -21
- data/doc/rdoc/classes/RFuzz/Session.src/M000038.html +21 -6
- data/doc/rdoc/classes/RFuzz/Session.src/M000039.html +6 -6
- data/doc/rdoc/classes/RFuzz/Session.src/M000040.html +6 -13
- data/doc/rdoc/classes/RFuzz/Session.src/M000041.html +13 -16
- data/doc/rdoc/classes/RFuzz/Session.src/M000042.html +16 -6
- data/doc/rdoc/classes/RFuzz/Session.src/M000043.html +6 -5
- data/doc/rdoc/classes/RFuzz/Session.src/M000044.html +5 -5
- data/doc/rdoc/classes/RFuzz/Session.src/M000045.html +5 -10
- data/doc/rdoc/classes/RFuzz/Session.src/M000046.html +23 -0
- data/doc/rdoc/classes/RFuzz/StatsTracker.html +32 -32
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000066.html +6 -6
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000067.html +6 -5
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000068.html +5 -5
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000069.html +5 -15
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000070.html +15 -5
- data/doc/rdoc/classes/RFuzz/StatsTracker.src/{M000065.html → M000071.html} +5 -6
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/lib/rfuzz/client_rb.html +1 -1
- data/doc/rdoc/files/lib/rfuzz/pushbackio_rb.html +1 -1
- data/doc/rdoc/files/lib/rfuzz/session_rb.html +1 -1
- data/doc/rdoc/fr_method_index.html +76 -75
- data/examples/kill_routes.rb +5 -4
- data/examples/mongrel_test_suite/test/rails/put.rb +14 -7
- data/examples/random_sockets.rb +37 -0
- data/examples/randomizer.rb +19 -0
- data/ext/http11_client/http11_parser.c +33 -34
- data/lib/rfuzz/client.rb +1 -1
- data/lib/rfuzz/pushbackio.rb +16 -2
- data/lib/rfuzz/session.rb +1 -1
- metadata +14 -11
- data/doc/rdoc/classes/RFuzz/Browser.src/M000083.html +0 -25
- data/doc/rdoc/classes/RFuzz/HttpClient.src/M000019.html +0 -25
- data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000031.html +0 -22
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000046.html +0 -21
- data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000050.html +0 -22
- data/doc/rdoc/classes/RFuzz/Sampler.src/M000071.html +0 -19
- data/doc/rdoc/classes/RFuzz/Session.src/M000034.html +0 -31
@@ -5,15 +5,15 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>new (RFuzz::StatsTracker)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line 123</span>
|
14
|
+
123: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
15
|
+
124: <span class="ruby-ivar">@stats</span> = {}
|
16
|
+
125: <span class="ruby-ivar">@error_count</span> = <span class="ruby-value">0</span>
|
17
|
+
126: <span class="ruby-keyword kw">end</span></pre>
|
18
18
|
</body>
|
19
19
|
</html>
|
@@ -5,14 +5,15 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>mark (RFuzz::StatsTracker)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line 128</span>
|
14
|
+
128: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mark</span>(<span class="ruby-identifier">event</span>)
|
15
|
+
129: <span class="ruby-ivar">@stats</span>[<span class="ruby-identifier">event</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">RFuzz</span><span class="ruby-operator">::</span><span class="ruby-constant">Sampler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">event</span>)
|
16
|
+
130: <span class="ruby-ivar">@stats</span>[<span class="ruby-identifier">event</span>].<span class="ruby-identifier">mark</span>
|
17
|
+
131: <span class="ruby-keyword kw">end</span></pre>
|
17
18
|
</body>
|
18
19
|
</html>
|
@@ -5,14 +5,14 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>sample (RFuzz::StatsTracker)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line 133</span>
|
14
|
+
133: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">event</span>)
|
15
|
+
134: <span class="ruby-ivar">@stats</span>[<span class="ruby-identifier">event</span>].<span class="ruby-identifier">tick</span>
|
16
|
+
135: <span class="ruby-keyword kw">end</span></pre>
|
17
17
|
</body>
|
18
18
|
</html>
|
@@ -5,24 +5,14 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>reset (RFuzz::StatsTracker)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
144: <span class="ruby-identifier">mark</span>(<span class="ruby-identifier">:request</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:connect</span>
|
18
|
-
145: <span class="ruby-identifier">mark</span>(<span class="ruby-identifier">event</span>)
|
19
|
-
146: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:ends</span>
|
20
|
-
147: <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">:request</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:close</span>
|
21
|
-
148: <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">event</span>)
|
22
|
-
149: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:error</span>
|
23
|
-
150: <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">:request</span>)
|
24
|
-
151: <span class="ruby-ivar">@error_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
25
|
-
152: <span class="ruby-keyword kw">end</span>
|
26
|
-
153: <span class="ruby-keyword kw">end</span></pre>
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line 137</span>
|
14
|
+
137: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
|
15
|
+
138: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">e</span>,<span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">reset</span> }
|
16
|
+
139: <span class="ruby-keyword kw">end</span></pre>
|
27
17
|
</body>
|
28
18
|
</html>
|
@@ -5,14 +5,24 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>method_missing (RFuzz::StatsTracker)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line 141</span>
|
14
|
+
141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">event</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
15
|
+
142: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
|
16
|
+
143: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:begins</span>
|
17
|
+
144: <span class="ruby-identifier">mark</span>(<span class="ruby-identifier">:request</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:connect</span>
|
18
|
+
145: <span class="ruby-identifier">mark</span>(<span class="ruby-identifier">event</span>)
|
19
|
+
146: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:ends</span>
|
20
|
+
147: <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">:request</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">event</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:close</span>
|
21
|
+
148: <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">event</span>)
|
22
|
+
149: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:error</span>
|
23
|
+
150: <span class="ruby-identifier">sample</span>(<span class="ruby-identifier">:request</span>)
|
24
|
+
151: <span class="ruby-ivar">@error_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
25
|
+
152: <span class="ruby-keyword kw">end</span>
|
26
|
+
153: <span class="ruby-keyword kw">end</span></pre>
|
17
27
|
</body>
|
18
28
|
</html>
|
@@ -5,15 +5,14 @@
|
|
5
5
|
|
6
6
|
<html>
|
7
7
|
<head>
|
8
|
-
<title>
|
8
|
+
<title>to_s (RFuzz::StatsTracker)</title>
|
9
9
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
10
|
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
126: <span class="ruby-keyword kw">end</span></pre>
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/rfuzz/stats.rb, line 155</span>
|
14
|
+
155: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
15
|
+
156: <span class="ruby-node">"#{@stats.values.join("\n")}\nErrors: #@error_count"</span>
|
16
|
+
157: <span class="ruby-keyword kw">end</span></pre>
|
18
17
|
</body>
|
19
18
|
</html>
|
data/doc/rdoc/created.rid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Mon Sep 18 02:59:13 PDT 2006
|
@@ -20,21 +20,21 @@
|
|
20
20
|
<div id="index">
|
21
21
|
<h1 class="section-bar">Methods</h1>
|
22
22
|
<div id="index-entries">
|
23
|
-
<a href="classes/RFuzz/RandomGenerator.html#
|
24
|
-
<a href="classes/RFuzz/HttpClient.html#
|
25
|
-
<a href="classes/RFuzz/RandomGenerator.html#
|
26
|
-
<a href="classes/RFuzz/RandomGenerator.html#
|
27
|
-
<a href="classes/RFuzz/HttpResponse.html#
|
28
|
-
<a href="classes/RFuzz/HttpResponse.html#
|
29
|
-
<a href="classes/RFuzz/PushBackIO.html#
|
30
|
-
<a href="classes/RFuzz/Notifier.html#
|
31
|
-
<a href="classes/RFuzz/Notifier.html#
|
32
|
-
<a href="classes/RFuzz/Session.html#
|
33
|
-
<a href="classes/RFuzz/Session.html#
|
34
|
-
<a href="classes/RFuzz/Session.html#
|
35
|
-
<a href="classes/RFuzz/Session.html#
|
36
|
-
<a href="classes/RFuzz/Session.html#
|
37
|
-
<a href="classes/RFuzz/Sampler.html#
|
23
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000053">base64 (RFuzz::RandomGenerator)</a><br />
|
24
|
+
<a href="classes/RFuzz/HttpClient.html#M000021">build_request (RFuzz::HttpClient)</a><br />
|
25
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000054">byte_array (RFuzz::RandomGenerator)</a><br />
|
26
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000055">bytes (RFuzz::RandomGenerator)</a><br />
|
27
|
+
<a href="classes/RFuzz/HttpResponse.html#M000032">chunk_size (RFuzz::HttpResponse)</a><br />
|
28
|
+
<a href="classes/RFuzz/HttpResponse.html#M000034">chunked_encoding? (RFuzz::HttpResponse)</a><br />
|
29
|
+
<a href="classes/RFuzz/PushBackIO.html#M000018">close (RFuzz::PushBackIO)</a><br />
|
30
|
+
<a href="classes/RFuzz/Notifier.html#M000064">close (RFuzz::Notifier)</a><br />
|
31
|
+
<a href="classes/RFuzz/Notifier.html#M000059">connect (RFuzz::Notifier)</a><br />
|
32
|
+
<a href="classes/RFuzz/Session.html#M000040">count (RFuzz::Session)</a><br />
|
33
|
+
<a href="classes/RFuzz/Session.html#M000046">count_errors (RFuzz::Session)</a><br />
|
34
|
+
<a href="classes/RFuzz/Session.html#M000042">counts_to_a (RFuzz::Session)</a><br />
|
35
|
+
<a href="classes/RFuzz/Session.html#M000037">cur_count (RFuzz::Session)</a><br />
|
36
|
+
<a href="classes/RFuzz/Session.html#M000036">cur_run (RFuzz::Session)</a><br />
|
37
|
+
<a href="classes/RFuzz/Sampler.html#M000075">dump (RFuzz::Sampler)</a><br />
|
38
38
|
<a href="classes/RFuzz/HttpEncoding.html#M000001">encode_cookies (RFuzz::HttpEncoding)</a><br />
|
39
39
|
<a href="classes/RFuzz/HttpEncoding.html#M000002">encode_field (RFuzz::HttpEncoding)</a><br />
|
40
40
|
<a href="classes/RFuzz/HttpEncoding.html#M000003">encode_headers (RFuzz::HttpEncoding)</a><br />
|
@@ -42,69 +42,70 @@
|
|
42
42
|
<a href="classes/RFuzz/HttpEncoding.html#M000004">encode_param (RFuzz::HttpEncoding)</a><br />
|
43
43
|
<a href="classes/RFuzz/HttpEncoding.html#M000005">encode_query (RFuzz::HttpEncoding)</a><br />
|
44
44
|
<a href="classes/RFuzz/HttpEncoding.html#M000007">escape (RFuzz::HttpEncoding)</a><br />
|
45
|
-
<a href="classes/RFuzz/RandomGenerator.html#
|
46
|
-
<a href="classes/RFuzz/PushBackIO.html#
|
47
|
-
<a href="classes/RFuzz/RandomGenerator.html#
|
48
|
-
<a href="classes/RFuzz/RandomGenerator.html#
|
49
|
-
<a href="classes/RFuzz/RandomGenerator.html#
|
50
|
-
<a href="classes/RFuzz/Sampler.html#
|
51
|
-
<a href="classes/RFuzz/HttpResponse.html#
|
52
|
-
<a href="classes/RFuzz/Browser.html#
|
53
|
-
<a href="classes/RFuzz/StatsTracker.html#
|
54
|
-
<a href="classes/RFuzz/Sampler.html#
|
55
|
-
<a href="classes/RFuzz/Sampler.html#
|
56
|
-
<a href="classes/RFuzz/
|
57
|
-
<a href="classes/RFuzz/
|
58
|
-
<a href="classes/RFuzz/
|
59
|
-
<a href="classes/RFuzz/
|
60
|
-
<a href="classes/RFuzz/
|
61
|
-
<a href="classes/RFuzz/
|
62
|
-
<a href="classes/RFuzz/
|
45
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000058">floats (RFuzz::RandomGenerator)</a><br />
|
46
|
+
<a href="classes/RFuzz/PushBackIO.html#M000016">flush (RFuzz::PushBackIO)</a><br />
|
47
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000048">hash_of (RFuzz::RandomGenerator)</a><br />
|
48
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000050">headers (RFuzz::RandomGenerator)</a><br />
|
49
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000057">ints (RFuzz::RandomGenerator)</a><br />
|
50
|
+
<a href="classes/RFuzz/Sampler.html#M000078">keys (RFuzz::Sampler)</a><br />
|
51
|
+
<a href="classes/RFuzz/HttpResponse.html#M000033">last_chunk? (RFuzz::HttpResponse)</a><br />
|
52
|
+
<a href="classes/RFuzz/Browser.html#M000086">links (RFuzz::Browser)</a><br />
|
53
|
+
<a href="classes/RFuzz/StatsTracker.html#M000067">mark (RFuzz::StatsTracker)</a><br />
|
54
|
+
<a href="classes/RFuzz/Sampler.html#M000082">mark (RFuzz::Sampler)</a><br />
|
55
|
+
<a href="classes/RFuzz/Sampler.html#M000080">mean (RFuzz::Sampler)</a><br />
|
56
|
+
<a href="classes/RFuzz/HttpClient.html#M000028">method_missing (RFuzz::HttpClient)</a><br />
|
57
|
+
<a href="classes/RFuzz/StatsTracker.html#M000070">method_missing (RFuzz::StatsTracker)</a><br />
|
58
|
+
<a href="classes/RFuzz/HttpClient.html#M000020">new (RFuzz::HttpClient)</a><br />
|
59
|
+
<a href="classes/RFuzz/Session.html#M000035">new (RFuzz::Session)</a><br />
|
60
|
+
<a href="classes/RFuzz/Sampler.html#M000072">new (RFuzz::Sampler)</a><br />
|
61
|
+
<a href="classes/RFuzz/Browser.html#M000084">new (RFuzz::Browser)</a><br />
|
62
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000047">new (RFuzz::RandomGenerator)</a><br />
|
63
|
+
<a href="classes/RFuzz/StatsTracker.html#M000066">new (RFuzz::StatsTracker)</a><br />
|
63
64
|
<a href="classes/RFuzz/PushBackIO.html#M000010">new (RFuzz::PushBackIO)</a><br />
|
64
|
-
<a href="classes/RFuzz/
|
65
|
-
<a href="classes/RFuzz/
|
66
|
-
<a href="classes/RFuzz/
|
67
|
-
<a href="classes/RFuzz/PushBackIO.html#
|
68
|
-
<a href="classes/RFuzz/PushBackIO.html#
|
69
|
-
<a href="classes/RFuzz/
|
70
|
-
<a href="classes/RFuzz/RandomGenerator.html#M000048">queries (RFuzz::RandomGenerator)</a><br />
|
65
|
+
<a href="classes/RFuzz/HttpClient.html#M000031">notify (RFuzz::HttpClient)</a><br />
|
66
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000056">num (RFuzz::RandomGenerator)</a><br />
|
67
|
+
<a href="classes/RFuzz/PushBackIO.html#M000013">pop (RFuzz::PushBackIO)</a><br />
|
68
|
+
<a href="classes/RFuzz/PushBackIO.html#M000019">protect (RFuzz::PushBackIO)</a><br />
|
69
|
+
<a href="classes/RFuzz/PushBackIO.html#M000012">push (RFuzz::PushBackIO)</a><br />
|
70
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000049">queries (RFuzz::RandomGenerator)</a><br />
|
71
71
|
<a href="classes/RFuzz/HttpEncoding.html#M000009">query_parse (RFuzz::HttpEncoding)</a><br />
|
72
|
-
<a href="classes/RFuzz/PushBackIO.html#
|
73
|
-
<a href="classes/RFuzz/
|
74
|
-
<a href="classes/RFuzz/Notifier.html#
|
75
|
-
<a href="classes/RFuzz/
|
76
|
-
<a href="classes/RFuzz/HttpClient.html#
|
77
|
-
<a href="classes/RFuzz/
|
78
|
-
<a href="classes/RFuzz/
|
79
|
-
<a href="classes/RFuzz/HttpClient.html#
|
80
|
-
<a href="classes/RFuzz/HttpClient.html#
|
81
|
-
<a href="classes/RFuzz/
|
82
|
-
<a href="classes/RFuzz/
|
83
|
-
<a href="classes/RFuzz/
|
84
|
-
<a href="classes/RFuzz/
|
85
|
-
<a href="classes/RFuzz/
|
86
|
-
<a href="classes/RFuzz/
|
87
|
-
<a href="classes/RFuzz/Session.html#
|
88
|
-
<a href="classes/RFuzz/
|
89
|
-
<a href="classes/RFuzz/Session.html#
|
90
|
-
<a href="classes/RFuzz/Sampler.html#
|
91
|
-
<a href="classes/RFuzz/
|
92
|
-
<a href="classes/RFuzz/
|
93
|
-
<a href="classes/RFuzz/
|
94
|
-
<a href="classes/RFuzz/
|
95
|
-
<a href="classes/RFuzz/
|
96
|
-
<a href="classes/RFuzz/
|
97
|
-
<a href="classes/RFuzz/Sampler.html#
|
98
|
-
<a href="classes/RFuzz/Sampler.html#
|
99
|
-
<a href="classes/RFuzz/StatsTracker.html#
|
100
|
-
<a href="classes/RFuzz/
|
72
|
+
<a href="classes/RFuzz/PushBackIO.html#M000011">random_death (RFuzz::PushBackIO)</a><br />
|
73
|
+
<a href="classes/RFuzz/PushBackIO.html#M000015">read (RFuzz::PushBackIO)</a><br />
|
74
|
+
<a href="classes/RFuzz/Notifier.html#M000063">read_body (RFuzz::Notifier)</a><br />
|
75
|
+
<a href="classes/RFuzz/Notifier.html#M000065">read_chunk (RFuzz::Notifier)</a><br />
|
76
|
+
<a href="classes/RFuzz/HttpClient.html#M000024">read_chunked_body (RFuzz::HttpClient)</a><br />
|
77
|
+
<a href="classes/RFuzz/HttpClient.html#M000023">read_chunked_header (RFuzz::HttpClient)</a><br />
|
78
|
+
<a href="classes/RFuzz/Notifier.html#M000062">read_header (RFuzz::Notifier)</a><br />
|
79
|
+
<a href="classes/RFuzz/HttpClient.html#M000022">read_parsed_header (RFuzz::HttpClient)</a><br />
|
80
|
+
<a href="classes/RFuzz/HttpClient.html#M000026">read_response (RFuzz::HttpClient)</a><br />
|
81
|
+
<a href="classes/RFuzz/HttpClient.html#M000029">redirect (RFuzz::HttpClient)</a><br />
|
82
|
+
<a href="classes/RFuzz/Notifier.html#M000061">redirect (RFuzz::Notifier)</a><br />
|
83
|
+
<a href="classes/RFuzz/PushBackIO.html#M000014">reset (RFuzz::PushBackIO)</a><br />
|
84
|
+
<a href="classes/RFuzz/HttpClient.html#M000030">reset (RFuzz::HttpClient)</a><br />
|
85
|
+
<a href="classes/RFuzz/Sampler.html#M000073">reset (RFuzz::Sampler)</a><br />
|
86
|
+
<a href="classes/RFuzz/StatsTracker.html#M000069">reset (RFuzz::StatsTracker)</a><br />
|
87
|
+
<a href="classes/RFuzz/Session.html#M000038">run (RFuzz::Session)</a><br />
|
88
|
+
<a href="classes/RFuzz/Session.html#M000041">runs_to_a (RFuzz::Session)</a><br />
|
89
|
+
<a href="classes/RFuzz/Session.html#M000039">sample (RFuzz::Session)</a><br />
|
90
|
+
<a href="classes/RFuzz/Sampler.html#M000074">sample (RFuzz::Sampler)</a><br />
|
91
|
+
<a href="classes/RFuzz/StatsTracker.html#M000068">sample (RFuzz::StatsTracker)</a><br />
|
92
|
+
<a href="classes/RFuzz/Sampler.html#M000081">sd (RFuzz::Sampler)</a><br />
|
93
|
+
<a href="classes/RFuzz/Notifier.html#M000060">send_request (RFuzz::Notifier)</a><br />
|
94
|
+
<a href="classes/RFuzz/HttpClient.html#M000027">send_request (RFuzz::HttpClient)</a><br />
|
95
|
+
<a href="classes/RFuzz/Browser.html#M000085">start (RFuzz::Browser)</a><br />
|
96
|
+
<a href="classes/RFuzz/HttpClient.html#M000025">store_cookies (RFuzz::HttpClient)</a><br />
|
97
|
+
<a href="classes/RFuzz/Sampler.html#M000083">tick (RFuzz::Sampler)</a><br />
|
98
|
+
<a href="classes/RFuzz/Sampler.html#M000079">to_hash (RFuzz::Sampler)</a><br />
|
99
|
+
<a href="classes/RFuzz/StatsTracker.html#M000071">to_s (RFuzz::StatsTracker)</a><br />
|
100
|
+
<a href="classes/RFuzz/Sampler.html#M000076">to_s (RFuzz::Sampler)</a><br />
|
101
|
+
<a href="classes/RFuzz/Session.html#M000043">track (RFuzz::Session)</a><br />
|
101
102
|
<a href="classes/RFuzz/HttpEncoding.html#M000008">unescape (RFuzz::HttpEncoding)</a><br />
|
102
|
-
<a href="classes/RFuzz/RandomGenerator.html#
|
103
|
-
<a href="classes/RFuzz/Sampler.html#
|
104
|
-
<a href="classes/RFuzz/RandomGenerator.html#
|
105
|
-
<a href="classes/RFuzz/PushBackIO.html#
|
106
|
-
<a href="classes/RFuzz/Session.html#
|
107
|
-
<a href="classes/RFuzz/Session.html#
|
103
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000051">uris (RFuzz::RandomGenerator)</a><br />
|
104
|
+
<a href="classes/RFuzz/Sampler.html#M000077">values (RFuzz::Sampler)</a><br />
|
105
|
+
<a href="classes/RFuzz/RandomGenerator.html#M000052">words (RFuzz::RandomGenerator)</a><br />
|
106
|
+
<a href="classes/RFuzz/PushBackIO.html#M000017">write (RFuzz::PushBackIO)</a><br />
|
107
|
+
<a href="classes/RFuzz/Session.html#M000045">write_counts (RFuzz::Session)</a><br />
|
108
|
+
<a href="classes/RFuzz/Session.html#M000044">write_runs (RFuzz::Session)</a><br />
|
108
109
|
</div>
|
109
110
|
</div>
|
110
111
|
</body>
|
data/examples/kill_routes.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# An example of handing tons of nasty URLs to Rails to see what it does.
|
2
|
-
|
2
|
+
require 'rubygems'
|
3
3
|
require 'rfuzz/session'
|
4
4
|
|
5
5
|
include RFuzz
|
6
6
|
|
7
|
-
s = Session.new :host => "
|
7
|
+
s = Session.new :host => "127.0.0.1", :port => 3000
|
8
8
|
s.run 10, :save_as => ["runs.csv","counts.csv"] do |c,r|
|
9
9
|
len = r.num(90) + 1
|
10
10
|
s.count :len, len
|
@@ -13,13 +13,14 @@ s.run 10, :save_as => ["runs.csv","counts.csv"] do |c,r|
|
|
13
13
|
uris.each do |u|
|
14
14
|
s.count_errors(:legal) do
|
15
15
|
# first sample for legal uris
|
16
|
-
|
16
|
+
|
17
|
+
resp = c.get("/sample", :query => {:test => u})
|
17
18
|
s.count resp.http_status
|
18
19
|
end
|
19
20
|
|
20
21
|
# next sample for illegal uris
|
21
22
|
s.count_errors(:illegal) do
|
22
|
-
resp = c.get(u *
|
23
|
+
resp = c.get("/sample" + u * 5120)
|
23
24
|
s.count resp.http_status
|
24
25
|
end
|
25
26
|
end
|
@@ -3,23 +3,30 @@ include RFuzz
|
|
3
3
|
|
4
4
|
context "PUT Requests" do
|
5
5
|
setup do
|
6
|
-
@
|
6
|
+
@gets = Session.new :host => "localhost", :port => 3000
|
7
|
+
@puts = Session.new :host => "localhost", :port => 3000
|
7
8
|
end
|
8
9
|
|
9
10
|
specify "Should be fast" do
|
10
|
-
data = @
|
11
|
-
body = @
|
11
|
+
data = @gets.rand.bytes(600)
|
12
|
+
body = @gets.client.escape(data)
|
12
13
|
|
13
|
-
@
|
14
|
-
|
14
|
+
@gets.run(10, :save_as => ["get_runs.csv", "get_counts.csv"]) do |c,r|
|
15
|
+
10.times do
|
15
16
|
get = c.get("/test?data=#{body}")
|
16
17
|
end
|
17
18
|
end
|
18
19
|
|
19
|
-
@
|
20
|
-
|
20
|
+
@puts.run(10, :save_as => ["put_runs.csv", "put_counts.csv"]) do |c,r|
|
21
|
+
10.times do
|
21
22
|
put = c.put("/test", :body => data)
|
22
23
|
end
|
23
24
|
end
|
24
25
|
end
|
26
|
+
|
27
|
+
specify "Query String should allow 0 length" do
|
28
|
+
res = @gets.client.get("/test?")
|
29
|
+
res.http_status.should_equal "200"
|
30
|
+
res.http_body.should_equal "test"
|
31
|
+
end
|
25
32
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
|
2
|
+
# An example of handing tons of nasty URLs to Rails to see what it does.
|
3
|
+
require 'rubygems'
|
4
|
+
require 'rfuzz/session'
|
5
|
+
require 'thread'
|
6
|
+
|
7
|
+
$io_death_count = 7
|
8
|
+
threads = []
|
9
|
+
|
10
|
+
include RFuzz
|
11
|
+
|
12
|
+
if ARGV.length != 3
|
13
|
+
puts "usage: ruby random_sockets.rb <runs> <threads> <uri>"
|
14
|
+
end
|
15
|
+
|
16
|
+
s = Session.new :host => "127.0.0.1", :port => 3000
|
17
|
+
s.run 10, :save_as => ["runs.csv","counts.csv"] do |c,r|
|
18
|
+
|
19
|
+
ARGV[0].to_i.times do
|
20
|
+
ARGV[1].to_i.times do |u|
|
21
|
+
t = Thread.new do
|
22
|
+
s.count_errors(:legal) do
|
23
|
+
resp = c.get(ARGV[2])
|
24
|
+
s.count resp.http_status
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
t.abort_on_exception = true
|
29
|
+
threads << t
|
30
|
+
end
|
31
|
+
|
32
|
+
threads.each {|t| t.join }
|
33
|
+
|
34
|
+
threads = []
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|