moto 1.0.0 → 1.0.1
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/lib/modes/run/thread_context.rb +1 -2
- data/lib/parameter_parser.rb +39 -3
- data/lib/test/generator.rb +23 -3
- data/lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b4ceb470385c95d1e34d5907d3c055eb0e82d01
|
4
|
+
data.tar.gz: 9787f8dd894e7c2b00ac240646c019594d336a20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57029064fc0aac2f0cfb0a234268aac0916330bc1fae83727f08ed95349c0098113092453a93d29021b300a8c7cd968a3867b96be75df1c546adc77ab3c946e3
|
7
|
+
data.tar.gz: 9a0acf25d4ea66d626c48fefdb07abc121120c7c55b0ad697dba57882cdeed506f6d6938ccfc2d4edbf398b11640a3d4c5db7dc5596f702c46e8b03f57ba8bad
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'erb'
|
2
1
|
require 'fileutils'
|
3
2
|
require_relative '../../config'
|
4
3
|
|
@@ -82,7 +81,7 @@ module Moto
|
|
82
81
|
file.chmod(0o666)
|
83
82
|
|
84
83
|
Thread.current['logger'] = Logger.new(file)
|
85
|
-
logger.level = config[:
|
84
|
+
logger.level = config[:log_level]
|
86
85
|
end
|
87
86
|
|
88
87
|
def logger
|
data/lib/parameter_parser.rb
CHANGED
@@ -7,7 +7,7 @@ end
|
|
7
7
|
|
8
8
|
|
9
9
|
require 'optparse'
|
10
|
-
|
10
|
+
require 'logger'
|
11
11
|
require_relative 'config'
|
12
12
|
require_relative 'modes/mode_selector'
|
13
13
|
|
@@ -65,7 +65,10 @@ module Moto
|
|
65
65
|
opts.on('--stop-on-fail') {options[:stop_on][:fail] = true}
|
66
66
|
opts.on('--stop-on-skip') {options[:stop_on][:skip] = true}
|
67
67
|
opts.on('--dry-run') {options[:dry_run] = true}
|
68
|
-
opts.on('-x', '--
|
68
|
+
opts.on('-x', '--explicit-errors') {options[:explicit_errors] = true}
|
69
|
+
opts.on('--log-level LogLevel') {|v| options[:log_level] = v}
|
70
|
+
opts.on('--param-name ParamName') {|v| options[:param_name] = v}
|
71
|
+
|
69
72
|
end.parse!
|
70
73
|
|
71
74
|
if options[:tests]
|
@@ -87,11 +90,39 @@ module Moto
|
|
87
90
|
|
88
91
|
Moto::Lib::Config.load_configuration(options[:config_name] ? options[:config_name] : 'moto')
|
89
92
|
|
93
|
+
if !Moto::Lib::Config.moto[:test_runner]
|
94
|
+
Moto::Lib::Config.moto[:test_runner] = {}
|
95
|
+
end
|
96
|
+
|
97
|
+
if !Moto::Lib::Config.moto[:test_generator]
|
98
|
+
Moto::Lib::Config.moto[:test_generator] = {}
|
99
|
+
end
|
100
|
+
|
101
|
+
# Runner configuration
|
102
|
+
|
90
103
|
Moto::Lib::Config.moto[:test_runner][:thread_count] = options[:threads] if options[:threads]
|
91
104
|
Moto::Lib::Config.moto[:test_runner][:test_attempt_max] = options[:attempts] if options[:attempts]
|
92
105
|
Moto::Lib::Config.moto[:test_runner][:dry_run] = options[:dry_run] if options[:dry_run]
|
93
106
|
Moto::Lib::Config.moto[:test_runner][:explicit_errors] = options[:explicit_errors] if options[:explicit_errors]
|
94
107
|
|
108
|
+
# Test log level parsing
|
109
|
+
|
110
|
+
if options[:log_level]
|
111
|
+
Moto::Lib::Config.moto[:test_runner][:log_level] = case options[:log_level].downcase
|
112
|
+
when 'info' then Logger::INFO
|
113
|
+
when 'warn' then Logger::WARN
|
114
|
+
when 'error' then Logger::ERROR
|
115
|
+
when 'fatal' then Logger::FATAL
|
116
|
+
else Logger::DEBUG
|
117
|
+
end
|
118
|
+
else
|
119
|
+
Moto::Lib::Config.moto[:test_runner][:log_level] = Logger::DEBUG
|
120
|
+
end
|
121
|
+
|
122
|
+
# Generator configuration
|
123
|
+
|
124
|
+
Moto::Lib::Config.moto[:test_generator][:param_name] = options[:param_name] if options[:param_name]
|
125
|
+
|
95
126
|
return options
|
96
127
|
end
|
97
128
|
|
@@ -220,13 +251,18 @@ module Moto
|
|
220
251
|
--stop-on-error Moto will stop test execution when an error is encountered in test results
|
221
252
|
--stop-on-fail Moto will stop test execution when a failure is encountered in test results
|
222
253
|
--stop-on-skip Moto will stop test execution when a skip is encountered in test results
|
254
|
+
|
223
255
|
--dry-run Moto will list all test cases which would be run with provided arguments
|
224
256
|
|
225
|
-
--x,
|
257
|
+
--x, explicit-errors Use for development of tests - each code error in test will be caught,
|
226
258
|
logged as would normally do but will be also additionaly re-thrown.
|
227
259
|
This will obviously stop execution of selected set of tests but will provide
|
228
260
|
full stack and error message to the developer.
|
229
261
|
|
262
|
+
--log-level Defines level at which Logger works. Use one of following: debug, info, warn, error, fatal.
|
263
|
+
|
264
|
+
--param-name Only parameters that contain provided string will be executed.
|
265
|
+
|
230
266
|
|
231
267
|
|
232
268
|
==============
|
data/lib/test/generator.rb
CHANGED
@@ -39,9 +39,24 @@ module Moto
|
|
39
39
|
|
40
40
|
# TODO CHANGED TEMPORARY
|
41
41
|
#params_path = test_path_absolute.sub(/\.rb\z/, '')
|
42
|
-
params_directory = File.dirname(test_metadata.test_path).to_s + '/params
|
42
|
+
params_directory = File.dirname(test_metadata.test_path).to_s + '/params/'
|
43
|
+
|
44
|
+
# Depending on param_name being provided or not filter files in param directory in appropriate way
|
45
|
+
if config[:param_name]
|
46
|
+
params_directory << "*#{config[:param_name]}*.param"
|
47
|
+
else
|
48
|
+
params_directory << '*.param'
|
49
|
+
end
|
50
|
+
|
43
51
|
param_files_paths = Dir.glob(params_directory)
|
44
|
-
|
52
|
+
|
53
|
+
# If param name is not specified then it's possible to run a test without params - they might not be there at all,
|
54
|
+
# but when param name is provided only matching ones need to be executed.
|
55
|
+
if config[:param_name]
|
56
|
+
param_files_paths = [] if param_files_paths.empty?
|
57
|
+
else
|
58
|
+
param_files_paths = [nil] if param_files_paths.empty?
|
59
|
+
end
|
45
60
|
|
46
61
|
param_files_paths.each do |params_path|
|
47
62
|
|
@@ -61,7 +76,6 @@ module Moto
|
|
61
76
|
|
62
77
|
variants
|
63
78
|
end
|
64
|
-
|
65
79
|
private :variantize
|
66
80
|
|
67
81
|
# Generates test instances
|
@@ -106,6 +120,12 @@ module Moto
|
|
106
120
|
test.injected_error_message = error_message
|
107
121
|
end
|
108
122
|
|
123
|
+
# @return [Hash] Hash with config for test generator
|
124
|
+
def config
|
125
|
+
Moto::Lib::Config.moto[:test_generator]
|
126
|
+
end
|
127
|
+
private :config
|
128
|
+
|
109
129
|
end
|
110
130
|
end
|
111
131
|
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bartek Wilczek
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2017-10-
|
14
|
+
date: 2017-10-10 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activesupport
|