test_bench 1.2.0.0 → 1.2.0.6

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 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: []