atp 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/version.rb +1 -1
- data/lib/atp.rb +1 -0
- data/lib/atp/ast/builder.rb +4 -10
- data/lib/atp/ast/factories.rb +1 -0
- data/lib/atp/flow.rb +5 -0
- data/lib/atp/processors/flow_id.rb +28 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1cae637faa5b243ed37ff8255c7964bc7a02d82a
|
4
|
+
data.tar.gz: 8144fe3263ea7b626c7097156a9014783ceecac3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40be54c02cb2b5359587c251ca16efe61fc33b79cf58465919af30aa871fff53f012c801a0317505e35bebdda18cce45b5f2382c272a9826024eb3cbc7e68524
|
7
|
+
data.tar.gz: 60cede7df8662ae64bcff7c46458ab9326b9e500caf2f496fd2ab15bdc79c41ce5ea2f78fe8c89e7b8ac1ea30116d2dcf8def6bc45354a4a60c7e6969955d22f
|
data/config/version.rb
CHANGED
data/lib/atp.rb
CHANGED
@@ -27,6 +27,7 @@ module ATP
|
|
27
27
|
autoload :PostCleaner, 'atp/processors/post_cleaner'
|
28
28
|
autoload :Marshal, 'atp/processors/marshal'
|
29
29
|
autoload :AddIDs, 'atp/processors/add_ids'
|
30
|
+
autoload :FlowID, 'atp/processors/flow_id'
|
30
31
|
end
|
31
32
|
|
32
33
|
# Summarizers extract summary data from the given AST
|
data/lib/atp/ast/builder.rb
CHANGED
@@ -4,7 +4,7 @@ module ATP
|
|
4
4
|
include Factories
|
5
5
|
|
6
6
|
attr_reader :context
|
7
|
-
attr_accessor :source_file, :source_line_number
|
7
|
+
attr_accessor :source_file, :source_line_number, :description
|
8
8
|
|
9
9
|
def flow
|
10
10
|
n0(:flow)
|
@@ -27,10 +27,6 @@ module ATP
|
|
27
27
|
n(:render, str.to_s)
|
28
28
|
end
|
29
29
|
|
30
|
-
def description(str)
|
31
|
-
n(:description, str.to_s)
|
32
|
-
end
|
33
|
-
|
34
30
|
def id(symbol)
|
35
31
|
n(:id, symbol.to_sym)
|
36
32
|
end
|
@@ -184,8 +180,6 @@ module ATP
|
|
184
180
|
if n = (options[:number] || options[:num] || options[:tnum] || options[:test_number])
|
185
181
|
children << number(n)
|
186
182
|
end
|
187
|
-
d = options[:description] || options[:desc]
|
188
|
-
children << description(d) if d
|
189
183
|
children << id(options[:id].to_s.downcase.to_sym) if options[:id]
|
190
184
|
|
191
185
|
children << on_fail(options[:on_fail]) if options[:on_fail]
|
@@ -203,7 +197,7 @@ module ATP
|
|
203
197
|
def on_fail(options = {})
|
204
198
|
children = []
|
205
199
|
if options[:bin] || options[:softbin]
|
206
|
-
children << set_result(:fail, bin: options[:bin], softbin: options[:softbin],
|
200
|
+
children << set_result(:fail, bin: options[:bin], softbin: options[:softbin], bin_description: options[:bin_description])
|
207
201
|
end
|
208
202
|
children << continue if options[:continue]
|
209
203
|
n(:on_fail, *children)
|
@@ -212,7 +206,7 @@ module ATP
|
|
212
206
|
def on_pass(options = {})
|
213
207
|
children = []
|
214
208
|
if options[:bin] || options[:softbin]
|
215
|
-
children << set_result(:pass, bin: options[:bin], softbin: options[:softbin],
|
209
|
+
children << set_result(:pass, bin: options[:bin], softbin: options[:softbin], bin_description: options[:bin_description])
|
216
210
|
end
|
217
211
|
children << continue if options[:continue]
|
218
212
|
n(:on_pass, *children)
|
@@ -223,7 +217,7 @@ module ATP
|
|
223
217
|
children << type
|
224
218
|
children << n(:bin, options[:bin]) if options[:bin]
|
225
219
|
children << n(:softbin, options[:softbin]) if options[:softbin]
|
226
|
-
children << n(:
|
220
|
+
children << n(:bin_description, options[:bin_description]) if options[:bin_description]
|
227
221
|
result = n(:set_result, *children)
|
228
222
|
|
229
223
|
if options[:conditions]
|
data/lib/atp/ast/factories.rb
CHANGED
@@ -5,6 +5,7 @@ module ATP
|
|
5
5
|
options = children.last.is_a?(Hash) ? children.pop : {}
|
6
6
|
options[:file] ||= options.delete(:source_file) || try(:source_file)
|
7
7
|
options[:line_number] ||= options.delete(:source_line_number) || try(:source_line_number)
|
8
|
+
options[:description] ||= options.delete(:description) || try(:description)
|
8
9
|
ATP::AST::Node.new(type, children, options)
|
9
10
|
end
|
10
11
|
|
data/lib/atp/flow.rb
CHANGED
@@ -5,6 +5,7 @@ module ATP
|
|
5
5
|
attr_reader :program, :name
|
6
6
|
# Returns the raw AST
|
7
7
|
attr_reader :raw
|
8
|
+
attr_accessor :id
|
8
9
|
|
9
10
|
def initialize(program, name = nil)
|
10
11
|
@program = program
|
@@ -26,6 +27,9 @@ module ATP
|
|
26
27
|
# used to build and represent the given test flow
|
27
28
|
def ast
|
28
29
|
ast = Processors::PreCleaner.new.process(raw)
|
30
|
+
# File.open("a1.txt", "w") { |f| f.write(ast) }
|
31
|
+
ast = Processors::FlowID.new.run(ast, id) if id
|
32
|
+
# File.open("a2.txt", "w") { |f| f.write(ast) }
|
29
33
|
Validators::DuplicateIDs.new(self).process(ast)
|
30
34
|
Validators::MissingIDs.new(self).process(ast)
|
31
35
|
ast = Processors::Condition.new.process(ast)
|
@@ -258,6 +262,7 @@ module ATP
|
|
258
262
|
def extract_meta!(options)
|
259
263
|
builder.source_file = options.delete(:source_file) if options[:source_file]
|
260
264
|
builder.source_line_number = options.delete(:source_line_number) if options[:source_line_number]
|
265
|
+
builder.description = options.delete(:description) if options[:description]
|
261
266
|
end
|
262
267
|
|
263
268
|
# For testing
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module ATP
|
2
|
+
module Processors
|
3
|
+
# Adds the flow ID to all ids and label names
|
4
|
+
class FlowID < Processor
|
5
|
+
attr_reader :id
|
6
|
+
|
7
|
+
def run(node, id)
|
8
|
+
@id = id
|
9
|
+
process(node)
|
10
|
+
end
|
11
|
+
|
12
|
+
def on_id(node)
|
13
|
+
node.updated(nil, ["#{node.value}_#{id}"])
|
14
|
+
end
|
15
|
+
|
16
|
+
def on_test_result(node)
|
17
|
+
tid, state, nodes = *node
|
18
|
+
if tid.is_a?(Array)
|
19
|
+
tid = tid.map { |tid| "#{tid}_#{id}" }
|
20
|
+
else
|
21
|
+
tid = "#{tid}_#{id}"
|
22
|
+
end
|
23
|
+
node.updated(nil, [tid, state] + [process(nodes)])
|
24
|
+
end
|
25
|
+
alias_method :on_test_executed, :on_test_result
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: atp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen McGinty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|
@@ -77,6 +77,7 @@ files:
|
|
77
77
|
- lib/atp/processors/add_ids.rb
|
78
78
|
- lib/atp/processors/condition.rb
|
79
79
|
- lib/atp/processors/condition_extractor.rb
|
80
|
+
- lib/atp/processors/flow_id.rb
|
80
81
|
- lib/atp/processors/marshal.rb
|
81
82
|
- lib/atp/processors/post_cleaner.rb
|
82
83
|
- lib/atp/processors/pre_cleaner.rb
|