rutema 0.4 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,7 +1,16 @@
1
+ == 0.4.1 / 2007-12-04
2
+ * Documented MinimalXMLParser
3
+ * More debug logs
4
+ * Fixed bug in attribute checking for command steps in the minimal parser
5
+ * Fixed bug in specification parsing in the Coordinator (no specs were returned)
6
+ * Fixed bug in the implementation of <prompt> in the minimal parser (attended was not set)
7
+ * Fixed bug in evaluation of attended status for steps
8
+ * Fixed bug where runner would complain that attened scenarios cannot be run in unattended mode when choosing to run only attended tests
9
+ * Added Version module to better handle versioning
1
10
  == 0.4 / 2007-07-05
2
11
  * rutemaweb, a web interface for the db contents added
3
12
  * uses WEBRick, Camping and Ruport
4
- * offers views on all runs in the System, detailed scenario views and ccenario-over-time views
13
+ * offers views on all runs in the System, detailed scenario views and scenario-over-time views
5
14
  * Runner now rescues all failures in scenarios
6
15
  * Bugfix in setting status of attended scenario in unattended mode
7
16
  * Better ruport usage in the historian
data/Manifest.txt CHANGED
@@ -23,7 +23,6 @@ lib/rutemaweb/htdocs/step_ok.png
23
23
  lib/rutemaweb/htdocs/step_warn.png
24
24
  lib/rutemaweb/htdocs/style.css
25
25
  lib/rutemaweb/htdocs/tie_logo.gif
26
- lib/rutemaweb/htdocs/index.html
27
26
  lib/rutemaweb/rutemaweb.rb
28
27
  test/test_configuration.rb
29
28
  test/test_specification.rb
data/Rakefile CHANGED
@@ -6,7 +6,7 @@ require 'rubygems'
6
6
  require 'hoe'
7
7
  require 'rutema/system'
8
8
 
9
- Hoe.new('rutema', "#{Rutema::VERSION_MAJOR}.#{Rutema::VERSION_MINOR}") do |p|
9
+ Hoe.new('rutema', "#{Rutema::Version::STRING}") do |p|
10
10
  p.rubyforge_name = 'patir'
11
11
  p.author = "Vassilis Rizopoulos"
12
12
  p.email = "riva@braveworld.net"
data/lib/rutema/model.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # Copyright (c) 2007 Vassilis Rizopoulos. All rights reserved.
1
2
  require 'rubygems'
2
3
  require 'active_record'
3
4
  require 'ruport/acts_as_reportable'
@@ -79,7 +79,7 @@ module Rutema
79
79
  #~ if @password
80
80
  #~ #if a password is defined, use cram_md5 authentication
81
81
  #~ else
82
- Net::SMTP.start(@server, @port, @domain) {|smtp| smtp.sendmail(@mail.to_s(),@mail.from,mail_to)} unless @dummy
82
+ Net::SMTP.start(@server, @port, @domain) {|smtp| smtp.sendmail(@mail.to_s(),@mail.from,@mail.to)} unless @dummy
83
83
  #~ end
84
84
  end#recipients empty
85
85
  rescue
@@ -89,13 +89,15 @@ module Rutema
89
89
  attr_reader :steps
90
90
 
91
91
  def initialize version=nil
92
+ @attributes=Hash.new
93
+ #attended is off by default
94
+ @attributes[:attended]=false
92
95
  @version=version
93
- @attended=false
94
96
  @steps=Array.new
95
97
  end
96
98
 
97
99
  def attended?
98
- return @attended
100
+ return @attributes[:attended]
99
101
  end
100
102
 
101
103
  def add_step step
@@ -143,6 +145,7 @@ module Rutema
143
145
  @attributes[:cmd]=cmd if cmd
144
146
  @attributes[:text]=txt
145
147
  @attributes[:number]=0
148
+ @attributes[:step_type]="step"
146
149
  end
147
150
 
148
151
  def output
@@ -168,6 +171,9 @@ module Rutema
168
171
  def reset
169
172
  @attributes[:cmd].reset if @attributes[:cmd]
170
173
  end
174
+ def to_s
175
+ "#{self.number} - #{self.step_type} - #{self.status}"
176
+ end
171
177
  end
172
178
 
173
179
  end
data/lib/rutema/system.rb CHANGED
@@ -12,8 +12,13 @@ require 'highline'
12
12
  require 'patir/command'
13
13
 
14
14
  module Rutema
15
- VERSION_MAJOR=0
16
- VERSION_MINOR=4
15
+ #This module defines the version numbers for the library
16
+ module Version
17
+ MAJOR=0
18
+ MINOR=4
19
+ TINY=1
20
+ STRING=[ MAJOR, MINOR, TINY ].join( "." )
21
+ end
17
22
  #Is raised when an error is found in a specification
18
23
  class ParserError<RuntimeError
19
24
  end
@@ -94,6 +99,7 @@ module Rutema
94
99
  reqs.collect!{|r| r.attributes["name"]}
95
100
  spec.requirements=reqs
96
101
  #Get the scenario
102
+ @logger.debug("Parsing scenario element")
97
103
  spec.scenario=parse_scenario(xmldoc.elements[ELEM_SCENARIO].to_s) if xmldoc.elements[ELEM_SCENARIO]
98
104
  return spec
99
105
  end
@@ -130,11 +136,12 @@ module Rutema
130
136
  add_attribute(step,attr,value)
131
137
  end
132
138
  step.text=xmldoc.root.text.strip if xmldoc.root.text
133
- step.step_type=xmldoc.root.name
139
+ step.step_type=xmldoc.root.name
134
140
  return step
135
141
  end
136
142
 
137
143
  def add_attribute element,attr,value
144
+ @logger.debug("Adding attribute #{attr} with value #{value}")
138
145
  if boolean?(value)
139
146
  element.attribute(attr,eval(value))
140
147
  else
@@ -147,25 +154,33 @@ module Rutema
147
154
  end
148
155
  end
149
156
 
157
+ #MinimalXMLParser offers three runnable steps in the scenarios:
158
+ #
159
+ #echo prints a message on the screen:
160
+ # <echo text="A meaningful message"/>
161
+ # <echo>A meaningful message</echo>
162
+ #command executes a shell command
163
+ # <command cmd="useful_command.exe with parameters", working_directory="some/directory"/>
164
+ #prompt asks the user a yes/no question. Anwerings yes means the step is succesfull.
165
+ # <prompt text="Do you want fries with that?"/>
150
166
  class MinimalXMLParser<BaseXMLParser
151
167
  def parse_specification param
152
- handle_specification(super(param))
153
- end
154
- private
155
- def handle_specification spec
168
+ spec = super(param)
156
169
  spec.scenario.steps.each do |step|
157
170
  case step.step_type
158
171
  when "echo"
159
172
  step.cmd=Patir::RubyCommand.new("echo"){|cmd| cmd.output="#{step.text}";$stdout.puts(cmd.output) ;:success}
160
173
  when "command"
161
- raise ParserError,"missing required attribute cmd in #{step}"
174
+ raise ParserError,"missing required attribute cmd in #{step}" unless step.has_cmd?
162
175
  wd=step.working_directory if step.has_working_directory?
163
176
  step.cmd=Patir::ShellCommand.new(:cmd=>step.cmd,:working_directory=>wd)
164
177
  when "prompt"
178
+ step.attended=true
179
+ spec.scenario.attended=true
165
180
  step.cmd=Patir::RubyCommand.new("prompt") do |cmd|
166
181
  cmd.output=""
167
182
  cmd.error=""
168
- if HighLine.agree("#{step.text}?")
183
+ if HighLine.new.agree("#{step.text}?")
169
184
  :success
170
185
  else
171
186
  :error
@@ -200,13 +215,16 @@ module Rutema
200
215
  #mode can be :all, :attended, :unattended or a test filename
201
216
  def run mode
202
217
  @configuration.context.start_time=Time.now
203
- @logger.info("Run started")
218
+ @logger.info("Run started in mode '#{mode}'")
204
219
  begin
205
220
  case mode
206
221
  when :all
222
+ @runner.attended=true
207
223
  specs=parse_all_specifications
224
+ @logger.debug(specs)
208
225
  run_scenarios(specs)
209
226
  when :attended
227
+ @runner.attended=true
210
228
  specs=parse_all_specifications
211
229
  @logger.debug(specs)
212
230
  run_scenarios(specs.select{|s| s.scenario && s.scenario.attended?})
@@ -216,13 +234,14 @@ module Rutema
216
234
  run_scenarios(specs.select{|s| s.scenario && !s.scenario.attended?})
217
235
  when String
218
236
  spec=parse_specification(mode)
237
+ @logger.debug("Running #{spec}")
219
238
  run_test(spec) if spec
220
239
  else
221
240
  @logger.error("Don't know how to run '#{mode}'")
222
241
  end
223
242
  rescue
224
- @logger.error("Runner error: #{$!.message}")
225
243
  @logger.debug($!)
244
+ @logger.error("Runner error: #{$!.message}")
226
245
  end
227
246
  @configuration.context.end_time=Time.now
228
247
  @logger.info("Run completed in #{@configuration.context.end_time-@configuration.context.start_time}s")
@@ -295,10 +314,17 @@ module Rutema
295
314
  @logger.error(msg)
296
315
  @parse_errors<<{:filename=>filename,:error=>msg}
297
316
  end
298
- return nil
317
+ return spec
299
318
  end
300
319
  def parse_all_specifications
301
- @configuration.tests.collect{|t| parse_specification(t)}.compact
320
+ @configuration.tests.collect do |t|
321
+ begin
322
+ parse_specification(t)
323
+ rescue
324
+ @logger.debug($!)
325
+ @logger.error($!.message)
326
+ end
327
+ end.compact
302
328
  end
303
329
 
304
330
  def run_scenarios specs
@@ -394,7 +420,7 @@ module Rutema
394
420
  @logger.warn("Attended scenario cannot be run in unattended mode")
395
421
  state.status=:warning
396
422
  else
397
- if scenario.attended?a
423
+ if scenario.attended?
398
424
  state.strategy=:attended
399
425
  else
400
426
  state.strategy=:unattended
@@ -420,13 +446,13 @@ module Rutema
420
446
  return state
421
447
  end
422
448
  def run_step step
423
- @logger.info("#{step.to_s}")
449
+ @logger.info(step.to_s)
424
450
  if step.has_cmd? && step.cmd.respond_to?(:run)
425
451
  step.cmd.run
426
452
  else
427
453
  @logger.warn("No command associated with step '#{step.step_type}'")
428
454
  end
429
- msg="#{step.number} - #{step.step_type} - #{step.status}"
455
+ msg=step.to_s
430
456
  # we might not have a command object
431
457
  if step.has_cmd? && step.cmd.executed? && !step.cmd.success?
432
458
  msg<<"\n#{step.cmd.output}" unless step.cmd.output.empty?
@@ -483,7 +509,7 @@ module Rutema
483
509
  opt.on("--config FILE", "-c FILE",String,"Loads the configuration from FILE") { |@config_file|}
484
510
  opt.on("--log FILE", "-l FILE",String,"Redirects the log output to FILE") { |@log_file|}
485
511
  opt.on("--check","Runs just the check test"){@check=true}
486
- opt.on("-V", "--version","Displays the version") { $stdout.puts("v#{VERSION_MAJOR}.#{VERSION_MINOR}");exit 0 }
512
+ opt.on("-v", "--version","Displays the version") { $stdout.puts("v#{Version::STRING}");exit 0 }
487
513
  opt.on("--help", "-h", "-?", "This text") { $stdout.puts opt; exit 0 }
488
514
  opt.on("The commands are:")
489
515
  opt.on("\tall - Runs all tests")
@@ -507,7 +533,7 @@ module Rutema
507
533
  if File.exists?(command)
508
534
  @mode=command
509
535
  else
510
- $stderr.puts "Can't find '#{command}'. Don't know what to do with it."
536
+ $stderr.puts "Can't find '#{command}' and it does not match any known commands. Don't know what to do with it."
511
537
  exit 1
512
538
  end
513
539
  end
@@ -12,6 +12,7 @@ Camping.goes :RutemaWeb
12
12
 
13
13
  #This is the module containing the Camping views and controllers for the web interface to rutema
14
14
  module RutemaWeb
15
+ HTDOCS=File.expand_path(File.join(File.dirname(__FILE__),"htdocs"))
15
16
  #The rutema web interface controllers
16
17
  module RutemaWeb::Controllers
17
18
  #This is the main controller
@@ -56,6 +57,16 @@ module RutemaWeb
56
57
  end
57
58
  end
58
59
  end
60
+
61
+ class StyleSheetsAndImages < R '/(.*[css|jpg|png|gif])'
62
+ def get name
63
+ @headers['Content-Type'] = "image/jpg" if name=~/$jpg/
64
+ @headers['Content-Type'] = "image/png" if name=~/$png/
65
+ @headers['Content-Type'] = "image/gif" if name=~/$gif/
66
+ @headers['Content-Type'] = "text/css" if name=~/$css/
67
+ @headers['X-Sendfile'] = File.join(RutemaWeb::HTDOCS,name)
68
+ end
69
+ end
59
70
  end
60
71
  module RutemaWeb::Views
61
72
  #Time format to use for the start and stop times
@@ -96,7 +107,7 @@ module RutemaWeb
96
107
  div.bodytext(:style=>"padding:12px;", :align=>"justify"){self<<yield}
97
108
  end
98
109
  leftpanel
99
- footer
110
+ div.footer!(:class=>"smallgraytext") {"&copy; 2007 Vassilis Rizopoulos"}
100
111
  end
101
112
  end
102
113
  end
@@ -105,7 +116,8 @@ module RutemaWeb
105
116
 
106
117
  #Start point: No rendering content
107
118
  def start
108
-
119
+ p{"This is the rutema web interface.<br/>It allows you to browse the contents of the test results database."}
120
+ p{"Currently you can view the results for each separate run, the results for a specific scenario (a complete list of all steps executed in the scenario with standard and error output logs) or the complete execution history of a scenario."}
109
121
  end
110
122
 
111
123
  #Renders the information for a specific executed scenario
@@ -199,13 +211,6 @@ module RutemaWeb
199
211
  end
200
212
  end
201
213
 
202
- #Just a bit of copyright info as a footer
203
- def footer
204
- div.footer!(:class=>"smallgraytext") do
205
- "&copy; 2007 Vassilis Rizopoulos"
206
- end
207
- end
208
-
209
214
  #will render a hash in a table of key||value rows
210
215
  def context_table context
211
216
  table do
@@ -220,8 +225,8 @@ module RutemaWeb
220
225
  end
221
226
  end
222
227
 
223
- #Starts a WEBRick server with the RutemaWeb controller in /rutema
224
- def start_server (port=3301,docroot=File.join(File.dirname(__FILE__),"htdocs"),mountpoint="/rutema")
228
+ #Starts a WEBRick server with the RutemaWeb controller in /
229
+ def start_server (port=3301,docroot=RutemaWeb::HTDOCS,mountpoint="/")
225
230
  include WEBrick
226
231
  dbfile=ARGV.shift
227
232
  if !dbfile
metadata CHANGED
@@ -1,102 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.1
3
- specification_version: 1
4
2
  name: rutema
5
3
  version: !ruby/object:Gem::Version
6
- version: "0.4"
7
- date: 2007-07-05 00:00:00 +02:00
8
- summary: rutema is a test execution and management framework for heterogeneous testing environments
9
- require_paths:
10
- - lib
11
- email: riva@braveworld.net
12
- homepage:
13
- rubyforge_project: patir
14
- description: "== DESCRIPTION: Rutema provides the basis for building tools that can manage the execution of tests as well as an example implementation as proof-of-concept for the ideas behind it. It's purpose is to provide a set of classes and a framework that will allow testers to specify and execute tests in heterogeneous testing environments. A heterogeneous testing environment would be one where several testing tools are put to use, each with it's own scripts and ways to define tests. Rutema will allow you to combine tools, take care of logging, reporting, archiving of results and formalize execution of automated and manual tests. For more information look at http://patir.rubyforge.org/rutema == FEATURES/PROBLEMS: *"
15
- autorequire:
16
- default_executable: rutemax
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
25
- platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
4
+ version: 0.4.1
5
+ platform: ""
29
6
  authors:
30
7
  - Vassilis Rizopoulos
31
- files:
32
- - History.txt
33
- - Manifest.txt
34
- - README.txt
35
- - COPYING.txt
36
- - Rakefile
37
- - bin/rutemax
38
- - bin/rutemah
39
- - bin/rutemaweb
40
- - lib/rutema/configuration.rb
41
- - lib/rutema/specification.rb
42
- - lib/rutema/system.rb
43
- - lib/rutema/reporter.rb
44
- - lib/rutema/reporter_ar.rb
45
- - lib/rutema/historian.rb
46
- - lib/rutema/model.rb
47
- - lib/rutemaweb/htdocs/bg_menu.gif
48
- - lib/rutemaweb/htdocs/bg_submenu.gif
49
- - lib/rutemaweb/htdocs/run_error.png
50
- - lib/rutemaweb/htdocs/run_ok.png
51
- - lib/rutemaweb/htdocs/run_warn.png
52
- - lib/rutemaweb/htdocs/step_error.png
53
- - lib/rutemaweb/htdocs/step_ok.png
54
- - lib/rutemaweb/htdocs/step_warn.png
55
- - lib/rutemaweb/htdocs/style.css
56
- - lib/rutemaweb/htdocs/tie_logo.gif
57
- - lib/rutemaweb/htdocs/index.html
58
- - lib/rutemaweb/rutemaweb.rb
59
- - test/test_configuration.rb
60
- - test/test_specification.rb
61
- - test/test_system.rb
62
- - test/test_historian.rb
63
- - test/test_reporter.rb
64
- - test/samples/check.spec
65
- - test/samples/setup.spec
66
- - test/samples/teardown.spec
67
- - test/samples/test.spec
68
- - test/samples/tests/no_title.spec
69
- - test/samples/tests/sample.spec
70
- - test/samples/valid_config.rb
71
- - test/samples/rutemah_config.rb
72
- test_files:
73
- - test/test_configuration.rb
74
- - test/test_historian.rb
75
- - test/test_model.rb
76
- - test/test_reporter.rb
77
- - test/test_specification.rb
78
- - test/test_system.rb
79
- rdoc_options:
80
- - --main
81
- - README.txt
82
- extra_rdoc_files:
83
- - History.txt
84
- - Manifest.txt
85
- - README.txt
86
- - COPYING.txt
87
- executables:
88
- - rutemax
89
- - rutemah
90
- - rutemaweb
91
- extensions: []
92
-
93
- requirements: []
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
94
11
 
12
+ date: 2007-12-04 00:00:00 +01:00
13
+ default_executable: rutemax
95
14
  dependencies:
96
15
  - !ruby/object:Gem::Dependency
97
16
  name: patir
98
17
  version_requirement:
99
- version_requirements: !ruby/object:Gem::Version::Requirement
18
+ version_requirements: !ruby/object:Gem::Requirement
100
19
  requirements:
101
20
  - - ">="
102
21
  - !ruby/object:Gem::Version
@@ -105,54 +24,141 @@ dependencies:
105
24
  - !ruby/object:Gem::Dependency
106
25
  name: highline
107
26
  version_requirement:
108
- version_requirements: !ruby/object:Gem::Version::Requirement
27
+ version_requirements: !ruby/object:Gem::Requirement
109
28
  requirements:
110
- - - ">"
29
+ - - ">="
111
30
  - !ruby/object:Gem::Version
112
- version: 0.0.0
31
+ version: "0"
113
32
  version:
114
33
  - !ruby/object:Gem::Dependency
115
34
  name: mailfactory
116
35
  version_requirement:
117
- version_requirements: !ruby/object:Gem::Version::Requirement
36
+ version_requirements: !ruby/object:Gem::Requirement
118
37
  requirements:
119
- - - ">"
38
+ - - ">="
120
39
  - !ruby/object:Gem::Version
121
- version: 0.0.0
40
+ version: "0"
122
41
  version:
123
42
  - !ruby/object:Gem::Dependency
124
43
  name: activerecord
125
44
  version_requirement:
126
- version_requirements: !ruby/object:Gem::Version::Requirement
45
+ version_requirements: !ruby/object:Gem::Requirement
127
46
  requirements:
128
- - - ">"
47
+ - - ">="
129
48
  - !ruby/object:Gem::Version
130
- version: 0.0.0
49
+ version: "0"
131
50
  version:
132
51
  - !ruby/object:Gem::Dependency
133
52
  name: ruport
134
53
  version_requirement:
135
- version_requirements: !ruby/object:Gem::Version::Requirement
54
+ version_requirements: !ruby/object:Gem::Requirement
136
55
  requirements:
137
- - - ">"
56
+ - - ">="
138
57
  - !ruby/object:Gem::Version
139
- version: 0.0.0
58
+ version: "0"
140
59
  version:
141
60
  - !ruby/object:Gem::Dependency
142
61
  name: camping
143
62
  version_requirement:
144
- version_requirements: !ruby/object:Gem::Version::Requirement
63
+ version_requirements: !ruby/object:Gem::Requirement
145
64
  requirements:
146
- - - ">"
65
+ - - ">="
147
66
  - !ruby/object:Gem::Version
148
- version: 0.0.0
67
+ version: "0"
149
68
  version:
150
69
  - !ruby/object:Gem::Dependency
151
70
  name: hoe
152
71
  version_requirement:
153
- version_requirements: !ruby/object:Gem::Version::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
154
73
  requirements:
155
74
  - - ">="
156
75
  - !ruby/object:Gem::Version
157
- version: 1.2.1
76
+ version: 1.3.0
158
77
  version:
78
+ description: "== DESCRIPTION: Rutema provides the basis for building tools that can manage the execution of tests as well as an example implementation as proof-of-concept for the ideas behind it. It's purpose is to provide a set of classes and a framework that will allow testers to specify and execute tests in heterogeneous testing environments. A heterogeneous testing environment would be one where several testing tools are put to use, each with it's own scripts and ways to define tests. Rutema will allow you to combine tools, take care of logging, reporting, archiving of results and formalize execution of automated and manual tests. For more information look at http://patir.rubyforge.org/rutema == FEATURES/PROBLEMS: *"
79
+ email: riva@braveworld.net
80
+ executables:
81
+ - rutemax
82
+ - rutemah
83
+ - rutemaweb
84
+ extensions: []
85
+
86
+ extra_rdoc_files:
87
+ - History.txt
88
+ - Manifest.txt
89
+ - README.txt
90
+ - COPYING.txt
91
+ files:
92
+ - History.txt
93
+ - Manifest.txt
94
+ - README.txt
95
+ - COPYING.txt
96
+ - Rakefile
97
+ - bin/rutemax
98
+ - bin/rutemah
99
+ - bin/rutemaweb
100
+ - lib/rutema/configuration.rb
101
+ - lib/rutema/specification.rb
102
+ - lib/rutema/system.rb
103
+ - lib/rutema/reporter.rb
104
+ - lib/rutema/reporter_ar.rb
105
+ - lib/rutema/historian.rb
106
+ - lib/rutema/model.rb
107
+ - lib/rutemaweb/htdocs/bg_menu.gif
108
+ - lib/rutemaweb/htdocs/bg_submenu.gif
109
+ - lib/rutemaweb/htdocs/run_error.png
110
+ - lib/rutemaweb/htdocs/run_ok.png
111
+ - lib/rutemaweb/htdocs/run_warn.png
112
+ - lib/rutemaweb/htdocs/step_error.png
113
+ - lib/rutemaweb/htdocs/step_ok.png
114
+ - lib/rutemaweb/htdocs/step_warn.png
115
+ - lib/rutemaweb/htdocs/style.css
116
+ - lib/rutemaweb/htdocs/tie_logo.gif
117
+ - lib/rutemaweb/rutemaweb.rb
118
+ - test/test_configuration.rb
119
+ - test/test_specification.rb
120
+ - test/test_system.rb
121
+ - test/test_historian.rb
122
+ - test/test_reporter.rb
123
+ - test/samples/check.spec
124
+ - test/samples/setup.spec
125
+ - test/samples/teardown.spec
126
+ - test/samples/test.spec
127
+ - test/samples/tests/no_title.spec
128
+ - test/samples/tests/sample.spec
129
+ - test/samples/valid_config.rb
130
+ - test/samples/rutemah_config.rb
131
+ has_rdoc: true
132
+ homepage:
133
+ post_install_message:
134
+ rdoc_options:
135
+ - --main
136
+ - README.txt
137
+ require_paths:
138
+ - lib
139
+ required_ruby_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: "0"
144
+ version:
145
+ required_rubygems_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: "0"
150
+ version:
151
+ requirements: []
152
+
153
+ rubyforge_project: patir
154
+ rubygems_version: 0.9.5
155
+ signing_key:
156
+ specification_version: 2
157
+ summary: rutema is a test execution and management framework for heterogeneous testing environments
158
+ test_files:
159
+ - test/test_configuration.rb
160
+ - test/test_historian.rb
161
+ - test/test_model.rb
162
+ - test/test_reporter.rb
163
+ - test/test_specification.rb
164
+ - test/test_system.rb
@@ -1,50 +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 xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta name="author" content="Vassilis Rizopoulos" />
5
- <meta http-equiv="Content-Type" content="text/html; charset=UTF8" />
6
- <link rel="stylesheet" href="style.css" type="text/css" />
7
- <title>Rutema Historian Web Interface</title>
8
- </head>
9
- <body>
10
- <div id="page" align="center">
11
- <div id="content" style="width:800px">
12
- <div id="logo">
13
- <div style="margin-top:70px" class="whitetitle">rutema</div>
14
- </div>
15
- <div id="topheader">
16
- <div align="left" class="bodytext">
17
- <br />
18
- </div>
19
- </div>
20
- <div id="menu">
21
- </div>
22
- <div id="submenu">
23
- <div align="right" class="smallgraytext" style="padding:9px;">
24
- <!-- <a href="../index.html">patir</a> | <a href="index.html">rutema</a> | <a href="rdoc/index.html">rdoc</a> -->
25
- </div>
26
- </div>
27
- <div id="contenttext">
28
- <div style="padding:10px">
29
- <span class="titletext">Intro</span>
30
- </div>
31
- <div class="bodytext" style="padding:12px;" align="justify">
32
- <p>This is the rutema web interface.<br />
33
- It allows you to browse the contents of the test results database.
34
- </p>
35
- <p>Currently you can view the results for each separate run, the results for a specific scenario (a complete list of all steps executed in the scenario with standard and error output logs) or the complete execution history of a scenario.</p>
36
- </div>
37
- </div>
38
- <div id="leftpanel">
39
- <div align="justify" class="graypanel">
40
- <span class="bodytext"><a href="/rutema" class="smallgraytext">Run overview</a></span><br /><br />
41
- <span class="bodytext"><a href="/rutema?scenarios=all" class="smallgraytext">Scenario overview</a></span><br /><br />
42
- </div>
43
- </div>
44
- <div id="footer" class="smallgraytext">
45
- <a href="/index.html">Home</a> | &copy; 2007 Vassilis Rizopoulos</a>
46
- </div>
47
- </div>
48
- </div>
49
- </body>
50
- </html>