test_bench 1.2.0.0 → 1.2.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: afaeab0cc192ef871046e2b2080e87f9ae413a0da8a55e2893e240f76369c87e
4
- data.tar.gz: 9cca5db44320b3956cbb8754251703087024411d274e608a2d731ce6c7a2729d
3
+ metadata.gz: 401590086df82ac9a8f1b1986ee18e2d16c50fc853906bdd048a0dfdb83e6f9f
4
+ data.tar.gz: 065c9f7af87e614ccc0377f7d3a3baf3f31081cadd6293435d53ea2f93fc1077
5
5
  SHA512:
6
- metadata.gz: 80da06a441f1f3a547a62ee37fbf36f1d6c1c9541bd240c82fc94d7d380da1f6ddf717d6a626c5f50161488dfe4178057e14c59183ad751660bf8627fc322db4
7
- data.tar.gz: 42d0355bb4f6c81a1819da5cfffa1fd41ece43b1f1a2e14600e5f52a9ef53f11a10309c792862bef9557bfe62a5e44a644883dda4b427b362fd813f8c2361c0b
6
+ metadata.gz: d8cf556067bf2a71e11e1401b8dd476143b7d775cf2fb7315612b9e422fc113d135556f711f6c26a39c4a43794a3cf2455f50c15d74e02fbda22a67334db1390
7
+ data.tar.gz: a1abc311463834f6a037a0e870a65a74fcd2daa02775a6b8d432335f75c2ee113084b311d70d8fac56d23567ea5481c806b92823d4fe9d9666bb6b40a12f4c8b
data/lib/test_bench.rb CHANGED
@@ -1,4 +1,6 @@
1
- require 'optionparser'
1
+ unless RUBY_ENGINE == 'mruby'
2
+ require 'optionparser'
3
+ end
2
4
 
3
5
  require 'test_bench/fixture'
4
6
 
@@ -8,7 +8,7 @@ module TestBench
8
8
  read_stdin = $stdin.stat.pipe?
9
9
 
10
10
  if read_stdin && $stdin.eof?
11
- warn "$stdin is a pipe, but no data was written to it; no test files will be run"
11
+ STDERR.puts "$stdin is a pipe, but no data was written to it; no test files will be run"
12
12
  end
13
13
 
14
14
  Run.(exclude: exclude_file_pattern) do |run|
@@ -48,15 +48,15 @@ module TestBench
48
48
  parser.on('-h', '--help', "Print this help message and exit successfully") do
49
49
  output_device.puts(parser.help)
50
50
 
51
- exit(true)
51
+ raise SystemExit.new(0)
52
52
  end
53
53
 
54
54
  parser.on('-V', '--version', "Print version and exit successfully") do
55
- output_device.puts <<~TEXT
56
- test-bench (#{self.class.program_name}) version #{self.class.version}
57
- TEXT
55
+ output_device.puts <<TEXT
56
+ test-bench (#{self.class.program_name}) version #{self.class.version}
57
+ TEXT
58
58
 
59
- exit(true)
59
+ raise SystemExit.new(0)
60
60
  end
61
61
 
62
62
  parser.separator('')
@@ -128,29 +128,29 @@ module TestBench
128
128
  env['TEST_BENCH_VERBOSE'] = verbose ? 'on' : 'off'
129
129
  end
130
130
 
131
- parser.separator(<<~TEXT)
131
+ parser.separator(<<TEXT)
132
132
 
133
- Paths to test files (and directories containing test files) can be given after any command line arguments or via STDIN (or both).
134
- If no paths are given, a default path (#{Defaults.tests_directory}) is scanned for test files.
133
+ Paths to test files (and directories containing test files) can be given after any command line arguments or via STDIN (or both).
134
+ If no paths are given, a default path (#{Defaults.tests_directory}) is scanned for test files.
135
135
 
136
- The following environment variables can also control execution:
136
+ The following environment variables can also control execution:
137
137
 
138
- #{parser.summary_indent}TEST_BENCH_ABORT_ON_ERROR Same as -a or --abort-on-error
139
- #{parser.summary_indent}TEST_BENCH_DETAIL Same as -d or --detail
140
- #{parser.summary_indent}TEST_BENCH_EXCLUDE_FILE_PATTERN Same as -x or --exclude-file-pattern
141
- #{parser.summary_indent}TEST_BENCH_LOG_LEVEL Same as -l or --log-level
142
- #{parser.summary_indent}TEST_BENCH_OMIT_BACKTRACE_PATTERN Same as -o or --omit-backtrace-pattern
143
- #{parser.summary_indent}TEST_BENCH_OUTPUT_STYLING Same as -s or --output-styling
144
- #{parser.summary_indent}TEST_BENCH_FAIL_DEACTIVATED_TESTS Opposite of -p or --permit-deactivated-tests
145
- #{parser.summary_indent}TEST_BENCH_REVERSE_BACKTRACES Same as -r or --reverse-backtraces
146
- #{parser.summary_indent}TEST_BENCH_VERBOSE Same as -v or --reverse-backtraces
138
+ #{parser.summary_indent}TEST_BENCH_ABORT_ON_ERROR Same as -a or --abort-on-error
139
+ #{parser.summary_indent}TEST_BENCH_DETAIL Same as -d or --detail
140
+ #{parser.summary_indent}TEST_BENCH_EXCLUDE_FILE_PATTERN Same as -x or --exclude-file-pattern
141
+ #{parser.summary_indent}TEST_BENCH_LOG_LEVEL Same as -l or --log-level
142
+ #{parser.summary_indent}TEST_BENCH_OMIT_BACKTRACE_PATTERN Same as -o or --omit-backtrace-pattern
143
+ #{parser.summary_indent}TEST_BENCH_OUTPUT_STYLING Same as -s or --output-styling
144
+ #{parser.summary_indent}TEST_BENCH_FAIL_DEACTIVATED_TESTS Opposite of -p or --permit-deactivated-tests
145
+ #{parser.summary_indent}TEST_BENCH_REVERSE_BACKTRACES Same as -r or --reverse-backtraces
146
+ #{parser.summary_indent}TEST_BENCH_VERBOSE Same as -v or --reverse-backtraces
147
147
 
148
- TEXT
148
+ TEXT
149
149
  end
150
150
  end
151
151
 
152
152
  def assure_pattern(pattern_text)
153
- Regexp.new(pattern_text)
153
+ Regexp.new(pattern_text.to_s)
154
154
  rescue RegexpError
155
155
  raise Error, "Invalid regular expression pattern (Pattern: #{pattern_text.inspect})"
156
156
  end
@@ -164,7 +164,7 @@ module TestBench
164
164
  end
165
165
 
166
166
  def self.version
167
- if defined?(Gem)
167
+ if Object.const_defined?(:Gem)
168
168
  spec = Gem.loaded_specs['test_bench']
169
169
  end
170
170
 
@@ -1,4 +1,6 @@
1
- require 'securerandom'
1
+ unless RUBY_ENGINE == 'mruby'
2
+ require 'securerandom'
3
+ end
2
4
 
3
5
  require 'test_bench/fixture/controls'
4
6
 
@@ -11,11 +11,11 @@ module TestBench
11
11
 
12
12
  error = Error.example(message)
13
13
 
14
- <<~TEXT
15
- #{indent}#{error.backtrace[0]}: #{error.message} (#{error.class.name})
16
- \t#{indent}from #{error.backtrace[1]}
17
- \t#{indent}from #{error.backtrace[2]}
18
- TEXT
14
+ <<TEXT
15
+ #{indent}#{error.backtrace[0]}: #{error.message} (#{error.class.name})
16
+ \t#{indent}from #{error.backtrace[1]}
17
+ \t#{indent}from #{error.backtrace[2]}
18
+ TEXT
19
19
  end
20
20
 
21
21
  module Assertion
@@ -24,9 +24,9 @@ module TestBench
24
24
 
25
25
  assertion_failure = TestBench::Fixture::AssertionFailure.build(caller_location)
26
26
 
27
- <<~TEXT
28
- #{assertion_failure.backtrace[0]}: #{assertion_failure.message} (#{assertion_failure.class.name})
29
- TEXT
27
+ <<TEXT
28
+ #{assertion_failure.backtrace[0]}: #{assertion_failure.message} (#{assertion_failure.class.name})
29
+ TEXT
30
30
  end
31
31
  end
32
32
  end
@@ -3,7 +3,12 @@ module TestBench
3
3
  module Output
4
4
  module NewlineCharacter
5
5
  def self.example
6
- StringIO.new.tap(&:puts).string
6
+ str = String.new
7
+
8
+ string_io = StringIO.new(str)
9
+ string_io.puts('')
10
+
11
+ str
7
12
  end
8
13
  end
9
14
  end
@@ -5,12 +5,12 @@ module TestBench
5
5
  module Error
6
6
  module Text
7
7
  def self.example
8
- <<~TEXT
9
- Error Summary:
10
- 1: #{file}
11
- #{error.backtrace[0]}: #{error} (#{error.class})
8
+ <<TEXT
9
+ Error Summary:
10
+ 1: #{file}
11
+ #{error.backtrace[0]}: #{error} (#{error.class})
12
12
 
13
- TEXT
13
+ TEXT
14
14
  end
15
15
 
16
16
  def self.file
@@ -5,12 +5,12 @@ module TestBench
5
5
  module Session
6
6
  module Text
7
7
  def self.example
8
- <<~TEXT
9
- Finished running 0 files
10
- Ran 0 tests in 0.000s (0.0 tests/second)
11
- 0 passed, 0 skipped, 0 failed, 0 total errors
8
+ <<TEXT
9
+ Finished running 0 files
10
+ Ran 0 tests in 0.000s (0.0 tests/second)
11
+ 0 passed, 0 skipped, 0 failed, 0 total errors
12
12
 
13
- TEXT
13
+ TEXT
14
14
  end
15
15
  end
16
16
  end
@@ -12,9 +12,19 @@ module TestBench
12
12
  minutes = self.minutes
13
13
  seconds = self.seconds + seconds_offset
14
14
 
15
- tz_offset = self.tz_offset
15
+ if not RUBY_ENGINE == 'mruby'
16
+ tz_offset = self.tz_offset
16
17
 
17
- ::Time.new(year, month, day, hours, minutes, seconds, tz_offset)
18
+ final_argument = tz_offset
19
+ else
20
+ seconds, subseconds = seconds.divmod(1)
21
+
22
+ microseconds = subseconds * 1_000_000
23
+
24
+ final_argument = microseconds
25
+ end
26
+
27
+ ::Time.new(year, month, day, hours, minutes, seconds, final_argument)
18
28
  end
19
29
 
20
30
  def self.year
@@ -1,3 +1,5 @@
1
- require 'ostruct'
1
+ unless RUBY_ENGINE == 'mruby'
2
+ require 'ostruct'
3
+ end
2
4
 
3
5
  require 'test_bench/fixtures/configure_receiver'
@@ -41,7 +41,9 @@ module TestBench
41
41
  end
42
42
 
43
43
  def new_record(signal, data)
44
- record = Record.new(signal, data)
44
+ record = super
45
+
46
+ record.extend(Record)
45
47
 
46
48
  case signal
47
49
  when :enter_context, :start_test, :start_fixture
@@ -87,7 +89,7 @@ module TestBench
87
89
  stack.length
88
90
  end
89
91
 
90
- class Record < Fixture::Output::Capture::Record
92
+ module Record
91
93
  attr_accessor :batch_data
92
94
 
93
95
  def forward(raw_output)
@@ -8,7 +8,7 @@ module TestBench
8
8
 
9
9
  class Timer < Timer
10
10
  def elapsed_time
11
- @elapsed_time ||= 0
11
+ @elapsed_time ||= 0.0
12
12
  end
13
13
  attr_writer :elapsed_time
14
14
 
@@ -106,7 +106,7 @@ module TestBench
106
106
 
107
107
  def newline
108
108
  sync
109
- device.puts
109
+ device.puts('')
110
110
  self.byte_offset += 1
111
111
  self
112
112
  end
@@ -79,15 +79,15 @@ module TestBench
79
79
  def directory(path)
80
80
  glob_pattern = File.join(path, '**/*.rb')
81
81
 
82
- Dir[glob_pattern].sort.each do |path|
83
- next if exclude_pattern.match?(path)
84
-
82
+ Dir.glob(glob_pattern).sort.each do |path|
85
83
  file(path)
86
84
  end
87
85
  end
88
86
 
89
87
  def file(path)
90
- session.load(path)
88
+ unless exclude_pattern.match?(path)
89
+ session.load(path)
90
+ end
91
91
  end
92
92
 
93
93
  module Defaults
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_bench
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0.0
4
+ version: 1.2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Ladd
8
8
  autorequire:
9
9
  bindir: script
10
10
  cert_chain: []
11
- date: 2020-07-24 00:00:00.000000000 Z
11
+ date: 2021-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test_bench-fixture
@@ -111,8 +111,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  requirements: []
114
- rubygems_version: 3.1.3
114
+ rubygems_version: 3.1.4
115
115
  signing_key:
116
116
  specification_version: 4
117
- summary: Principled Test Framework for Ruby
117
+ summary: Principled Test Framework for Ruby and MRuby
118
118
  test_files: []