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 +10 -1
- data/Manifest.txt +0 -1
- data/Rakefile +1 -1
- data/lib/rutema/model.rb +1 -0
- data/lib/rutema/reporter.rb +1 -1
- data/lib/rutema/specification.rb +8 -2
- data/lib/rutema/system.rb +44 -18
- data/lib/rutemaweb/rutemaweb.rb +16 -11
- metadata +112 -106
- data/lib/rutemaweb/htdocs/index.html +0 -50
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
|
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::
|
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
data/lib/rutema/reporter.rb
CHANGED
@@ -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
|
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
|
data/lib/rutema/specification.rb
CHANGED
@@ -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
|
-
|
16
|
-
|
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
|
-
|
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
|
317
|
+
return spec
|
299
318
|
end
|
300
319
|
def parse_all_specifications
|
301
|
-
@configuration.tests.collect
|
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?
|
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(
|
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=
|
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("-
|
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
|
data/lib/rutemaweb/rutemaweb.rb
CHANGED
@@ -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") {"© 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
|
-
"© 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 /
|
224
|
-
def start_server (port=3301,docroot=
|
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:
|
7
|
-
|
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
|
-
|
32
|
-
|
33
|
-
|
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::
|
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::
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
28
|
requirements:
|
110
|
-
- - "
|
29
|
+
- - ">="
|
111
30
|
- !ruby/object:Gem::Version
|
112
|
-
version: 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::
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
118
37
|
requirements:
|
119
|
-
- - "
|
38
|
+
- - ">="
|
120
39
|
- !ruby/object:Gem::Version
|
121
|
-
version: 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::
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
46
|
requirements:
|
128
|
-
- - "
|
47
|
+
- - ">="
|
129
48
|
- !ruby/object:Gem::Version
|
130
|
-
version: 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::
|
54
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
55
|
requirements:
|
137
|
-
- - "
|
56
|
+
- - ">="
|
138
57
|
- !ruby/object:Gem::Version
|
139
|
-
version: 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::
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
145
64
|
requirements:
|
146
|
-
- - "
|
65
|
+
- - ">="
|
147
66
|
- !ruby/object:Gem::Version
|
148
|
-
version: 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::
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
154
73
|
requirements:
|
155
74
|
- - ">="
|
156
75
|
- !ruby/object:Gem::Version
|
157
|
-
version: 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> | © 2007 Vassilis Rizopoulos</a>
|
46
|
-
</div>
|
47
|
-
</div>
|
48
|
-
</div>
|
49
|
-
</body>
|
50
|
-
</html>
|