rutema 2.0.2 → 2.0.3
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 +4 -1
- data/lib/rutema/core/configuration.rb +1 -2
- data/lib/rutema/core/engine.rb +1 -0
- data/lib/rutema/core/objectmodel.rb +15 -9
- data/lib/rutema/core/parser.rb +1 -2
- data/lib/rutema/core/reporter.rb +4 -8
- data/lib/rutema/core/runner.rb +6 -4
- data/lib/rutema/parsers/xml.rb +1 -0
- data/lib/rutema/version.rb +1 -1
- metadata +10 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 96a5b7b6f8f16a37b94cf0ee1a209f6822651c0c951724e61eca0d71bca57528
|
|
4
|
+
data.tar.gz: 2aa98932712a8795e5c210d032698534361d022f936cd01979f65f91440b99bd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 22d62da7dd41d77e111e895e82f2b69c2adeb7c826fab75c9782fff4b2c2e544419f18e2c57b80c51361b45c16fe3760e1b03efee82d8bea85af8501cae72ff9
|
|
7
|
+
data.tar.gz: c7161fa3f9cecb45390595cf9e23b8208f94887619313a250337aeea3e59e353ef9ca21fdf3e6c513b1293c09292f61466675c66113ff28a7e0953fba16430a1
|
data/History.txt
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
== 2.0.3 /2026-09-23
|
|
2
|
+
* Updated gem dependencies (highline -> ~3.1)
|
|
3
|
+
* New rubocop version adds lint warnings - cleaned update
|
|
1
4
|
== 2.0.2 /2026-03-26
|
|
2
5
|
* Modernize the code base. Code style updated, gem versions updated, ruby 3.x and 4.x deprecations handled
|
|
3
|
-
== 2.0.1/2026-03-02
|
|
6
|
+
== 2.0.1 /2026-03-02
|
|
4
7
|
* Release the 10 year old changes that fix handling of execution context within steps
|
|
5
8
|
== 2.0.0 /2017-09-23
|
|
6
9
|
* Parsing behaviour has changed, parsing errors are not accepted and the run fails immediately
|
|
@@ -381,9 +381,8 @@ module Rutema
|
|
|
381
381
|
fname = File.basename(filename)
|
|
382
382
|
# evaluate in the working directory to enable relative paths in
|
|
383
383
|
# configuration
|
|
384
|
-
# rubocop:disable Security/Eval
|
|
384
|
+
# rubocop:disable-next Security/Eval
|
|
385
385
|
Dir.chdir(cwd) { eval(cfg_txt, binding, fname, __LINE__) }
|
|
386
|
-
# rubocop:enable Security/Eval
|
|
387
386
|
rescue ConfigurationException
|
|
388
387
|
# pass it on, do not wrap again
|
|
389
388
|
raise
|
data/lib/rutema/core/engine.rb
CHANGED
|
@@ -280,16 +280,22 @@ module Rutema
|
|
|
280
280
|
end
|
|
281
281
|
end
|
|
282
282
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
283
|
+
# rubocop:disable-next Style/OneClassPerFile
|
|
284
|
+
# Class functionality extensions - ye old good monkey patch
|
|
285
|
+
module Patir
|
|
286
|
+
# Decorates the class with a to_s
|
|
287
|
+
class ShellCommand
|
|
288
|
+
# :nodoc:
|
|
289
|
+
def to_s
|
|
290
|
+
return @command
|
|
291
|
+
end
|
|
287
292
|
end
|
|
288
|
-
end
|
|
289
293
|
|
|
290
|
-
class
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
+
# Decorates the class with a to_s
|
|
295
|
+
class RubyCommand
|
|
296
|
+
# :nodoc:
|
|
297
|
+
def to_s
|
|
298
|
+
return @name
|
|
299
|
+
end
|
|
294
300
|
end
|
|
295
301
|
end
|
data/lib/rutema/core/parser.rb
CHANGED
data/lib/rutema/core/reporter.rb
CHANGED
|
@@ -30,8 +30,7 @@ module Rutema
|
|
|
30
30
|
|
|
31
31
|
##
|
|
32
32
|
#
|
|
33
|
-
def report(specifications, states, errors)
|
|
34
|
-
end
|
|
33
|
+
def report(specifications, states, errors); end
|
|
35
34
|
end
|
|
36
35
|
|
|
37
36
|
##
|
|
@@ -57,8 +56,7 @@ module Rutema
|
|
|
57
56
|
end
|
|
58
57
|
end
|
|
59
58
|
|
|
60
|
-
def update(data)
|
|
61
|
-
end
|
|
59
|
+
def update(data); end
|
|
62
60
|
|
|
63
61
|
def exit
|
|
64
62
|
puts "Exiting #{self.class}" if $DEBUG
|
|
@@ -139,7 +137,7 @@ module Rutema
|
|
|
139
137
|
@silent = configuration.reporters.fetch(self.class, {})["silent"]
|
|
140
138
|
end
|
|
141
139
|
|
|
142
|
-
# rubocop:disable Metrics/CyclomaticComplexity
|
|
140
|
+
# rubocop:disable-next Metrics/CyclomaticComplexity
|
|
143
141
|
def report(specs, states, errors)
|
|
144
142
|
failures = []
|
|
145
143
|
states.each_value { |v| failures << v.test if v.status == :error }
|
|
@@ -154,11 +152,10 @@ module Rutema
|
|
|
154
152
|
end
|
|
155
153
|
return failures.size + errors.size
|
|
156
154
|
end
|
|
157
|
-
# rubocop:enable Metrics/CyclomaticComplexity
|
|
158
155
|
end
|
|
159
156
|
end
|
|
160
157
|
|
|
161
|
-
# rubocop:disable Style/Documentation
|
|
158
|
+
# rubocop:disable-next Style/Documentation
|
|
162
159
|
module Utilities
|
|
163
160
|
require "fileutils"
|
|
164
161
|
def self.write_file(filename, content)
|
|
@@ -166,5 +163,4 @@ module Rutema
|
|
|
166
163
|
File.binwrite(filename, content)
|
|
167
164
|
end
|
|
168
165
|
end
|
|
169
|
-
# rubocop:enable Style/Documentation
|
|
170
166
|
end
|
data/lib/rutema/core/runner.rb
CHANGED
|
@@ -20,6 +20,8 @@ module Rutema
|
|
|
20
20
|
@cleanup_blocks = []
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
+
# rubocop:disable-next Metrics/AbcSize
|
|
24
|
+
# rubocop:disable-next Style/OptionalBooleanParameter
|
|
23
25
|
def run(spec, is_special = false)
|
|
24
26
|
@context["spec_name"] = spec.name
|
|
25
27
|
steps = []
|
|
@@ -82,7 +84,9 @@ module Rutema
|
|
|
82
84
|
@cleanup_blocks = []
|
|
83
85
|
end
|
|
84
86
|
|
|
85
|
-
# rubocop:disable Metrics/CyclomaticComplexity
|
|
87
|
+
# rubocop:disable-next Metrics/CyclomaticComplexity
|
|
88
|
+
# rubocop:disable-next Metrics/PerceivedComplexity
|
|
89
|
+
# rubocop:disable-next Metrics/AbcSize
|
|
86
90
|
def run_scenario(name, scenario, meta, is_special)
|
|
87
91
|
executed_steps = []
|
|
88
92
|
status = :skipped
|
|
@@ -109,7 +113,6 @@ module Rutema
|
|
|
109
113
|
end
|
|
110
114
|
return executed_steps, status
|
|
111
115
|
end
|
|
112
|
-
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
|
113
116
|
|
|
114
117
|
def next_step(step_spec, test_name, meta, test_is_special)
|
|
115
118
|
message(
|
|
@@ -120,11 +123,10 @@ module Rutema
|
|
|
120
123
|
begin
|
|
121
124
|
cache_cleanup(step_spec)
|
|
122
125
|
executed_step = run_step(step_spec, meta)
|
|
123
|
-
# rubocop:disable Lint/RescueException
|
|
126
|
+
# rubocop:disable-next Lint/RescueException
|
|
124
127
|
rescue Exception => e
|
|
125
128
|
throw e unless step_spec.continue?
|
|
126
129
|
step_spec.status = :error
|
|
127
|
-
# rubocop:enable Lint/RescueException
|
|
128
130
|
end
|
|
129
131
|
message(
|
|
130
132
|
:test => test_name, :text => step_spec.to_s, "number" => step_spec.number,
|
data/lib/rutema/parsers/xml.rb
CHANGED
|
@@ -106,6 +106,7 @@ module Rutema
|
|
|
106
106
|
raise Rutema::ParserError, "missing #{ELEM_TITLE} element in #{xmldoc}" unless xmldoc.elements[ELEM_TITLE]
|
|
107
107
|
end
|
|
108
108
|
|
|
109
|
+
# rubocop:disable-next Metrics/AbcSize
|
|
109
110
|
# Parses the 'scenario' XML element and returns the Rutema::Scenario instance
|
|
110
111
|
def parse_scenario(xmltxt)
|
|
111
112
|
scenario = Rutema::Scenario.new([])
|
data/lib/rutema/version.rb
CHANGED
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.
|
|
4
|
+
version: 2.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vassilis Rizopoulos
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-09-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: patir
|
|
@@ -30,48 +30,48 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '3.1'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
40
|
+
version: '3.1'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: rdoc
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '7.0'
|
|
48
48
|
- - "<"
|
|
49
49
|
- !ruby/object:Gem::Version
|
|
50
|
-
version: '
|
|
50
|
+
version: '9'
|
|
51
51
|
type: :development
|
|
52
52
|
prerelease: false
|
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
54
54
|
requirements:
|
|
55
55
|
- - ">="
|
|
56
56
|
- !ruby/object:Gem::Version
|
|
57
|
-
version: '
|
|
57
|
+
version: '7.0'
|
|
58
58
|
- - "<"
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '
|
|
60
|
+
version: '9'
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
62
|
name: hoe
|
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '4.
|
|
67
|
+
version: '4.7'
|
|
68
68
|
type: :development
|
|
69
69
|
prerelease: false
|
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - "~>"
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '4.
|
|
74
|
+
version: '4.7'
|
|
75
75
|
description: |
|
|
76
76
|
rutema is a test execution tool and a framework for organizing and managing test execution across different tools.
|
|
77
77
|
It enables the combination of different test tools while it takes care of logging, reporting, archiving of results and formalizes execution of automated and manual tests.
|
|
@@ -83,7 +83,6 @@ executables:
|
|
|
83
83
|
extensions: []
|
|
84
84
|
extra_rdoc_files:
|
|
85
85
|
- History.txt
|
|
86
|
-
- Manifest.txt
|
|
87
86
|
- README.md
|
|
88
87
|
files:
|
|
89
88
|
- History.txt
|