fhlow 1.91.0 → 1.91.1

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 (59) hide show
  1. data/bin/fhlow +58 -10
  2. data/lib/module_config/complexitem.rb +57 -0
  3. data/lib/module_config/config.rb +5 -3
  4. data/lib/module_config/item.rb +0 -4
  5. data/lib/module_config/items/complex.rb +44 -0
  6. data/lib/module_config/items/complexfreqencies.rb +59 -0
  7. data/lib/module_config/items/complexlibrary.rb +46 -0
  8. data/lib/module_config/items/complexpackage.rb +47 -0
  9. data/lib/module_config/items/complexpins.rb +59 -0
  10. data/lib/module_config/items/complexunit.rb +53 -0
  11. data/lib/module_config/items/simple.rb +29 -0
  12. data/lib/module_config/items/simplearchitecture.rb +34 -0
  13. data/lib/module_config/items/simplebindir.rb +31 -0
  14. data/lib/module_config/items/simplebool.rb +24 -0
  15. data/lib/module_config/items/simplepostlayoutsdf.rb +24 -0
  16. data/lib/module_config/items/simplesimulaterun.rb +25 -0
  17. data/lib/module_config/items/simpleverbose.rb +33 -0
  18. data/lib/module_config/section.rb +16 -4
  19. data/lib/module_config/simpleitem.rb +37 -0
  20. data/lib/module_config/test.flw +33 -12
  21. data/lib/module_config/test.rb +54 -4
  22. data/lib/module_config/unittests/config_test.rb +15 -12
  23. data/lib/module_fhlow/leaf.rb +28 -24
  24. data/lib/module_fhlow/leafs/Library.rb +60 -0
  25. data/lib/module_fhlow/leafs/Package.rb +4 -1
  26. data/lib/module_fhlow/leafs/Unit.rb +9 -1
  27. data/lib/module_fhlow/node.rb +4 -5
  28. data/lib/module_fhlow/plugin.rb +11 -0
  29. data/lib/module_fhlow/pluginpool.rb +17 -5
  30. data/lib/module_fhlow/rootnode.rb +4 -3
  31. data/lib/plugins/Modelsim.flw +18 -0
  32. data/lib/plugins/Modelsim.rb +331 -0
  33. data/lib/plugins/Quartus.flw +5 -0
  34. data/lib/plugins/Quartus.rb +237 -0
  35. data/tests/testsuite.rb +0 -0
  36. metadata +84 -79
  37. data/lib/module_config/configitems/complex.rb +0 -71
  38. data/lib/module_config/configitems/complexpackage.rb +0 -67
  39. data/lib/module_config/configitems/complexunit.rb +0 -76
  40. data/lib/module_config/configitems/simple.rb +0 -56
  41. data/lib/module_config/configitems/simplearchitecture.rb +0 -52
  42. data/lib/module_config/configitems/simplepackage.rb +0 -47
  43. data/lib/module_config/configitems/simpleunit.rb +0 -53
  44. data/lib/module_config/configs.test +0 -24
  45. data/lib/module_config/tmp +0 -3
  46. data/lib/module_config/unittests/coverage/-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-configexception_rb.html +0 -647
  47. data/lib/module_config/unittests/coverage/-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-configitems-complex_rb.html +0 -700
  48. data/lib/module_config/unittests/coverage/-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-configitems-complexpackage_rb.html +0 -694
  49. data/lib/module_config/unittests/coverage/-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-configitems-complexunit_rb.html +0 -704
  50. data/lib/module_config/unittests/coverage/-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-configitems-simple_rb.html +0 -685
  51. data/lib/module_config/unittests/coverage/-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-configitems-simplepackage_rb.html +0 -676
  52. data/lib/module_config/unittests/coverage/-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-configitems-simpleunit_rb.html +0 -682
  53. data/lib/module_config/unittests/coverage/-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-item_rb.html +0 -663
  54. data/lib/module_config/unittests/coverage/-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-itemfactory_rb.html +0 -687
  55. data/lib/module_config/unittests/coverage/-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-myconfig_rb.html +0 -687
  56. data/lib/module_config/unittests/coverage/-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-section_rb.html +0 -692
  57. data/lib/module_config/unittests/coverage/index.html +0 -689
  58. data/lib/module_fhlow/leaf.rb~ +0 -202
  59. data/lib/module_fhlow/test.rb +0 -15
@@ -1,67 +0,0 @@
1
- require 'item'
2
- require 'itemfactory'
3
- require 'configexception'
4
-
5
- module Config
6
-
7
- class ComplexPackageFactory < ItemFactory
8
-
9
- def ComplexPackageFactory.match(_str)
10
- _str.sub!(ComplexPackage.getRegex, '')
11
- return $&
12
- end
13
-
14
- def ComplexPackageFactory.create(*_args)
15
- ComplexPackage.new(*_args)
16
- end
17
-
18
- end
19
-
20
- class ComplexPackage < Item
21
- @@regex = /(\w*Package\w*)\s*=\s*\{((\s*[^\(\)]*[;]\s*)*(\s*[^\(\)\{]*[;]?\s*)?)\s*\}/
22
- @@subitemregex = /\A.+\Z/
23
-
24
- attr_reader :name
25
- attr_reader :value
26
-
27
- def initialize(_str)
28
- if _str =~ @@regex
29
- @name = $1
30
- @value = Array.new
31
- $2.strip.split(';').each do |item|
32
- item.strip!
33
- raise ConfigWrongFormatException.new(self.class), "Configuration subitem \n -----\n #{item} \n -----\n of item <#{name}> has wrong format." unless item =~ @@subitemregex
34
- @value.push(item.split(/,\s/))
35
- end
36
- else
37
- raise ConfigWrongFormatException.new(self.class), "Configuration item <#{_str}> has wrong format."
38
- end
39
- end
40
-
41
- def merge(_complexitem)
42
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not fit! <#{_complexitem}> is not of type #{self.class.to_s}." unless _complexitem.instance_of?(self.class)
43
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not have the same name! <#{_complexitem.name}> vs. <#{@name}>" unless _complexitem.name == @name
44
-
45
- @value = _complexitem.value | @value
46
- end
47
-
48
- def each(&block)
49
- @value.each(&block)
50
- end
51
-
52
- def print
53
- puts "<ComplexPackage>"
54
- puts " #{@name} = {"
55
- @value.each { |v| puts " #{v};" }
56
- puts " }"
57
- end
58
-
59
- def ComplexPackage.getRegex()
60
- @@regex
61
- end
62
-
63
-
64
- end
65
-
66
- end
67
-
@@ -1,76 +0,0 @@
1
- require 'item'
2
- require 'itemfactory'
3
- require 'configexception'
4
-
5
- module Config
6
-
7
- class ComplexUnitFactory < ItemFactory
8
-
9
- def ComplexUnitFactory.match(_str)
10
- _str.sub!(ComplexUnit.getRegex, '')
11
- return $&
12
- end
13
-
14
- def ComplexUnitFactory.create(*_args)
15
- ComplexUnit.new(*_args)
16
- end
17
-
18
- end
19
-
20
- class ComplexUnit < Item
21
- @@regex = /(\w*Unit\w*)\s*=\s*\{((\s*.*[;]\s*)*(\s*.*\(.*\)[;]*\s*)?)\s*\}/
22
- @@subitemregex = /\A(([\w\/]+,\s*)*[\w\/]+)\s*\((.+)\)\Z/
23
-
24
- attr_reader :name
25
- attr_reader :value
26
-
27
- def initialize(_str)
28
- if _str =~ @@regex
29
- @name = $1
30
- @value = Array.new
31
-
32
- $2.strip.split(';').each do |item|
33
-
34
- item.strip!
35
- if item =~ @@subitemregex
36
- item = Hash.new
37
- item["deppath"] = $1
38
- item["archs"] = $3.split(/,\s*/)
39
- item["deppath"] = item["deppath"].split(/,\s*/)
40
- @value.push(item)
41
- else
42
- raise ConfigWrongFormatException.new(self.class), "Configuration subitem <#{item}> of item <#{name}> has wrong format."
43
- end
44
-
45
- end
46
- else
47
- raise ConfigWrongFormatException.new(self.class), "Configuration item <#{_str}> has wrong format."
48
- end
49
- end
50
-
51
- def merge(_complexitem)
52
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not fit! <#{_complexitem}> is not of type #{self.class.to_s}." unless _complexitem.instance_of?(self.class)
53
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not have the same name! <#{_complexitem.name}> vs. <#{@name}>" unless _complexitem.name == @name
54
-
55
- @value = _complexitem.value | @value
56
- end
57
-
58
- def each(&block)
59
- @value.each(&block)
60
- end
61
-
62
- def print
63
- puts "<ComplexUnit>"
64
- puts " #{@name} = {"
65
- @value.each { |v| puts " #{v["deppath"].join(", ")}(#{v["archs"].join(", ")});" }
66
- puts " }"
67
- end
68
-
69
- def ComplexUnit.getRegex()
70
- @@regex
71
- end
72
-
73
- end
74
-
75
- end
76
-
@@ -1,56 +0,0 @@
1
- require 'item'
2
- require 'itemfactory'
3
- require 'configexception'
4
-
5
- module Config
6
-
7
- class SimpleFactory < ItemFactory
8
-
9
- def SimpleFactory.match(_str)
10
- _str.sub!(Simple.getRegex(), '')
11
- return $&
12
- end
13
-
14
- def SimpleFactory.create(*_args)
15
- Simple.new(*_args)
16
- end
17
-
18
- def SimpleFactory.priority
19
- 10
20
- end
21
- end
22
-
23
-
24
- class Simple < Item
25
- @@regex = /^\s*(\w+)\s*=\s*([\w,\/.;\t ]+)[\t ]*$/
26
-
27
- attr_reader :name
28
- attr_reader :value
29
-
30
- def initialize(_str)
31
-
32
- if _str =~ @@regex
33
- @name = $1
34
- @value = $2
35
- else
36
- raise ConfigWrongFormatException.new(self.class), "Configuration item <#{_str}> has wrong format."
37
- end
38
- end
39
-
40
- def merge(_item)
41
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not fit! <#{_item}> is not of type #{self.class.to_s}." unless _item.instance_of?(self.class)
42
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not have the same name! <#{_item.name}> vs. <#{@name}>" unless _item.name == @name
43
-
44
- @value = _item.value
45
- end
46
-
47
-
48
- def Simple.getRegex()
49
- @@regex
50
- end
51
-
52
-
53
- end
54
-
55
- end
56
-
@@ -1,52 +0,0 @@
1
- require 'item'
2
- require 'itemfactory'
3
- require 'configexception'
4
-
5
- module Config
6
-
7
- class SimpleArchitectureFactory < ItemFactory
8
- def SimpleArchitectureFactory.match(_str)
9
- _str.sub!(SimpleArchitecture.getRegex, '')
10
- return $&
11
- end
12
-
13
- def SimpleArchitectureFactory.create(*_args)
14
- SimpleArchitecture.new(*_args)
15
- end
16
- end
17
-
18
-
19
- class SimpleArchitecture < Item
20
- @@regex = /^\s*(\w*Architecture\w*)\s*=\s*((\s*\w+\s*[,])*\s*\w+)*\s*$/
21
-
22
- attr_reader :name
23
- attr_reader :value
24
-
25
- def initialize(_str)
26
- if _str =~ @@regex
27
- @name = $1
28
- @value = Array.new
29
- @value = $2.split(/,\s*/) if $2
30
- else
31
- raise ConfigWrongFormatException.new(self.class), "Configuration item <#{_str}> has wrong format."
32
- end
33
- end
34
-
35
- def merge(_item)
36
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not fit! <#{_item}> is not of type #{self.class.to_s}." unless _item.instance_of?(self.class)
37
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not have the same name! <#{_item.name}> vs. <#{@name}>" unless _item.name == @name
38
-
39
- @value = _item.value
40
- end
41
-
42
- def print
43
- puts "<#{self.class.to_s}> -> ".ljust(40)+" #{@name} = #{@value.join(", ")}"
44
- end
45
-
46
- def SimpleArchitecture.getRegex()
47
- @@regex
48
- end
49
-
50
- end
51
-
52
- end
@@ -1,47 +0,0 @@
1
- require 'item'
2
- require 'itemfactory'
3
- require 'configexception'
4
-
5
- module Config
6
-
7
- class SimplePackageFactory < ItemFactory
8
- def SimplePackageFactory.match(_str)
9
- _str.sub!(SimplePackage.getRegex, '')
10
- return $&
11
- end
12
-
13
- def SimplePackageFactory.create(*_args)
14
- SimplePackage.new(*_args)
15
- end
16
- end
17
-
18
-
19
- class SimplePackage < Item
20
- @@regex = /^\s*(\w*Package\w*)\s*=\s*([\w,.;\s]+)\s*$/
21
-
22
- attr_reader :name
23
- attr_reader :value
24
-
25
- def initialize(_str)
26
- if _str =~ @@regex
27
- @name = $1
28
- @value = $2.strip
29
- else
30
- raise ConfigWrongFormatException.new(self.class), "Configuration item <#{_str}> has wrong format."
31
- end
32
- end
33
-
34
- def merge(_item)
35
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not fit! <#{_item}> is not of type #{self.class.to_s}." unless _item.instance_of?(self.class)
36
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not have the same name! <#{_item.name}> vs. <#{@name}>" unless _item.name == @name
37
-
38
- @value = _item.value
39
- end
40
-
41
- def SimplePackage.getRegex()
42
- @@regex
43
- end
44
-
45
- end
46
-
47
- end
@@ -1,53 +0,0 @@
1
- require 'item'
2
- require 'itemfactory'
3
- require 'configexception'
4
-
5
- module Config
6
-
7
- class SimpleUnitFactory < ItemFactory
8
- def SimpleUnitFactory.match(_str)
9
- _str.sub!(SimpleUnit.getRegex, '')
10
- return $&
11
- end
12
-
13
- def SimpleUnitFactory.create(*_args)
14
- SimpleUnit.new(*_args)
15
- end
16
- end
17
-
18
-
19
- class SimpleUnit < Item
20
- @@regex = /^\s*(\w*Unit\w*)\s*=\s*([\w,.;\s]+)\((.*)\)\s*$/
21
-
22
- attr_reader :name
23
- attr_reader :value
24
-
25
- def initialize(_str)
26
- if _str =~ @@regex
27
- @name = $1
28
- @value = Hash.new
29
- @value["deppath"] = $2
30
- @value["archs"] = $3.split(/,\s*/)
31
- else
32
- raise ConfigWrongFormatException.new(self.class), "Configuration item <#{_str}> has wrong format."
33
- end
34
- end
35
-
36
- def merge(_item)
37
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not fit! <#{_item}> is not of type #{self.class.to_s}." unless _item.instance_of?(self.class)
38
- raise ConfigMergeException.new(self.class), "Merge: Configuration items do not have the same name! <#{_item.name}> vs. <#{@name}>" unless _item.name == @name
39
-
40
- @value = _item.value
41
- end
42
-
43
- def print
44
- puts "<#{self.class.to_s}> -> ".ljust(40)+" #{@name} = #{@value["deppath"]}(#{@value["archs"].join(", ")})"
45
- end
46
-
47
- def SimpleUnit.getRegex()
48
- @@regex
49
- end
50
-
51
- end
52
-
53
- end
@@ -1,24 +0,0 @@
1
- [Section]
2
- Simple = Value
3
- Simple1 = Value1
4
-
5
- Complex = {
6
- Value2;
7
- V, a, l, u, e
8
- v
9
- }
10
-
11
- [AnotherSection]
12
- S = V
13
- S1 = V1
14
-
15
- C = {
16
- v
17
- }
18
-
19
- C = {
20
- V2;
21
- V, v, 2;
22
- v
23
- }
24
-
@@ -1,3 +0,0 @@
1
- Hallo
2
- configitems/complex.rb
3
- configitems/simple.rb
@@ -1,647 +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>/home/simon/tmp/fhlow.v2/flw/core/lib/module_config/configexception.rb - 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
- <style type='text/css'>span.run0 {
150
- background-color: rgb(178, 204, 255);
151
- display: block;
152
- }
153
- span.run1 {
154
- background-color: rgb(178, 206, 255);
155
- display: block;
156
- }
157
- span.run2 {
158
- background-color: rgb(178, 209, 255);
159
- display: block;
160
- }
161
- span.run3 {
162
- background-color: rgb(178, 211, 255);
163
- display: block;
164
- }
165
- span.run4 {
166
- background-color: rgb(178, 214, 255);
167
- display: block;
168
- }
169
- span.run5 {
170
- background-color: rgb(178, 218, 255);
171
- display: block;
172
- }
173
- span.run6 {
174
- background-color: rgb(178, 220, 255);
175
- display: block;
176
- }
177
- span.run7 {
178
- background-color: rgb(178, 223, 255);
179
- display: block;
180
- }
181
- span.run8 {
182
- background-color: rgb(178, 225, 255);
183
- display: block;
184
- }
185
- span.run9 {
186
- background-color: rgb(178, 228, 255);
187
- display: block;
188
- }
189
- span.run10 {
190
- background-color: rgb(178, 232, 255);
191
- display: block;
192
- }
193
- span.run11 {
194
- background-color: rgb(178, 234, 255);
195
- display: block;
196
- }
197
- span.run12 {
198
- background-color: rgb(178, 237, 255);
199
- display: block;
200
- }
201
- span.run13 {
202
- background-color: rgb(178, 239, 255);
203
- display: block;
204
- }
205
- span.run14 {
206
- background-color: rgb(178, 242, 255);
207
- display: block;
208
- }
209
- span.run15 {
210
- background-color: rgb(178, 246, 255);
211
- display: block;
212
- }
213
- span.run16 {
214
- background-color: rgb(178, 248, 255);
215
- display: block;
216
- }
217
- span.run17 {
218
- background-color: rgb(178, 251, 255);
219
- display: block;
220
- }
221
- span.run18 {
222
- background-color: rgb(178, 253, 255);
223
- display: block;
224
- }
225
- span.run19 {
226
- background-color: rgb(178, 255, 253);
227
- display: block;
228
- }
229
- span.run20 {
230
- background-color: rgb(178, 255, 249);
231
- display: block;
232
- }
233
- span.run21 {
234
- background-color: rgb(178, 255, 247);
235
- display: block;
236
- }
237
- span.run22 {
238
- background-color: rgb(178, 255, 244);
239
- display: block;
240
- }
241
- span.run23 {
242
- background-color: rgb(178, 255, 242);
243
- display: block;
244
- }
245
- span.run24 {
246
- background-color: rgb(178, 255, 239);
247
- display: block;
248
- }
249
- span.run25 {
250
- background-color: rgb(178, 255, 235);
251
- display: block;
252
- }
253
- span.run26 {
254
- background-color: rgb(178, 255, 233);
255
- display: block;
256
- }
257
- span.run27 {
258
- background-color: rgb(178, 255, 230);
259
- display: block;
260
- }
261
- span.run28 {
262
- background-color: rgb(178, 255, 228);
263
- display: block;
264
- }
265
- span.run29 {
266
- background-color: rgb(178, 255, 225);
267
- display: block;
268
- }
269
- span.run30 {
270
- background-color: rgb(178, 255, 221);
271
- display: block;
272
- }
273
- span.run31 {
274
- background-color: rgb(178, 255, 219);
275
- display: block;
276
- }
277
- span.run32 {
278
- background-color: rgb(178, 255, 216);
279
- display: block;
280
- }
281
- span.run33 {
282
- background-color: rgb(178, 255, 214);
283
- display: block;
284
- }
285
- span.run34 {
286
- background-color: rgb(178, 255, 211);
287
- display: block;
288
- }
289
- span.run35 {
290
- background-color: rgb(178, 255, 207);
291
- display: block;
292
- }
293
- span.run36 {
294
- background-color: rgb(178, 255, 205);
295
- display: block;
296
- }
297
- span.run37 {
298
- background-color: rgb(178, 255, 202);
299
- display: block;
300
- }
301
- span.run38 {
302
- background-color: rgb(178, 255, 200);
303
- display: block;
304
- }
305
- span.run39 {
306
- background-color: rgb(178, 255, 197);
307
- display: block;
308
- }
309
- span.run40 {
310
- background-color: rgb(178, 255, 193);
311
- display: block;
312
- }
313
- span.run41 {
314
- background-color: rgb(178, 255, 191);
315
- display: block;
316
- }
317
- span.run42 {
318
- background-color: rgb(178, 255, 188);
319
- display: block;
320
- }
321
- span.run43 {
322
- background-color: rgb(178, 255, 186);
323
- display: block;
324
- }
325
- span.run44 {
326
- background-color: rgb(178, 255, 183);
327
- display: block;
328
- }
329
- span.run45 {
330
- background-color: rgb(178, 255, 179);
331
- display: block;
332
- }
333
- span.run46 {
334
- background-color: rgb(179, 255, 178);
335
- display: block;
336
- }
337
- span.run47 {
338
- background-color: rgb(182, 255, 178);
339
- display: block;
340
- }
341
- span.run48 {
342
- background-color: rgb(184, 255, 178);
343
- display: block;
344
- }
345
- span.run49 {
346
- background-color: rgb(187, 255, 178);
347
- display: block;
348
- }
349
- span.run50 {
350
- background-color: rgb(191, 255, 178);
351
- display: block;
352
- }
353
- span.run51 {
354
- background-color: rgb(193, 255, 178);
355
- display: block;
356
- }
357
- span.run52 {
358
- background-color: rgb(196, 255, 178);
359
- display: block;
360
- }
361
- span.run53 {
362
- background-color: rgb(198, 255, 178);
363
- display: block;
364
- }
365
- span.run54 {
366
- background-color: rgb(201, 255, 178);
367
- display: block;
368
- }
369
- span.run55 {
370
- background-color: rgb(205, 255, 178);
371
- display: block;
372
- }
373
- span.run56 {
374
- background-color: rgb(207, 255, 178);
375
- display: block;
376
- }
377
- span.run57 {
378
- background-color: rgb(210, 255, 178);
379
- display: block;
380
- }
381
- span.run58 {
382
- background-color: rgb(212, 255, 178);
383
- display: block;
384
- }
385
- span.run59 {
386
- background-color: rgb(215, 255, 178);
387
- display: block;
388
- }
389
- span.run60 {
390
- background-color: rgb(219, 255, 178);
391
- display: block;
392
- }
393
- span.run61 {
394
- background-color: rgb(221, 255, 178);
395
- display: block;
396
- }
397
- span.run62 {
398
- background-color: rgb(224, 255, 178);
399
- display: block;
400
- }
401
- span.run63 {
402
- background-color: rgb(226, 255, 178);
403
- display: block;
404
- }
405
- span.run64 {
406
- background-color: rgb(229, 255, 178);
407
- display: block;
408
- }
409
- span.run65 {
410
- background-color: rgb(233, 255, 178);
411
- display: block;
412
- }
413
- span.run66 {
414
- background-color: rgb(235, 255, 178);
415
- display: block;
416
- }
417
- span.run67 {
418
- background-color: rgb(238, 255, 178);
419
- display: block;
420
- }
421
- span.run68 {
422
- background-color: rgb(240, 255, 178);
423
- display: block;
424
- }
425
- span.run69 {
426
- background-color: rgb(243, 255, 178);
427
- display: block;
428
- }
429
- span.run70 {
430
- background-color: rgb(247, 255, 178);
431
- display: block;
432
- }
433
- span.run71 {
434
- background-color: rgb(249, 255, 178);
435
- display: block;
436
- }
437
- span.run72 {
438
- background-color: rgb(252, 255, 178);
439
- display: block;
440
- }
441
- span.run73 {
442
- background-color: rgb(255, 255, 178);
443
- display: block;
444
- }
445
- span.run74 {
446
- background-color: rgb(255, 252, 178);
447
- display: block;
448
- }
449
- span.run75 {
450
- background-color: rgb(255, 248, 178);
451
- display: block;
452
- }
453
- span.run76 {
454
- background-color: rgb(255, 246, 178);
455
- display: block;
456
- }
457
- span.run77 {
458
- background-color: rgb(255, 243, 178);
459
- display: block;
460
- }
461
- span.run78 {
462
- background-color: rgb(255, 240, 178);
463
- display: block;
464
- }
465
- span.run79 {
466
- background-color: rgb(255, 238, 178);
467
- display: block;
468
- }
469
- span.run80 {
470
- background-color: rgb(255, 234, 178);
471
- display: block;
472
- }
473
- span.run81 {
474
- background-color: rgb(255, 232, 178);
475
- display: block;
476
- }
477
- span.run82 {
478
- background-color: rgb(255, 229, 178);
479
- display: block;
480
- }
481
- span.run83 {
482
- background-color: rgb(255, 226, 178);
483
- display: block;
484
- }
485
- span.run84 {
486
- background-color: rgb(255, 224, 178);
487
- display: block;
488
- }
489
- span.run85 {
490
- background-color: rgb(255, 220, 178);
491
- display: block;
492
- }
493
- span.run86 {
494
- background-color: rgb(255, 218, 178);
495
- display: block;
496
- }
497
- span.run87 {
498
- background-color: rgb(255, 215, 178);
499
- display: block;
500
- }
501
- span.run88 {
502
- background-color: rgb(255, 212, 178);
503
- display: block;
504
- }
505
- span.run89 {
506
- background-color: rgb(255, 210, 178);
507
- display: block;
508
- }
509
- span.run90 {
510
- background-color: rgb(255, 206, 178);
511
- display: block;
512
- }
513
- span.run91 {
514
- background-color: rgb(255, 204, 178);
515
- display: block;
516
- }
517
- span.run92 {
518
- background-color: rgb(255, 201, 178);
519
- display: block;
520
- }
521
- span.run93 {
522
- background-color: rgb(255, 198, 178);
523
- display: block;
524
- }
525
- span.run94 {
526
- background-color: rgb(255, 196, 178);
527
- display: block;
528
- }
529
- span.run95 {
530
- background-color: rgb(255, 192, 178);
531
- display: block;
532
- }
533
- span.run96 {
534
- background-color: rgb(255, 189, 178);
535
- display: block;
536
- }
537
- span.run97 {
538
- background-color: rgb(255, 187, 178);
539
- display: block;
540
- }
541
- span.run98 {
542
- background-color: rgb(255, 184, 178);
543
- display: block;
544
- }
545
- span.run99 {
546
- background-color: rgb(255, 182, 178);
547
- display: block;
548
- }
549
- span.run100 {
550
- background-color: rgb(255, 178, 178);
551
- display: block;
552
- }
553
- </style>
554
- </head>
555
- <body>
556
- <h3>C0 code coverage information</h3>
557
- <p>Generated on Wed Feb 14 17:25:15 +0100 2007 with <a href='http://eigenclass.org/hiki.rb?rcov'>rcov 0.7.0</a>
558
- </p>
559
- <hr /><pre><span class='marked0'>Code reported as executed by Ruby looks like this...
560
- </span><span class='marked1'>and this: this line is also marked as covered.
561
- </span><span class='inferred0'>Lines considered as run by rcov, but not reported by Ruby, look like this,
562
- </span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).
563
- </span><span class='uncovered0'>Finally, here&apos;s a line marked as not executed.
564
- </span></pre>
565
- <table class='report'>
566
- <thead>
567
- <tr>
568
- <td class='heading'>Name</td>
569
- <td class='heading'>Total lines</td>
570
- <td class='heading'>Lines of code</td>
571
- <td class='heading'>Total coverage</td>
572
- <td class='heading'>Code coverage</td>
573
- </tr>
574
- </thead>
575
- <tbody>
576
- <tr class='light'>
577
- <td>
578
- <a href='-home-simon-tmp-fhlow_v2-flw-core-lib-module_config-configexception_rb.html'>/home/simon/tmp/fhlow.v2/flw/core/lib/module_config/configexception.rb</a>
579
- </td>
580
- <td class='value'>
581
- <tt>18</tt>
582
- </td>
583
- <td class='value'>
584
- <tt>13</tt>
585
- </td>
586
- <td>
587
- <table cellspacing='0' cellpadding='0' align='right'>
588
- <tr>
589
- <td>
590
- <tt>100.0%</tt>&nbsp;</td>
591
- <td>
592
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
593
- <tr>
594
- <td class='covered' width='100' />
595
- <td class='uncovered' width='0' />
596
- </tr>
597
- </table>
598
- </td>
599
- </tr>
600
- </table>
601
- </td>
602
- <td>
603
- <table cellspacing='0' cellpadding='0' align='right'>
604
- <tr>
605
- <td>
606
- <tt>100.0%</tt>&nbsp;</td>
607
- <td>
608
- <table cellspacing='0' class='percent_graph' cellpadding='0' width='100'>
609
- <tr>
610
- <td class='covered' width='100' />
611
- <td class='uncovered' width='0' />
612
- </tr>
613
- </table>
614
- </td>
615
- </tr>
616
- </table>
617
- </td>
618
- </tr>
619
- </tbody>
620
- </table><pre><span class="marked1"><a name="line1" /> 1 module Config
621
- </span><span class="inferred0"><a name="line2" /> 2
622
- </span><span class="marked1"><a name="line3" /> 3 class ConfigException &lt; StandardError
623
- </span><span class="marked0"><a name="line4" /> 4 attr_reader :caller
624
- </span><span class="inferred1"><a name="line5" /> 5
625
- </span><span class="marked0"><a name="line6" /> 6 def initialize(_caller, *_args)
626
- </span><span class="marked1"><a name="line7" /> 7 super(_args)
627
- </span><span class="marked0"><a name="line8" /> 8 @caller = _caller
628
- </span><span class="inferred1"><a name="line9" /> 9 end
629
- </span><span class="inferred0"><a name="line10" />10 end
630
- </span><span class="inferred1"><a name="line11" />11
631
- </span><span class="marked0"><a name="line12" />12 class ConfigWrongFormatException &lt; ConfigException
632
- </span><span class="inferred1"><a name="line13" />13 end
633
- </span><span class="inferred0"><a name="line14" />14
634
- </span><span class="marked1"><a name="line15" />15 class ConfigMergeException &lt; ConfigException
635
- </span><span class="inferred0"><a name="line16" />16 end
636
- </span><span class="inferred1"><a name="line17" />17
637
- </span><span class="inferred0"><a name="line18" />18 end
638
- </span></pre><hr /> <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a> version 0.7.0.</p><p>
639
- <a href='http://validator.w3.org/check/referer'>
640
- <img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88' />
641
- </a>
642
- <a href='http://jigsaw.w3.org/css-validator/check/referer'>
643
- <img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px' />
644
- </a>
645
- </p>
646
- </body>
647
- </html>