testkit123 0.1.1 → 0.2.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 +2 -2
- data/lib/testkit123.rb +55 -3
- metadata +21 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2563eb57a18c89ef468c4030d4b40e263a33d376
|
4
|
+
data.tar.gz: 9b4c256c3215efc77b46dbb23d0e7379c6771599
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35f3491218b52988ee2a2e5642ec4924bf3a4b79328c385d5e592f38fb089ecd97613dbf1c80b7024ecf405fc29bb132fd0f2d5ca0c7336e00f2707cfbfa775a
|
7
|
+
data.tar.gz: 2e764f3c0e72bf783aff0609f9e26f7c7347df967cbbdea598ed4c1bc8ae7e1356ec0e94e082dddc5a13f9ff0f5cf73d00233e1d9f7168bfc0baa167267befeb
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
data/lib/testkit123.rb
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
|
5
5
|
require 'rxfhelper'
|
6
6
|
require 'fileutils'
|
7
|
+
require 'testdata_text'
|
7
8
|
require 'simple-config'
|
8
9
|
|
9
10
|
|
@@ -16,7 +17,7 @@ end
|
|
16
17
|
class TestKit123
|
17
18
|
|
18
19
|
def initialize(templates: {testdata: nil, testx: nil}, project: nil,
|
19
|
-
|
20
|
+
debug: false, localpath: nil, datapath: nil,
|
20
21
|
gemtest_url: nil, rubyver: 'ruby-2.5.1')
|
21
22
|
|
22
23
|
@h = templates
|
@@ -27,7 +28,7 @@ class TestKit123
|
|
27
28
|
File.join(localpath, project + '.txt')
|
28
29
|
end
|
29
30
|
|
30
|
-
@
|
31
|
+
@debug = debug
|
31
32
|
@localpath, @datapath, @gemtest_url = localpath, datapath, gemtest_url
|
32
33
|
@rubyver = rubyver
|
33
34
|
|
@@ -112,7 +113,58 @@ end
|
|
112
113
|
"finished processing #{proj}"
|
113
114
|
end
|
114
115
|
|
115
|
-
def create_standalone()
|
116
|
+
def create_standalone(n)
|
117
|
+
|
118
|
+
# use the test number to find the test to copy from the test file
|
119
|
+
|
120
|
+
config = SimpleConfig.new(@project_config).to_h
|
121
|
+
|
122
|
+
proj = config[:project]
|
123
|
+
datafilepath = config[:data_path] + '/' + proj
|
124
|
+
test_rbfile = File.join(datafilepath, "test_#{proj}.rb")
|
125
|
+
|
126
|
+
ext = config[:testdata_ext][/\.?td$/] ? 'td' : 'xml'
|
127
|
+
testdata_file = File.join(datafilepath, "testdata_#{proj}.#{ext}")
|
128
|
+
puts 'testdata_file: ' + testdata_file.inspect if @debug
|
129
|
+
|
130
|
+
s = File.read test_rbfile
|
131
|
+
a = s.split(/(?= test )/)
|
132
|
+
a.shift
|
133
|
+
|
134
|
+
tests = a.map do |x|
|
135
|
+
r = a[0].match(/(?<=['"])(?<test>[^"']+)['"]\s+do\s+\|(?<raw_args>[^\|]+)/)
|
136
|
+
|
137
|
+
[r[:test], r[:raw_args].split(/, */)]
|
138
|
+
end
|
139
|
+
|
140
|
+
s2 , filetype = RXFHelper.read testdata_file
|
141
|
+
puts 'filetype: ' + filetype.inspect if @debug
|
142
|
+
|
143
|
+
xml = if s2.lstrip[0] == '<' then
|
144
|
+
s2
|
145
|
+
else
|
146
|
+
TestdataText.parse s2
|
147
|
+
end
|
148
|
+
|
149
|
+
puts 'xml: ' + xml.inspect if @debug
|
150
|
+
|
151
|
+
doc = Rexle.new(xml)
|
152
|
+
testnode = doc.root.xpath('records//test')[n-1]
|
153
|
+
title = testnode.text('summary/type')
|
154
|
+
i = tests.index tests.assoc(title)
|
155
|
+
|
156
|
+
testcode = a[i].strip.lines[1..-2].map do |line|
|
157
|
+
line.sub(/^ {6}/,'')
|
158
|
+
end
|
159
|
+
|
160
|
+
args = testnode.xpath('records/input/summary/*').map do |input|
|
161
|
+
"%s = '%s'" % [input.name, input.texts.join.gsub(/'/,"\'")]
|
162
|
+
end
|
163
|
+
|
164
|
+
puts 'args: ' + args.inspect if @debug
|
165
|
+
|
166
|
+
"require '#{proj}'\n\n" + args.join("\n") + testcode.join
|
167
|
+
|
116
168
|
end
|
117
169
|
|
118
170
|
def delete_files(s=nil)
|
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.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -72,6 +72,26 @@ dependencies:
|
|
72
72
|
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: 0.6.4
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: testdata_text
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0.2'
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 0.2.2
|
85
|
+
type: :runtime
|
86
|
+
prerelease: false
|
87
|
+
version_requirements: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - "~>"
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0.2'
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 0.2.2
|
75
95
|
description:
|
76
96
|
email: james@jamesrobertson.eu
|
77
97
|
executables: []
|
metadata.gz.sig
CHANGED
Binary file
|