testkit123 0.2.7 → 0.3.0
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
- 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
|