rfuzz 0.6 → 0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. data/README +18 -17
  2. data/Rakefile +8 -3
  3. data/doc/rdoc/classes/RFuzz/Browser.html +229 -0
  4. data/doc/rdoc/classes/RFuzz/Browser.src/M000068.html +25 -0
  5. data/doc/rdoc/classes/RFuzz/Browser.src/M000069.html +23 -0
  6. data/doc/rdoc/classes/RFuzz/Browser.src/M000070.html +24 -0
  7. data/doc/rdoc/classes/RFuzz/HttpClient.html +10 -0
  8. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000010.html +10 -10
  9. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000011.html +18 -18
  10. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000012.html +36 -35
  11. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000013.html +35 -35
  12. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000014.html +43 -43
  13. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000015.html +22 -22
  14. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000016.html +12 -12
  15. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000017.html +18 -18
  16. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000018.html +4 -4
  17. data/doc/rdoc/classes/RFuzz/HttpClient.src/M000019.html +12 -12
  18. data/doc/rdoc/classes/RFuzz/HttpEncoding.html +13 -0
  19. data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000001.html +12 -12
  20. data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000002.html +4 -4
  21. data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000003.html +12 -12
  22. data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000004.html +4 -4
  23. data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000005.html +18 -18
  24. data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000006.html +4 -4
  25. data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000007.html +6 -6
  26. data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000008.html +6 -6
  27. data/doc/rdoc/classes/RFuzz/HttpEncoding.src/M000009.html +18 -18
  28. data/doc/rdoc/classes/RFuzz/Notifier.src/M000044.html +3 -3
  29. data/doc/rdoc/classes/RFuzz/Notifier.src/M000045.html +3 -3
  30. data/doc/rdoc/classes/RFuzz/Notifier.src/M000046.html +3 -3
  31. data/doc/rdoc/classes/RFuzz/Notifier.src/M000047.html +3 -3
  32. data/doc/rdoc/classes/RFuzz/Notifier.src/M000048.html +3 -3
  33. data/doc/rdoc/classes/RFuzz/Notifier.src/M000049.html +3 -3
  34. data/doc/rdoc/classes/RFuzz/Session.html +11 -1
  35. data/doc/rdoc/classes/RFuzz/Session.src/M000020.html +16 -16
  36. data/doc/rdoc/classes/RFuzz/Session.src/M000021.html +4 -4
  37. data/doc/rdoc/classes/RFuzz/Session.src/M000022.html +4 -4
  38. data/doc/rdoc/classes/RFuzz/Session.src/M000023.html +20 -20
  39. data/doc/rdoc/classes/RFuzz/Session.src/M000024.html +5 -5
  40. data/doc/rdoc/classes/RFuzz/Session.src/M000025.html +5 -5
  41. data/doc/rdoc/classes/RFuzz/Session.src/M000026.html +12 -12
  42. data/doc/rdoc/classes/RFuzz/Session.src/M000027.html +15 -15
  43. data/doc/rdoc/classes/RFuzz/Session.src/M000028.html +5 -5
  44. data/doc/rdoc/classes/RFuzz/Session.src/M000029.html +4 -4
  45. data/doc/rdoc/classes/RFuzz/Session.src/M000030.html +4 -4
  46. data/doc/rdoc/classes/RFuzz/Session.src/M000031.html +9 -9
  47. data/doc/rdoc/classes/RFuzz.html +5 -0
  48. data/doc/rdoc/created.rid +1 -1
  49. data/doc/rdoc/files/COPYING.html +1 -1
  50. data/doc/rdoc/files/LICENSE.html +1 -1
  51. data/doc/rdoc/files/README.html +23 -24
  52. data/doc/rdoc/files/lib/rfuzz/browser_rb.html +109 -0
  53. data/doc/rdoc/files/lib/rfuzz/client_rb.html +2 -1
  54. data/doc/rdoc/files/lib/rfuzz/random_rb.html +1 -1
  55. data/doc/rdoc/files/lib/rfuzz/rfuzz_rb.html +1 -1
  56. data/doc/rdoc/files/lib/rfuzz/session_rb.html +1 -1
  57. data/doc/rdoc/files/lib/rfuzz/stats_rb.html +1 -1
  58. data/doc/rdoc/fr_class_index.html +1 -0
  59. data/doc/rdoc/fr_file_index.html +1 -0
  60. data/doc/rdoc/fr_method_index.html +9 -6
  61. data/examples/cl_watcher.rb +36 -0
  62. data/examples/mongrel_test_suite/test/http/access_authentication.rb +8 -0
  63. data/examples/mongrel_test_suite/test/http/appendix.rb +76 -0
  64. data/examples/mongrel_test_suite/test/http/base_protocol.rb +4 -7
  65. data/examples/mongrel_test_suite/test/http/caching_in_http.rb +140 -0
  66. data/examples/mongrel_test_suite/test/http/connections.rb +48 -0
  67. data/examples/mongrel_test_suite/test/http/content_negotiation.rb +20 -0
  68. data/examples/mongrel_test_suite/test/http/entity.rb +24 -0
  69. data/examples/mongrel_test_suite/test/http/header_field_definitions.rb +231 -0
  70. data/examples/mongrel_test_suite/test/http/http_message.rb +122 -0
  71. data/examples/mongrel_test_suite/test/http/method_definitions.rb +52 -0
  72. data/examples/mongrel_test_suite/test/http/protocol_parameters.rb +286 -0
  73. data/examples/mongrel_test_suite/test/http/request.rb +28 -0
  74. data/examples/mongrel_test_suite/test/http/response.rb +20 -0
  75. data/examples/mongrel_test_suite/test/http/security_considerations.rb +54 -0
  76. data/examples/mongrel_test_suite/test/http/status_code_definitions.rb +192 -0
  77. data/ext/fuzzrnd/fuzzrnd.c +1 -2
  78. data/lib/rfuzz/browser.rb +53 -0
  79. data/lib/rfuzz/client.rb +11 -6
  80. data/lib/rfuzz/session.rb +3 -1
  81. data/tools/rakehelp.rb +4 -2
  82. metadata +24 -15
  83. data/test/coverage/index.html +0 -388
  84. data/test/coverage/lib-rfuzz-client_rb.html +0 -1127
  85. data/test/coverage/lib-rfuzz-random_rb.html +0 -739
  86. data/test/coverage/lib-rfuzz-session_rb.html +0 -783
  87. data/test/coverage/lib-rfuzz-stats_rb.html +0 -788
  88. data/test/server.rb +0 -101
  89. data/test/test_client.rb +0 -164
  90. data/test/test_fuzzrnd.rb +0 -31
  91. data/test/test_httpparser.rb +0 -48
  92. data/test/test_random.rb +0 -75
  93. data/test/test_session.rb +0 -33
  94. data/test/test_stats.rb +0 -45
data/lib/rfuzz/client.rb CHANGED
@@ -2,6 +2,7 @@ require 'http11_client'
2
2
  require 'socket'
3
3
  require 'stringio'
4
4
  require 'rfuzz/stats'
5
+ require 'timeout'
5
6
 
6
7
  module RFuzz
7
8
 
@@ -39,6 +40,7 @@ module RFuzz
39
40
  # with the protocol. It's used by HttpClient, but you can use it
40
41
  # as well.
41
42
  module HttpEncoding
43
+ COOKIE="Cookie"
42
44
 
43
45
  # Converts a Hash of cookies to the appropriate simple cookie
44
46
  # headers.
@@ -46,9 +48,9 @@ module RFuzz
46
48
  result = ""
47
49
  cookies.each do |k,v|
48
50
  if v.kind_of? Array
49
- v.each {|x| result += encode_field("Cookie", encode_param(k,x)) }
51
+ v.each {|x| result += encode_field(COOKIE, encode_param(k,x)) }
50
52
  else
51
- result += encode_field("Cookie", encode_param(k,v))
53
+ result += encode_field(COOKIE, encode_param(k,v))
52
54
  end
53
55
  end
54
56
  return result
@@ -202,6 +204,8 @@ module RFuzz
202
204
  LOCATION="LOCATION"
203
205
  HOST="HOST"
204
206
  HTTP_REQUEST_HEADER="%s %s HTTP/1.1\r\n"
207
+ REQ_CONTENT_LENGTH="Content-Length"
208
+ REQ_HOST="Host"
205
209
 
206
210
  # Access to the host, port, default options, and cookies currently in play
207
211
  attr_accessor :host, :port, :options, :cookies, :allowed_methods, :notifier
@@ -232,8 +236,8 @@ module RFuzz
232
236
  head = ops[:head].merge(head) if ops[:head]
233
237
 
234
238
  # setup basic headers we always need
235
- head[HOST] = encode_host(@host,@port)
236
- head[CONTENT_LENGTH] = ops[:body] ? ops[:body].length : 0
239
+ head[REQ_HOST] = encode_host(@host,@port)
240
+ head[REQ_CONTENT_LENGTH] = ops[:body] ? ops[:body].length : 0
237
241
 
238
242
  # blast it out
239
243
  out.write(HTTP_REQUEST_HEADER % [method, encode_query(uri,query)])
@@ -261,7 +265,8 @@ module RFuzz
261
265
  if size == 0
262
266
  return :finished, nil
263
267
  end
264
- remain = size -out.write(input.read(size))
268
+
269
+ remain = size - out.write(input.read(size))
265
270
  return :incomplete_body, remain if remain > 0
266
271
 
267
272
  line = input.read(2)
@@ -290,7 +295,7 @@ module RFuzz
290
295
  if result.nil?
291
296
  sock.read(2)
292
297
  else
293
- sock.read(result.length - 2)
298
+ sock.read((result.length - 2).abs)
294
299
  end
295
300
  when :incomplete_body
296
301
  out.write(sock.read(result)) # read the remaining
data/lib/rfuzz/session.rb CHANGED
@@ -12,6 +12,8 @@ module RFuzz
12
12
  attr_accessor :counts
13
13
  attr_accessor :runs
14
14
  attr_accessor :tracking
15
+ attr_reader :client
16
+ attr_reader :rand
15
17
 
16
18
  # Sets up a session that you then operate by calling Session#run. Most of the
17
19
  # functions do not work unless they are inside a Session#run call.
@@ -56,7 +58,7 @@ module RFuzz
56
58
  #
57
59
  # Once you call run, the block you pass it is given an HttpClient and a RandomGenerator. Each run will reset the HttpClient so you can pretend it is brand new.
58
60
  #
59
- def run(count, options={})
61
+ def run(count=1, options={})
60
62
  sample = options[:sample] || [:request]
61
63
  count.times do |i|
62
64
  # setup for this latest sample run
data/tools/rakehelp.rb CHANGED
@@ -64,6 +64,8 @@ end
64
64
 
65
65
 
66
66
  def base_gem_spec(pkg_name, pkg_version)
67
+ rm_rf "test/coverage"
68
+
67
69
  pkg_version = pkg_version
68
70
  pkg_name = pkg_name
69
71
  pkg_file_name = "#{pkg_name}-#{pkg_version}"
@@ -75,10 +77,10 @@ def base_gem_spec(pkg_name, pkg_version)
75
77
  s.extra_rdoc_files = [ "README" ]
76
78
 
77
79
  s.files = %w(COPYING LICENSE README Rakefile) +
78
- Dir.glob("{bin,doc/rdoc,test}/**/*") +
80
+ Dir.glob("{bin,doc/rdoc}/**/*") +
79
81
  Dir.glob("ext/**/*.{h,c,rb}") +
80
82
  Dir.glob("examples/**/*.rb") +
81
- Dir.glob("tools/*.rb") +
83
+ Dir.glob("tools/*.rb") +
82
84
  Dir.glob(RUBY_PLATFORM !~ /mswin/ ? "lib/**/*.rb" : "lib/**/*")
83
85
 
84
86
  s.require_path = "lib"
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: rfuzz
5
5
  version: !ruby/object:Gem::Version
6
- version: "0.6"
7
- date: 2006-07-19 00:00:00 -04:00
6
+ version: "0.7"
7
+ date: 2006-08-04 00:00:00 -07:00
8
8
  summary: The rfuzz web server destructor
9
9
  require_paths:
10
10
  - lib
@@ -45,6 +45,7 @@ files:
45
45
  - doc/rdoc/files/README.html
46
46
  - doc/rdoc/files/COPYING.html
47
47
  - doc/rdoc/files/lib/rfuzz
48
+ - doc/rdoc/files/lib/rfuzz/browser_rb.html
48
49
  - doc/rdoc/files/lib/rfuzz/rfuzz_rb.html
49
50
  - doc/rdoc/files/lib/rfuzz/client_rb.html
50
51
  - doc/rdoc/files/lib/rfuzz/session_rb.html
@@ -60,11 +61,13 @@ files:
60
61
  - doc/rdoc/classes/RFuzz/StatsTracker.html
61
62
  - doc/rdoc/classes/RFuzz/HttpEncoding.src
62
63
  - doc/rdoc/classes/RFuzz/Session.src
64
+ - doc/rdoc/classes/RFuzz/Browser.html
63
65
  - doc/rdoc/classes/RFuzz/Sampler.src
64
66
  - doc/rdoc/classes/RFuzz/Session.html
65
67
  - doc/rdoc/classes/RFuzz/Notifier.html
66
68
  - doc/rdoc/classes/RFuzz/Notifier.src
67
69
  - doc/rdoc/classes/RFuzz/Sampler.html
70
+ - doc/rdoc/classes/RFuzz/Browser.src
68
71
  - doc/rdoc/classes/RFuzz/RandomGenerator.html
69
72
  - doc/rdoc/classes/RFuzz/RandomGenerator.src
70
73
  - doc/rdoc/classes/RFuzz/StatsTracker.src/M000050.html
@@ -122,6 +125,9 @@ files:
122
125
  - doc/rdoc/classes/RFuzz/Notifier.src/M000047.html
123
126
  - doc/rdoc/classes/RFuzz/Notifier.src/M000048.html
124
127
  - doc/rdoc/classes/RFuzz/Notifier.src/M000049.html
128
+ - doc/rdoc/classes/RFuzz/Browser.src/M000068.html
129
+ - doc/rdoc/classes/RFuzz/Browser.src/M000069.html
130
+ - doc/rdoc/classes/RFuzz/Browser.src/M000070.html
125
131
  - doc/rdoc/classes/RFuzz/RandomGenerator.src/M000032.html
126
132
  - doc/rdoc/classes/RFuzz/RandomGenerator.src/M000033.html
127
133
  - doc/rdoc/classes/RFuzz/RandomGenerator.src/M000036.html
@@ -132,19 +138,6 @@ files:
132
138
  - doc/rdoc/classes/RFuzz/RandomGenerator.src/M000041.html
133
139
  - doc/rdoc/classes/RFuzz/RandomGenerator.src/M000042.html
134
140
  - doc/rdoc/classes/RFuzz/RandomGenerator.src/M000043.html
135
- - test/test_fuzzrnd.rb
136
- - test/test_httpparser.rb
137
- - test/server.rb
138
- - test/test_random.rb
139
- - test/coverage
140
- - test/test_client.rb
141
- - test/test_stats.rb
142
- - test/test_session.rb
143
- - test/coverage/lib-rfuzz-session_rb.html
144
- - test/coverage/lib-rfuzz-stats_rb.html
145
- - test/coverage/index.html
146
- - test/coverage/lib-rfuzz-client_rb.html
147
- - test/coverage/lib-rfuzz-random_rb.html
148
141
  - ext/http11_client/http11_parser.h
149
142
  - ext/http11_client/ext_help.h
150
143
  - ext/fuzzrnd/ext_help.h
@@ -153,12 +146,27 @@ files:
153
146
  - ext/fuzzrnd/fuzzrnd.c
154
147
  - ext/http11_client/extconf.rb
155
148
  - ext/fuzzrnd/extconf.rb
149
+ - examples/cl_watcher.rb
156
150
  - examples/kill_routes.rb
157
151
  - examples/perftest.rb
158
152
  - examples/hpricot_pudding.rb
159
153
  - examples/amazon_headers.rb
160
154
  - examples/mongrel_test_suite/lib/gen.rb
155
+ - examples/mongrel_test_suite/test/http/content_negotiation.rb
156
+ - examples/mongrel_test_suite/test/http/method_definitions.rb
157
+ - examples/mongrel_test_suite/test/http/response.rb
158
+ - examples/mongrel_test_suite/test/http/protocol_parameters.rb
159
+ - examples/mongrel_test_suite/test/http/header_field_definitions.rb
160
+ - examples/mongrel_test_suite/test/http/caching_in_http.rb
161
+ - examples/mongrel_test_suite/test/http/http_message.rb
162
+ - examples/mongrel_test_suite/test/http/status_code_definitions.rb
161
163
  - examples/mongrel_test_suite/test/http/base_protocol.rb
164
+ - examples/mongrel_test_suite/test/http/request.rb
165
+ - examples/mongrel_test_suite/test/http/security_considerations.rb
166
+ - examples/mongrel_test_suite/test/http/entity.rb
167
+ - examples/mongrel_test_suite/test/http/access_authentication.rb
168
+ - examples/mongrel_test_suite/test/http/appendix.rb
169
+ - examples/mongrel_test_suite/test/http/connections.rb
162
170
  - examples/mongrel_test_suite/test/nitro/upload_file.rb
163
171
  - examples/mongrel_test_suite/test/nitro/upload_progress.rb
164
172
  - examples/mongrel_test_suite/test/rails/upload_file.rb
@@ -168,6 +176,7 @@ files:
168
176
  - examples/mongrel_test_suite/test/camping/static_files.rb
169
177
  - examples/mongrel_test_suite/test/camping/upload_progress.rb
170
178
  - tools/rakehelp.rb
179
+ - lib/rfuzz/browser.rb
171
180
  - lib/rfuzz/rfuzz.rb
172
181
  - lib/rfuzz/random.rb
173
182
  - lib/rfuzz/client.rb
@@ -1,388 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
3
- <head>
4
- <title>C0 code coverage information</title>
5
- <style type='text/css'>body { background-color: rgb(240, 240, 245); }</style>
6
- <style type='text/css'>span.cross-ref-title {
7
- font-size: 140%;
8
- }
9
- span.cross-ref a {
10
- text-decoration: none;
11
- }
12
- span.cross-ref {
13
- background-color:#f3f7fa;
14
- border: 1px dashed #333;
15
- margin: 1em;
16
- padding: 0.5em;
17
- overflow: hidden;
18
- }
19
- a.crossref-toggle {
20
- text-decoration: none;
21
- }
22
- span.marked0 {
23
- background-color: rgb(185, 210, 200);
24
- display: block;
25
- }
26
- span.marked1 {
27
- background-color: rgb(190, 215, 205);
28
- display: block;
29
- }
30
- span.inferred0 {
31
- background-color: rgb(175, 200, 200);
32
- display: block;
33
- }
34
- span.inferred1 {
35
- background-color: rgb(180, 205, 205);
36
- display: block;
37
- }
38
- span.uncovered0 {
39
- background-color: rgb(225, 110, 110);
40
- display: block;
41
- }
42
- span.uncovered1 {
43
- background-color: rgb(235, 120, 120);
44
- display: block;
45
- }
46
- span.overview {
47
- border-bottom: 8px solid black;
48
- }
49
- div.overview {
50
- border-bottom: 8px solid black;
51
- }
52
- body {
53
- font-family: verdana, arial, helvetica;
54
- }
55
- div.footer {
56
- font-size: 68%;
57
- margin-top: 1.5em;
58
- }
59
- h1, h2, h3, h4, h5, h6 {
60
- margin-bottom: 0.5em;
61
- }
62
- h5 {
63
- margin-top: 0.5em;
64
- }
65
- .hidden {
66
- display: none;
67
- }
68
- div.separator {
69
- height: 10px;
70
- }
71
- /* Commented out for better readability, esp. on IE */
72
- /*
73
- table tr td, table tr th {
74
- font-size: 68%;
75
- }
76
- td.value table tr td {
77
- font-size: 11px;
78
- }
79
- */
80
- table.percent_graph {
81
- height: 12px;
82
- border: #808080 1px solid;
83
- empty-cells: show;
84
- }
85
- table.percent_graph td.covered {
86
- height: 10px;
87
- background: #00f000;
88
- }
89
- table.percent_graph td.uncovered {
90
- height: 10px;
91
- background: #e00000;
92
- }
93
- table.percent_graph td.NA {
94
- height: 10px;
95
- background: #eaeaea;
96
- }
97
- table.report {
98
- border-collapse: collapse;
99
- width: 100%;
100
- }
101
- table.report td.heading {
102
- background: #dcecff;
103
- border: #d0d0d0 1px solid;
104
- font-weight: bold;
105
- text-align: center;
106
- }
107
- table.report td.heading:hover {
108
- background: #c0ffc0;
109
- }
110
- table.report td.text {
111
- border: #d0d0d0 1px solid;
112
- }
113
- table.report td.value {
114
- text-align: right;
115
- border: #d0d0d0 1px solid;
116
- }
117
- table.report tr.light {
118
- background-color: rgb(240, 240, 245);
119
- }
120
- table.report tr.dark {
121
- background-color: rgb(230, 230, 235);
122
- }
123
- </style>
124
- <script type='text/javascript'>
125
- // <![CDATA[
126
- function toggleCode( id ) {
127
- if ( document.getElementById )
128
- elem = document.getElementById( id );
129
- else if ( document.all )
130
- elem = eval( "document.all." + id );
131
- else
132
- return false;
133
-
134
- elemStyle = elem.style;
135
-
136
- if ( elemStyle.display != "block" ) {
137
- elemStyle.display = "block"
138
- } else {
139
- elemStyle.display = "none"
140
- }
141
-
142
- return true;
143
- }
144
-
145
- // Make cross-references hidden by default
146
- document.writeln( "<style type=\"text/css\">span.cross-ref { display: none }</style>" )
147
- // ]]>
148
- </script>
149
- </head>
150
- <body>
151
- <h3>C0 code coverage information</h3>
152
- <p>Generated on Wed Jul 19 17:39:34 EDT 2006 with <a href='http://eigenclass.org/hiki.rb?rcov'>rcov 0.6.0</a>
153
- </p>
154
- <hr /> <table class='report'>
155
- <thead>
156
- <tr>
157
- <td class='heading'>Name</td>
158
- <td class='heading'>Total lines</td>
159
- <td class='heading'>Lines of code</td>
160
- <td class='heading'>Total coverage</td>
161
- <td class='heading'>Code coverage</td>
162
- </tr>
163
- </thead>
164
- <tbody>
165
- <tr class='light'>
166
- <td>TOTAL</td>
167
- <td class='value'>
168
- <tt>921</tt>
169
- </td>
170
- <td class='value'>
171
- <tt>522</tt>
172
- </td>
173
- <td>
174
- <table cellspacing='0' cellpadding='0' align='right'>
175
- <tr>
176
- <td>
177
- <tt>93.1%</tt>&nbsp;</td>
178
- <td>
179
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
180
- <tr>
181
- <td class='covered' width='93' />
182
- <td class='uncovered' width='7' />
183
- </tr>
184
- </table>
185
- </td>
186
- </tr>
187
- </table>
188
- </td>
189
- <td>
190
- <table cellspacing='0' cellpadding='0' align='right'>
191
- <tr>
192
- <td>
193
- <tt>89.1%</tt>&nbsp;</td>
194
- <td>
195
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
196
- <tr>
197
- <td class='covered' width='89' />
198
- <td class='uncovered' width='11' />
199
- </tr>
200
- </table>
201
- </td>
202
- </tr>
203
- </table>
204
- </td>
205
- </tr>
206
- <tr class='dark'>
207
- <td>
208
- <a href='lib-rfuzz-client_rb.html'>lib/rfuzz/client.rb</a>
209
- </td>
210
- <td class='value'>
211
- <tt>498</tt>
212
- </td>
213
- <td class='value'>
214
- <tt>275</tt>
215
- </td>
216
- <td>
217
- <table cellspacing='0' cellpadding='0' align='right'>
218
- <tr>
219
- <td>
220
- <tt>91.0%</tt>&nbsp;</td>
221
- <td>
222
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
223
- <tr>
224
- <td class='covered' width='91' />
225
- <td class='uncovered' width='9' />
226
- </tr>
227
- </table>
228
- </td>
229
- </tr>
230
- </table>
231
- </td>
232
- <td>
233
- <table cellspacing='0' cellpadding='0' align='right'>
234
- <tr>
235
- <td>
236
- <tt>86.2%</tt>&nbsp;</td>
237
- <td>
238
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
239
- <tr>
240
- <td class='covered' width='86' />
241
- <td class='uncovered' width='14' />
242
- </tr>
243
- </table>
244
- </td>
245
- </tr>
246
- </table>
247
- </td>
248
- </tr>
249
- <tr class='light'>
250
- <td>
251
- <a href='lib-rfuzz-random_rb.html'>lib/rfuzz/random.rb</a>
252
- </td>
253
- <td class='value'>
254
- <tt>110</tt>
255
- </td>
256
- <td class='value'>
257
- <tt>60</tt>
258
- </td>
259
- <td>
260
- <table cellspacing='0' cellpadding='0' align='right'>
261
- <tr>
262
- <td>
263
- <tt>100.0%</tt>&nbsp;</td>
264
- <td>
265
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
266
- <tr>
267
- <td class='covered' width='100' />
268
- <td class='uncovered' width='0' />
269
- </tr>
270
- </table>
271
- </td>
272
- </tr>
273
- </table>
274
- </td>
275
- <td>
276
- <table cellspacing='0' cellpadding='0' align='right'>
277
- <tr>
278
- <td>
279
- <tt>100.0%</tt>&nbsp;</td>
280
- <td>
281
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
282
- <tr>
283
- <td class='covered' width='100' />
284
- <td class='uncovered' width='0' />
285
- </tr>
286
- </table>
287
- </td>
288
- </tr>
289
- </table>
290
- </td>
291
- </tr>
292
- <tr class='dark'>
293
- <td>
294
- <a href='lib-rfuzz-session_rb.html'>lib/rfuzz/session.rb</a>
295
- </td>
296
- <td class='value'>
297
- <tt>154</tt>
298
- </td>
299
- <td class='value'>
300
- <tt>92</tt>
301
- </td>
302
- <td>
303
- <table cellspacing='0' cellpadding='0' align='right'>
304
- <tr>
305
- <td>
306
- <tt>95.5%</tt>&nbsp;</td>
307
- <td>
308
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
309
- <tr>
310
- <td class='covered' width='95' />
311
- <td class='uncovered' width='5' />
312
- </tr>
313
- </table>
314
- </td>
315
- </tr>
316
- </table>
317
- </td>
318
- <td>
319
- <table cellspacing='0' cellpadding='0' align='right'>
320
- <tr>
321
- <td>
322
- <tt>92.4%</tt>&nbsp;</td>
323
- <td>
324
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
325
- <tr>
326
- <td class='covered' width='92' />
327
- <td class='uncovered' width='8' />
328
- </tr>
329
- </table>
330
- </td>
331
- </tr>
332
- </table>
333
- </td>
334
- </tr>
335
- <tr class='light'>
336
- <td>
337
- <a href='lib-rfuzz-stats_rb.html'>lib/rfuzz/stats.rb</a>
338
- </td>
339
- <td class='value'>
340
- <tt>159</tt>
341
- </td>
342
- <td class='value'>
343
- <tt>95</tt>
344
- </td>
345
- <td>
346
- <table cellspacing='0' cellpadding='0' align='right'>
347
- <tr>
348
- <td>
349
- <tt>92.5%</tt>&nbsp;</td>
350
- <td>
351
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
352
- <tr>
353
- <td class='covered' width='92' />
354
- <td class='uncovered' width='8' />
355
- </tr>
356
- </table>
357
- </td>
358
- </tr>
359
- </table>
360
- </td>
361
- <td>
362
- <table cellspacing='0' cellpadding='0' align='right'>
363
- <tr>
364
- <td>
365
- <tt>87.4%</tt>&nbsp;</td>
366
- <td>
367
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
368
- <tr>
369
- <td class='covered' width='87' />
370
- <td class='uncovered' width='13' />
371
- </tr>
372
- </table>
373
- </td>
374
- </tr>
375
- </table>
376
- </td>
377
- </tr>
378
- </tbody>
379
- </table><hr /> <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a> version 0.6.0.</p><p>
380
- <a href='http://validator.w3.org/check/referer'>
381
- <img src='http://www.w3.org/Icons/valid-xhtml11' height='31' alt='Valid XHTML 1.1!' width='88' />
382
- </a>
383
- <a href='http://jigsaw.w3.org/css-validator/check/referer'>
384
- <img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px' />
385
- </a>
386
- </p>
387
- </body>
388
- </html>