rutema 2.0.0.pre5 → 2.0.0.pre6
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.
- checksums.yaml +4 -4
- data/History.txt +220 -213
- data/Manifest.txt +17 -18
- data/README.md +55 -55
- data/bin/rutema +7 -7
- data/lib/rutema/application.rb +61 -60
- data/lib/rutema/core/configuration.rb +207 -194
- data/lib/rutema/core/engine.rb +192 -185
- data/lib/rutema/core/framework.rb +88 -27
- data/lib/rutema/core/objectmodel.rb +0 -0
- data/lib/rutema/core/parser.rb +34 -34
- data/lib/rutema/core/reporter.rb +133 -129
- data/lib/rutema/core/runner.rb +93 -83
- data/lib/rutema/elements/minimal.rb +47 -47
- data/lib/rutema/parsers/xml.rb +156 -154
- data/lib/rutema/reporters/json.rb +34 -34
- data/lib/rutema/reporters/junit.rb +101 -97
- data/lib/rutema/version.rb +8 -8
- metadata +5 -7
- data/.gemtest +0 -0
- data/lib/rutema/reporters/nunit.rb +0 -103
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rutema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.pre6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vassilis Rizopoulos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: patir
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '3.
|
61
|
+
version: '3.14'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '3.
|
68
|
+
version: '3.14'
|
69
69
|
description: "rutema [http://github.com/damphyr/rutema](http://github.com/damphyr/rutema)\n\nrutema
|
70
70
|
is a test execution tool and a framework for organizing and managing test execution
|
71
71
|
across different tools.\n\nIt enables the combination of different test tools while
|
@@ -83,7 +83,6 @@ extra_rdoc_files:
|
|
83
83
|
- Manifest.txt
|
84
84
|
- README.md
|
85
85
|
files:
|
86
|
-
- ".gemtest"
|
87
86
|
- History.txt
|
88
87
|
- Manifest.txt
|
89
88
|
- README.md
|
@@ -100,7 +99,6 @@ files:
|
|
100
99
|
- lib/rutema/parsers/xml.rb
|
101
100
|
- lib/rutema/reporters/json.rb
|
102
101
|
- lib/rutema/reporters/junit.rb
|
103
|
-
- lib/rutema/reporters/nunit.rb
|
104
102
|
- lib/rutema/version.rb
|
105
103
|
homepage: http://github.com/damphyr/rutema
|
106
104
|
licenses:
|
@@ -124,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
124
122
|
version: 1.3.1
|
125
123
|
requirements: []
|
126
124
|
rubyforge_project:
|
127
|
-
rubygems_version: 2.
|
125
|
+
rubygems_version: 2.5.1
|
128
126
|
signing_key:
|
129
127
|
specification_version: 4
|
130
128
|
summary: rutema is a test execution and management framework for heterogeneous testing
|
data/.gemtest
DELETED
File without changes
|
@@ -1,103 +0,0 @@
|
|
1
|
-
# Copyright (c) 2015 Vassilis Rizopoulos. All rights reserved.
|
2
|
-
require 'rexml/document'
|
3
|
-
require_relative "../core/reporter"
|
4
|
-
|
5
|
-
module Rutema
|
6
|
-
module Reporters
|
7
|
-
#This reporter generates an NUnit style XML result file based on http://nunit.org/files/testresult_30.txt
|
8
|
-
#
|
9
|
-
#Be careful, most of the CI plugins do not understand this NUnit format.
|
10
|
-
#
|
11
|
-
#The following configuration keys are used by Rutema::Reporters::NUnit
|
12
|
-
#
|
13
|
-
# filename - the filename to use when saving the report. Default is 'rutema.results.nunit.xml'
|
14
|
-
#
|
15
|
-
#Example configuration:
|
16
|
-
#
|
17
|
-
# require "rutema/reporters/nunit"
|
18
|
-
# cfg.reporter={:class=>Rutema::Reporters::NUnit,"filename"=>"rutema.nunit.xml"}
|
19
|
-
class NUnit<BlockReporter
|
20
|
-
DEFAULT_FILENAME="rutema.results.nunit.xml"
|
21
|
-
|
22
|
-
def initialize configuration,dispatcher
|
23
|
-
super(configuration,dispatcher)
|
24
|
-
@filename=configuration.reporters.fetch(self.class,{}).fetch("filename",DEFAULT_FILENAME)
|
25
|
-
end
|
26
|
-
#We get all the data from a test run in here.
|
27
|
-
def report specs,states,errors
|
28
|
-
tests=[]
|
29
|
-
run_status=:success
|
30
|
-
number_of_failed=0
|
31
|
-
states.each do |k,v|
|
32
|
-
tests<<test_case(k,v)
|
33
|
-
number_of_failed+=1 if v['status']!=:success
|
34
|
-
end
|
35
|
-
|
36
|
-
run_status=:error if number_of_failed>0
|
37
|
-
failures=errors.map{|error| failure("In #{error[:test]}\n#{error[:error]}")}
|
38
|
-
run_status=:error unless failures.empty?
|
39
|
-
|
40
|
-
attributes={"name"=>@configuration.context["config_name"],
|
41
|
-
"fullname"=>@configuration.context["config_file"],
|
42
|
-
"testcasecount"=>specs.size,
|
43
|
-
"result"=>nunit_result(run_status),
|
44
|
-
"total"=>specs.size,
|
45
|
-
"passed"=>specs.size-number_of_failed-failures.size,
|
46
|
-
"failed"=>number_of_failed,
|
47
|
-
"skipped"=>failures.size
|
48
|
-
}
|
49
|
-
#<test-run id="" name="" fullname="" testcasecount=""
|
50
|
-
#result="" time="" run-date="YYYY-MM-DD" start-time="HH:MM:SS">
|
51
|
-
#total="18" passed="12" failed="2" inconclusive="1" skipped="3"
|
52
|
-
element_run=REXML::Element.new("test-run")
|
53
|
-
element_run.add_attributes(attributes)
|
54
|
-
|
55
|
-
#<test-suite type="rutema" id="" name="" fullname="" testcasecount="" result="" time="">
|
56
|
-
#<failure>
|
57
|
-
# <message></message>
|
58
|
-
#</failure>
|
59
|
-
element_suite=REXML::Element.new("test-suite")
|
60
|
-
element_suite.add_attributes(attributes)
|
61
|
-
|
62
|
-
failures.each{|t| element_suite.add_element(t)}
|
63
|
-
tests.each{|t| element_suite.add_element(t)}
|
64
|
-
element_run.add_element(element_suite)
|
65
|
-
xmldoc=REXML::Document.new
|
66
|
-
xmldoc<<REXML::XMLDecl.new
|
67
|
-
xmldoc.add_element(element_run)
|
68
|
-
|
69
|
-
Rutema::Utilities.write_file(@filename,xmldoc.to_s)
|
70
|
-
end
|
71
|
-
private
|
72
|
-
def test_case name,state
|
73
|
-
#<test-case id="" name="" result="" time="">
|
74
|
-
#<failure>
|
75
|
-
# <message></message>
|
76
|
-
#</failure>
|
77
|
-
#</test-case>
|
78
|
-
element_test=REXML::Element.new("test-case")
|
79
|
-
element_test.add_attributes( "id"=>name,"name"=>name,"result"=>nunit_result(state['status']),"time"=>state["duration"])
|
80
|
-
if state['status']!=:success
|
81
|
-
msg="Step #{state["steps"].last["number"]} failed."
|
82
|
-
msg<<"\nOut:\n#{state["steps"].last["out"]}" unless state["steps"].last["out"].empty?
|
83
|
-
msg<<"\nErr:\n#{state["steps"].last["err"]}"
|
84
|
-
element_test.add_element(failure(msg))
|
85
|
-
end
|
86
|
-
return element_test
|
87
|
-
end
|
88
|
-
|
89
|
-
def nunit_result status
|
90
|
-
return "Passed" unless status!=:success
|
91
|
-
return "Failed"
|
92
|
-
end
|
93
|
-
|
94
|
-
def failure message
|
95
|
-
failed=REXML::Element.new("failure")
|
96
|
-
msg=REXML::Element.new("message")
|
97
|
-
msg.text=message
|
98
|
-
failed.add_element(msg)
|
99
|
-
return failed
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|