testkit123 0.2.7 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/testkit123.rb +61 -8
- metadata +10 -10
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78e24b1565f8efab12a23a79131432444dbef249f1b5cb341b2a970485bebe65
|
4
|
+
data.tar.gz: 891ecd6e1d304083f3abcb703828e784270bba141a26b743824e4413223e3a52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7f9971e4ccd66cdc623f8667520218f9e795c78d7b7dc599ef14e90fd6cc821ad06f0576396f00c8158d11a6e87ccd02268a4180a9202ed15587ced1703708e
|
7
|
+
data.tar.gz: d3d94f0ae845bd38f0ae4f56f9be9b7ea3cee7195918a8c5ebd6224b7ade291a3dfb1e9f67cb792a0ea103eead48e1cc61a660e7a1600db70bc4d10a93a14c7b
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/testkit123.rb
CHANGED
@@ -24,6 +24,8 @@ class TestKit123
|
|
24
24
|
using StringFormat
|
25
25
|
using ColouredText
|
26
26
|
|
27
|
+
attr_reader :testdata_file
|
28
|
+
|
27
29
|
def initialize(templates: {testdata: nil, testx: nil}, project: nil,
|
28
30
|
debug: false, localpath: nil, datapath: nil,
|
29
31
|
gemtest_url: nil, rubyver: 'ruby-2.5.1')
|
@@ -41,9 +43,49 @@ class TestKit123
|
|
41
43
|
|
42
44
|
@localpath, @datapath, @gemtest_url = localpath, datapath, gemtest_url
|
43
45
|
@rubyver = rubyver
|
46
|
+
|
47
|
+
if File.exists? @project_config then
|
48
|
+
|
49
|
+
config = SimpleConfig.new(@project_config, debug: false).to_h
|
50
|
+
puts ('config: ' + config.inspect).debug if @debug
|
51
|
+
|
52
|
+
proj = config[:project]
|
53
|
+
puts 'create_standalone: proj: ' + proj.inspect if @debug
|
54
|
+
|
55
|
+
raise 'config[:data_path] not found' unless config[:data_path]
|
56
|
+
|
57
|
+
datafilepath = config[:data_path] + '/' + proj
|
58
|
+
test_rbfile = File.join(datafilepath, "test_#{proj}.rb")
|
59
|
+
|
60
|
+
ext = (config[:testdata_ext] and config[:testdata_ext][/\.?td$/]) ? 'td' : 'xml'
|
61
|
+
@testdata_file = File.join(datafilepath, "testdata_#{proj}.#{ext}")
|
62
|
+
|
63
|
+
end
|
44
64
|
|
45
65
|
end
|
46
66
|
|
67
|
+
# expects a test node; see new_testnode()
|
68
|
+
#
|
69
|
+
def add_test(testnode)
|
70
|
+
|
71
|
+
s2 , filetype = RXFHelper.read @testdata_file
|
72
|
+
puts 'filetype: ' + filetype.inspect if @debug
|
73
|
+
|
74
|
+
xml = if s2.lstrip[0] == '<' then
|
75
|
+
s2
|
76
|
+
else
|
77
|
+
TestdataText.parse s2
|
78
|
+
end
|
79
|
+
|
80
|
+
puts 'xml: ' + xml.inspect if @debug
|
81
|
+
|
82
|
+
doc = Rexle.new(xml)
|
83
|
+
id = doc.root.xpath('records/test/summary/path/text()').last.to_i + 1
|
84
|
+
testnode.root.element('summary/path').text = id.to_s
|
85
|
+
doc.root.element('records').add testnode
|
86
|
+
return doc
|
87
|
+
end
|
88
|
+
|
47
89
|
def create_files(project=@project_config)
|
48
90
|
|
49
91
|
puts 'running create_files ...' if @debug
|
@@ -138,10 +180,13 @@ end
|
|
138
180
|
|
139
181
|
proj = config[:project]
|
140
182
|
puts 'create_standalone: proj: ' + proj.inspect if @debug
|
183
|
+
|
184
|
+
raise 'config[:data_path] not found' unless config[:data_path]
|
185
|
+
|
141
186
|
datafilepath = config[:data_path] + '/' + proj
|
142
187
|
test_rbfile = File.join(datafilepath, "test_#{proj}.rb")
|
143
188
|
|
144
|
-
ext = config[:testdata_ext][/\.?td$/] ? 'td' : 'xml'
|
189
|
+
ext = (config[:testdata_ext] and config[:testdata_ext][/\.?td$/]) ? 'td' : 'xml'
|
145
190
|
testdata_file = File.join(datafilepath, "testdata_#{proj}.#{ext}")
|
146
191
|
puts 'testdata_file: ' + testdata_file.inspect if @debug
|
147
192
|
puts 'source code filepath: ' + test_rbfile.inspect if @debug
|
@@ -205,7 +250,7 @@ end
|
|
205
250
|
puts 'tests[i][1]: ' + tests[i][1].inspect
|
206
251
|
puts 'zip: ' + tests[i][1].zip(input_vars).inspect
|
207
252
|
tests[i][1].zip(input_vars).each do |x|
|
208
|
-
testcode.gsub!(x[0]
|
253
|
+
testcode.gsub!(/\b#{x[0]}\b/, 'test_' + x[1])
|
209
254
|
end
|
210
255
|
|
211
256
|
args = testnode.xpath('records/input/summary/*').map do |input|
|
@@ -262,16 +307,24 @@ end
|
|
262
307
|
|
263
308
|
end
|
264
309
|
|
265
|
-
def
|
310
|
+
def new_testnode(s=nil, type: '', inputs: {}, outputs: {result: ''})
|
311
|
+
|
312
|
+
if s then
|
313
|
+
|
314
|
+
# the scan is intended to find the input variables from an
|
315
|
+
# example Ruby script
|
316
|
+
|
317
|
+
inputs = s.scan(/test_([\w]+) += +['"]([^'"]+)/)\
|
318
|
+
.inject({}){|r,x| r.merge(x.first.to_sym => x.last)}
|
319
|
+
end
|
266
320
|
|
267
|
-
|
268
|
-
.inject({}){|r,x| r.merge(x.first.to_sym => x.last)}
|
321
|
+
# observe *test* is masked with *_test* because it is a built-in method name.
|
269
322
|
|
270
323
|
h = {
|
271
324
|
_test: {
|
272
325
|
summary: {
|
273
326
|
path: '',
|
274
|
-
type:
|
327
|
+
type: type,
|
275
328
|
description: ''
|
276
329
|
},
|
277
330
|
records: {
|
@@ -280,7 +333,7 @@ end
|
|
280
333
|
records: {}
|
281
334
|
},
|
282
335
|
output: {
|
283
|
-
summary:
|
336
|
+
summary: outputs,
|
284
337
|
records: {}
|
285
338
|
}
|
286
339
|
}
|
@@ -289,7 +342,7 @@ end
|
|
289
342
|
|
290
343
|
a = RexleBuilder.new(h, debug: false).to_a
|
291
344
|
|
292
|
-
Rexle.new(a)
|
345
|
+
Rexle.new(a)
|
293
346
|
|
294
347
|
end
|
295
348
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testkit123
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
owBtF8qd/v9x+t6h+/j/LPTmgwDrPhKl4HmH77oloyec9426T3EW7OvcMiMXAfQG
|
36
36
|
KKJn9TVnRGoWZTIHtu1e5v36
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2020-09-06 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: rxfhelper
|
@@ -43,40 +43,40 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0
|
46
|
+
version: '1.0'
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.
|
49
|
+
version: 1.0.5
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: '0
|
56
|
+
version: '1.0'
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.
|
59
|
+
version: 1.0.5
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: simple-config
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '0.
|
66
|
+
version: '0.7'
|
67
67
|
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
69
|
+
version: 0.7.1
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: '0.
|
76
|
+
version: '0.7'
|
77
77
|
- - ">="
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: 0.
|
79
|
+
version: 0.7.1
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: testdata_text
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
metadata.gz.sig
CHANGED
Binary file
|