rfuzz 0.8 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. data/Rakefile +1 -1
  2. data/doc/rdoc/classes/RFuzz.html +1 -1
  3. data/doc/rdoc/classes/RFuzz/Browser.html +15 -15
  4. data/doc/rdoc/classes/RFuzz/Browser.src/M000084.html +12 -10
  5. data/doc/rdoc/classes/RFuzz/Browser.src/M000085.html +10 -11
  6. data/doc/rdoc/classes/RFuzz/Browser.src/M000086.html +24 -0
  7. data/doc/rdoc/classes/RFuzz/HttpClient.html +72 -64
  8. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000020.html +12 -21
  9. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000021.html +21 -15
  10. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000022.html +15 -17
  11. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000023.html +17 -22
  12. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000024.html +22 -9
  13. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000025.html +9 -31
  14. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000026.html +31 -25
  15. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000027.html +25 -13
  16. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000028.html +13 -21
  17. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000029.html +21 -5
  18. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000030.html +5 -13
  19. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000031.html +26 -0
  20. data/doc/rdoc/classes/RFuzz/HttpResponse.html +15 -15
  21. data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000032.html +9 -5
  22. data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000033.html +5 -5
  23. data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000034.html +18 -0
  24. data/doc/rdoc/classes/RFuzz/Notifier.html +36 -36
  25. data/doc/rdoc/classes/RFuzz/Notifier.src/M000059.html +4 -4
  26. data/doc/rdoc/classes/RFuzz/Notifier.src/M000060.html +4 -4
  27. data/doc/rdoc/classes/RFuzz/Notifier.src/M000061.html +4 -4
  28. data/doc/rdoc/classes/RFuzz/Notifier.src/M000062.html +4 -4
  29. data/doc/rdoc/classes/RFuzz/Notifier.src/M000063.html +4 -4
  30. data/doc/rdoc/classes/RFuzz/Notifier.src/M000064.html +4 -4
  31. data/doc/rdoc/classes/RFuzz/Notifier.src/{M000058.html → M000065.html} +4 -4
  32. data/doc/rdoc/classes/RFuzz/PushBackIO.html +55 -40
  33. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000010.html +2 -1
  34. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000011.html +6 -5
  35. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000012.html +8 -6
  36. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000013.html +7 -5
  37. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000014.html +6 -31
  38. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000015.html +32 -5
  39. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000016.html +6 -5
  40. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000017.html +6 -5
  41. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000018.html +5 -9
  42. data/doc/rdoc/classes/RFuzz/PushBackIO.src/M000019.html +22 -0
  43. data/doc/rdoc/classes/RFuzz/RandomGenerator.html +62 -62
  44. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000047.html +8 -10
  45. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000048.html +23 -0
  46. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000051.html +9 -7
  47. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000052.html +7 -9
  48. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000053.html +9 -7
  49. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000054.html +7 -5
  50. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000055.html +5 -5
  51. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000056.html +5 -9
  52. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000057.html +9 -5
  53. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000058.html +18 -0
  54. data/doc/rdoc/classes/RFuzz/Sampler.html +60 -60
  55. data/doc/rdoc/classes/RFuzz/Sampler.src/M000072.html +6 -10
  56. data/doc/rdoc/classes/RFuzz/Sampler.src/M000073.html +10 -13
  57. data/doc/rdoc/classes/RFuzz/Sampler.src/M000074.html +13 -5
  58. data/doc/rdoc/classes/RFuzz/Sampler.src/M000075.html +5 -5
  59. data/doc/rdoc/classes/RFuzz/Sampler.src/M000076.html +5 -5
  60. data/doc/rdoc/classes/RFuzz/Sampler.src/M000077.html +5 -5
  61. data/doc/rdoc/classes/RFuzz/Sampler.src/M000078.html +5 -6
  62. data/doc/rdoc/classes/RFuzz/Sampler.src/M000079.html +6 -5
  63. data/doc/rdoc/classes/RFuzz/Sampler.src/M000080.html +5 -10
  64. data/doc/rdoc/classes/RFuzz/Sampler.src/M000081.html +10 -5
  65. data/doc/rdoc/classes/RFuzz/Sampler.src/M000082.html +5 -7
  66. data/doc/rdoc/classes/RFuzz/Sampler.src/M000083.html +20 -0
  67. data/doc/rdoc/classes/RFuzz/Session.html +63 -63
  68. data/doc/rdoc/classes/RFuzz/Session.src/M000035.html +18 -5
  69. data/doc/rdoc/classes/RFuzz/Session.src/M000036.html +5 -5
  70. data/doc/rdoc/classes/RFuzz/Session.src/M000037.html +5 -21
  71. data/doc/rdoc/classes/RFuzz/Session.src/M000038.html +21 -6
  72. data/doc/rdoc/classes/RFuzz/Session.src/M000039.html +6 -6
  73. data/doc/rdoc/classes/RFuzz/Session.src/M000040.html +6 -13
  74. data/doc/rdoc/classes/RFuzz/Session.src/M000041.html +13 -16
  75. data/doc/rdoc/classes/RFuzz/Session.src/M000042.html +16 -6
  76. data/doc/rdoc/classes/RFuzz/Session.src/M000043.html +6 -5
  77. data/doc/rdoc/classes/RFuzz/Session.src/M000044.html +5 -5
  78. data/doc/rdoc/classes/RFuzz/Session.src/M000045.html +5 -10
  79. data/doc/rdoc/classes/RFuzz/Session.src/M000046.html +23 -0
  80. data/doc/rdoc/classes/RFuzz/StatsTracker.html +32 -32
  81. data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000066.html +6 -6
  82. data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000067.html +6 -5
  83. data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000068.html +5 -5
  84. data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000069.html +5 -15
  85. data/doc/rdoc/classes/RFuzz/StatsTracker.src/M000070.html +15 -5
  86. data/doc/rdoc/classes/RFuzz/StatsTracker.src/{M000065.html → M000071.html} +5 -6
  87. data/doc/rdoc/created.rid +1 -1
  88. data/doc/rdoc/files/lib/rfuzz/client_rb.html +1 -1
  89. data/doc/rdoc/files/lib/rfuzz/pushbackio_rb.html +1 -1
  90. data/doc/rdoc/files/lib/rfuzz/session_rb.html +1 -1
  91. data/doc/rdoc/fr_method_index.html +76 -75
  92. data/examples/kill_routes.rb +5 -4
  93. data/examples/mongrel_test_suite/test/rails/put.rb +14 -7
  94. data/examples/random_sockets.rb +37 -0
  95. data/examples/randomizer.rb +19 -0
  96. data/ext/http11_client/http11_parser.c +33 -34
  97. data/lib/rfuzz/client.rb +1 -1
  98. data/lib/rfuzz/pushbackio.rb +16 -2
  99. data/lib/rfuzz/session.rb +1 -1
  100. metadata +14 -11
  101. data/doc/rdoc/classes/RFuzz/Browser.src/M000083.html +0 -25
  102. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000019.html +0 -25
  103. data/doc/rdoc/classes/RFuzz/HttpResponse.src/M000031.html +0 -22
  104. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000046.html +0 -21
  105. data/doc/rdoc/classes/RFuzz/RandomGenerator.src/M000050.html +0 -22
  106. data/doc/rdoc/classes/RFuzz/Sampler.src/M000071.html +0 -19
  107. 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>mark (RFuzz::StatsTracker)</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 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>
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>sample (RFuzz::StatsTracker)</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 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>
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>reset (RFuzz::StatsTracker)</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 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>
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>method_missing (RFuzz::StatsTracker)</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 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>
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>to_s (RFuzz::StatsTracker)</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 155</span>
14
- 155: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
15
- 156: <span class="ruby-node">&quot;#{@stats.values.join(&quot;\n&quot;)}\nErrors: #@error_count&quot;</span>
16
- 157: <span class="ruby-keyword kw">end</span></pre>
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>new (RFuzz::StatsTracker)</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 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>
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">&quot;#{@stats.values.join(&quot;\n&quot;)}\nErrors: #@error_count&quot;</span>
16
+ 157: <span class="ruby-keyword kw">end</span></pre>
18
17
  </body>
19
18
  </html>
@@ -1 +1 @@
1
- Sun Aug 06 16:49:07 PDT 2006
1
+ Mon Sep 18 02:59:13 PDT 2006
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Aug 06 16:48:59 PDT 2006</td>
59
+ <td>Tue Aug 29 16:28:38 PDT 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Aug 06 16:47:53 PDT 2006</td>
59
+ <td>Mon Sep 18 02:56:25 PDT 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Jul 30 01:17:18 PDT 2006</td>
59
+ <td>Mon Aug 21 05:36:38 PDT 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -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#M000052">base64 (RFuzz::RandomGenerator)</a><br />
24
- <a href="classes/RFuzz/HttpClient.html#M000020">build_request (RFuzz::HttpClient)</a><br />
25
- <a href="classes/RFuzz/RandomGenerator.html#M000053">byte_array (RFuzz::RandomGenerator)</a><br />
26
- <a href="classes/RFuzz/RandomGenerator.html#M000054">bytes (RFuzz::RandomGenerator)</a><br />
27
- <a href="classes/RFuzz/HttpResponse.html#M000031">chunk_size (RFuzz::HttpResponse)</a><br />
28
- <a href="classes/RFuzz/HttpResponse.html#M000033">chunked_encoding? (RFuzz::HttpResponse)</a><br />
29
- <a href="classes/RFuzz/PushBackIO.html#M000017">close (RFuzz::PushBackIO)</a><br />
30
- <a href="classes/RFuzz/Notifier.html#M000063">close (RFuzz::Notifier)</a><br />
31
- <a href="classes/RFuzz/Notifier.html#M000058">connect (RFuzz::Notifier)</a><br />
32
- <a href="classes/RFuzz/Session.html#M000039">count (RFuzz::Session)</a><br />
33
- <a href="classes/RFuzz/Session.html#M000045">count_errors (RFuzz::Session)</a><br />
34
- <a href="classes/RFuzz/Session.html#M000041">counts_to_a (RFuzz::Session)</a><br />
35
- <a href="classes/RFuzz/Session.html#M000036">cur_count (RFuzz::Session)</a><br />
36
- <a href="classes/RFuzz/Session.html#M000035">cur_run (RFuzz::Session)</a><br />
37
- <a href="classes/RFuzz/Sampler.html#M000074">dump (RFuzz::Sampler)</a><br />
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#M000057">floats (RFuzz::RandomGenerator)</a><br />
46
- <a href="classes/RFuzz/PushBackIO.html#M000015">flush (RFuzz::PushBackIO)</a><br />
47
- <a href="classes/RFuzz/RandomGenerator.html#M000047">hash_of (RFuzz::RandomGenerator)</a><br />
48
- <a href="classes/RFuzz/RandomGenerator.html#M000049">headers (RFuzz::RandomGenerator)</a><br />
49
- <a href="classes/RFuzz/RandomGenerator.html#M000056">ints (RFuzz::RandomGenerator)</a><br />
50
- <a href="classes/RFuzz/Sampler.html#M000077">keys (RFuzz::Sampler)</a><br />
51
- <a href="classes/RFuzz/HttpResponse.html#M000032">last_chunk? (RFuzz::HttpResponse)</a><br />
52
- <a href="classes/RFuzz/Browser.html#M000085">links (RFuzz::Browser)</a><br />
53
- <a href="classes/RFuzz/StatsTracker.html#M000066">mark (RFuzz::StatsTracker)</a><br />
54
- <a href="classes/RFuzz/Sampler.html#M000081">mark (RFuzz::Sampler)</a><br />
55
- <a href="classes/RFuzz/Sampler.html#M000079">mean (RFuzz::Sampler)</a><br />
56
- <a href="classes/RFuzz/StatsTracker.html#M000069">method_missing (RFuzz::StatsTracker)</a><br />
57
- <a href="classes/RFuzz/HttpClient.html#M000027">method_missing (RFuzz::HttpClient)</a><br />
58
- <a href="classes/RFuzz/Session.html#M000034">new (RFuzz::Session)</a><br />
59
- <a href="classes/RFuzz/Sampler.html#M000071">new (RFuzz::Sampler)</a><br />
60
- <a href="classes/RFuzz/Browser.html#M000083">new (RFuzz::Browser)</a><br />
61
- <a href="classes/RFuzz/HttpClient.html#M000019">new (RFuzz::HttpClient)</a><br />
62
- <a href="classes/RFuzz/StatsTracker.html#M000065">new (RFuzz::StatsTracker)</a><br />
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/RandomGenerator.html#M000046">new (RFuzz::RandomGenerator)</a><br />
65
- <a href="classes/RFuzz/HttpClient.html#M000030">notify (RFuzz::HttpClient)</a><br />
66
- <a href="classes/RFuzz/RandomGenerator.html#M000055">num (RFuzz::RandomGenerator)</a><br />
67
- <a href="classes/RFuzz/PushBackIO.html#M000012">pop (RFuzz::PushBackIO)</a><br />
68
- <a href="classes/RFuzz/PushBackIO.html#M000018">protect (RFuzz::PushBackIO)</a><br />
69
- <a href="classes/RFuzz/PushBackIO.html#M000011">push (RFuzz::PushBackIO)</a><br />
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#M000014">read (RFuzz::PushBackIO)</a><br />
73
- <a href="classes/RFuzz/Notifier.html#M000062">read_body (RFuzz::Notifier)</a><br />
74
- <a href="classes/RFuzz/Notifier.html#M000064">read_chunk (RFuzz::Notifier)</a><br />
75
- <a href="classes/RFuzz/HttpClient.html#M000023">read_chunked_body (RFuzz::HttpClient)</a><br />
76
- <a href="classes/RFuzz/HttpClient.html#M000022">read_chunked_header (RFuzz::HttpClient)</a><br />
77
- <a href="classes/RFuzz/Notifier.html#M000061">read_header (RFuzz::Notifier)</a><br />
78
- <a href="classes/RFuzz/HttpClient.html#M000021">read_parsed_header (RFuzz::HttpClient)</a><br />
79
- <a href="classes/RFuzz/HttpClient.html#M000025">read_response (RFuzz::HttpClient)</a><br />
80
- <a href="classes/RFuzz/HttpClient.html#M000028">redirect (RFuzz::HttpClient)</a><br />
81
- <a href="classes/RFuzz/Notifier.html#M000060">redirect (RFuzz::Notifier)</a><br />
82
- <a href="classes/RFuzz/Sampler.html#M000072">reset (RFuzz::Sampler)</a><br />
83
- <a href="classes/RFuzz/HttpClient.html#M000029">reset (RFuzz::HttpClient)</a><br />
84
- <a href="classes/RFuzz/PushBackIO.html#M000013">reset (RFuzz::PushBackIO)</a><br />
85
- <a href="classes/RFuzz/StatsTracker.html#M000068">reset (RFuzz::StatsTracker)</a><br />
86
- <a href="classes/RFuzz/Session.html#M000037">run (RFuzz::Session)</a><br />
87
- <a href="classes/RFuzz/Session.html#M000040">runs_to_a (RFuzz::Session)</a><br />
88
- <a href="classes/RFuzz/StatsTracker.html#M000067">sample (RFuzz::StatsTracker)</a><br />
89
- <a href="classes/RFuzz/Session.html#M000038">sample (RFuzz::Session)</a><br />
90
- <a href="classes/RFuzz/Sampler.html#M000073">sample (RFuzz::Sampler)</a><br />
91
- <a href="classes/RFuzz/Sampler.html#M000080">sd (RFuzz::Sampler)</a><br />
92
- <a href="classes/RFuzz/Notifier.html#M000059">send_request (RFuzz::Notifier)</a><br />
93
- <a href="classes/RFuzz/HttpClient.html#M000026">send_request (RFuzz::HttpClient)</a><br />
94
- <a href="classes/RFuzz/Browser.html#M000084">start (RFuzz::Browser)</a><br />
95
- <a href="classes/RFuzz/HttpClient.html#M000024">store_cookies (RFuzz::HttpClient)</a><br />
96
- <a href="classes/RFuzz/Sampler.html#M000082">tick (RFuzz::Sampler)</a><br />
97
- <a href="classes/RFuzz/Sampler.html#M000078">to_hash (RFuzz::Sampler)</a><br />
98
- <a href="classes/RFuzz/Sampler.html#M000075">to_s (RFuzz::Sampler)</a><br />
99
- <a href="classes/RFuzz/StatsTracker.html#M000070">to_s (RFuzz::StatsTracker)</a><br />
100
- <a href="classes/RFuzz/Session.html#M000042">track (RFuzz::Session)</a><br />
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#M000050">uris (RFuzz::RandomGenerator)</a><br />
103
- <a href="classes/RFuzz/Sampler.html#M000076">values (RFuzz::Sampler)</a><br />
104
- <a href="classes/RFuzz/RandomGenerator.html#M000051">words (RFuzz::RandomGenerator)</a><br />
105
- <a href="classes/RFuzz/PushBackIO.html#M000016">write (RFuzz::PushBackIO)</a><br />
106
- <a href="classes/RFuzz/Session.html#M000044">write_counts (RFuzz::Session)</a><br />
107
- <a href="classes/RFuzz/Session.html#M000043">write_runs (RFuzz::Session)</a><br />
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>
@@ -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 => "localhost", :port => 3000
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
- resp = c.get(u)
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 * 512)
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
- @sess = Session.new :host => "localhost", :port => 3000
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 = @sess.rand.bytes(600)
11
- body = @sess.client.escape(data)
11
+ data = @gets.rand.bytes(600)
12
+ body = @gets.client.escape(data)
12
13
 
13
- @sess.run(10) do |c,r|
14
- 100.times do
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
- @sess.run(10, :save_as => ["put_runs.csv", "put_counts.csv"]) do |c,r|
20
- 100.times do
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