oktest 1.2.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +43 -42
- data/Rakefile.rb +1 -1
- data/lib/oktest.rb +11 -5
- data/oktest.gemspec +2 -2
- data/test/assertion_test.rb +1 -1
- data/test/filter_test.rb +1 -1
- data/test/fixture_test.rb +1 -1
- data/test/generator_test.rb +1 -1
- data/test/helper_test.rb +5 -5
- data/test/initialize.rb +1 -1
- data/test/mainapp_test.rb +2 -2
- data/test/matcher_test.rb +1 -1
- data/test/misc_test.rb +1 -1
- data/test/node_test.rb +1 -1
- data/test/reporter_test.rb +32 -1
- data/test/runner_test.rb +1 -1
- data/test/util_test.rb +1 -1
- data/test/utilhelper_test.rb +1 -1
- data/test/visitor_test.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a67a9622ea13bcbb40bf426b2e6321619256062ab2db5d7e4e951cb51d2e5beb
|
4
|
+
data.tar.gz: 420f3f9da92864fdc96a8cd1dc53e8ae369527445b03f1d6ddcf004b5a9f60b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff57c813e8aca8c7136c0fe98850894602d49c4d38bf4d151d05281ddd5c73cd06773e275ae79103862908cdea242b82130eddc81e5f3b68391ce5d85cc5ccb9
|
7
|
+
data.tar.gz: 155d0e8d7d7f606b2ebe41643fd4fccf34f5dd4c4882b555a6c9137682f65ca37d5c701e6cb7cdce1f0679cf4a2ef0403b45780dbe9506c6d5640106d4d7d76a
|
data/README.md
CHANGED
@@ -95,8 +95,8 @@ Oktest.rb requires Ruby 2.0 or later.
|
|
95
95
|
* <a href="#testing-rack-application">Testing Rack Application</a>
|
96
96
|
* <a href="#environment-variale-oktest_rb">Environment Variale <code>$OKTEST_RB</code></a>
|
97
97
|
* <a href="#traverser-class">Traverser Class</a>
|
98
|
-
* <a href="#benchmarks">Benchmarks</a>
|
99
98
|
* <a href="#--faster-option"><code>--faster</code> Option</a>
|
99
|
+
* <a href="#benchmarks">Benchmarks</a>
|
100
100
|
* <a href="#change-log">Change Log</a>
|
101
101
|
* <a href="#license-and-copyright">License and Copyright</a>
|
102
102
|
|
@@ -1010,15 +1010,15 @@ end
|
|
1010
1010
|
Result:
|
1011
1011
|
|
1012
1012
|
```terminal
|
1013
|
-
$ oktest -s
|
1013
|
+
$ oktest -s quiet test/example21a_test.rb
|
1014
1014
|
*** before_all() ***
|
1015
1015
|
=== before() ===
|
1016
1016
|
---- example spec #1 ----
|
1017
1017
|
=== after() ===
|
1018
|
-
|
1018
|
+
=== before() ===
|
1019
1019
|
---- example spec #2 ----
|
1020
1020
|
=== after() ===
|
1021
|
-
|
1021
|
+
*** after_all() ***
|
1022
1022
|
|
1023
1023
|
## total:2 (pass:2, fail:0, error:0, skip:0, todo:0) in 0.000s
|
1024
1024
|
```
|
@@ -1729,7 +1729,7 @@ END
|
|
1729
1729
|
If you want to change embed mark, specify 4th argument, like this:
|
1730
1730
|
|
1731
1731
|
```ruby
|
1732
|
-
partial_regexp <<-'END', '\A', '\z', '%%
|
1732
|
+
partial_regexp <<-'END', '\A', '\z', '%% %%' # !!!!!
|
1733
1733
|
* [config.date] %% \d\d\d\d-\d\d-\d\d %%
|
1734
1734
|
* [config.secret] %% [0-9a-f]+ %%
|
1735
1735
|
END
|
@@ -2160,6 +2160,24 @@ $ ruby test/example54_test.rb
|
|
2160
2160
|
```
|
2161
2161
|
|
2162
2162
|
|
2163
|
+
### `--faster` Option
|
2164
|
+
|
2165
|
+
~~If you are working in very larget project and you want to run test scripts as fast as possible, try `--faster` option of `oktest` command.~~
|
2166
|
+
|
2167
|
+
```terminal
|
2168
|
+
$ oktest -s quiet --faster test/ ## only for very large project
|
2169
|
+
```
|
2170
|
+
|
2171
|
+
~~Or set `Oktest::Config.ok_location = false` in your test script.~~
|
2172
|
+
|
2173
|
+
```ruby
|
2174
|
+
require 'oktest'
|
2175
|
+
Oktest::Config.ok_location = false ## only for very large project
|
2176
|
+
```
|
2177
|
+
|
2178
|
+
`--faster` option is still available but no longer recommended, because performance of `ok{}` is improved significantly since Oktest.rb 1.2.0.
|
2179
|
+
|
2180
|
+
|
2163
2181
|
### Benchmarks
|
2164
2182
|
|
2165
2183
|
Oktest.rb gem file contains benchmark script.
|
@@ -2180,42 +2198,52 @@ ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-darwin18]
|
|
2180
2198
|
$ rake benchmark:all
|
2181
2199
|
```
|
2182
2200
|
|
2201
|
+
Summary of example result:
|
2202
|
+
|
2203
|
+
```
|
2204
|
+
Oktest: 6.815 real 6.511 user 0.257 sys
|
2205
|
+
Oktest (--faster): 6.401 real 6.123 user 0.240 sys
|
2206
|
+
RSpec: 32.062 real 27.778 user 4.383 sys
|
2207
|
+
MiniTest: 9.140 real 8.657 user 0.705 sys
|
2208
|
+
Test::Unit: 19.580 real 19.020 user 0.885 sys
|
2209
|
+
```
|
2210
|
+
|
2183
2211
|
Example result:
|
2184
2212
|
|
2185
2213
|
```
|
2186
|
-
====================
|
2214
|
+
==================== oktest ====================
|
2187
2215
|
oktest -sq run_all.rb
|
2188
2216
|
|
2189
2217
|
## total:100000 (pass:100000, fail:0, error:0, skip:0, todo:0) in 2.36s
|
2190
2218
|
|
2191
|
-
|
2219
|
+
6.815 real 6.511 user 0.257 sys
|
2192
2220
|
|
2193
|
-
====================
|
2221
|
+
==================== oktest:faster ====================
|
2194
2222
|
oktest -sq --faster run_all.rb
|
2195
2223
|
|
2196
2224
|
## total:100000 (pass:100000, fail:0, error:0, skip:0, todo:0) in 2.01s
|
2197
2225
|
|
2198
|
-
|
2226
|
+
6.401 real 6.123 user 0.240 sys
|
2199
2227
|
|
2200
|
-
====================
|
2228
|
+
==================== rspec ====================
|
2201
2229
|
rspec run_all.rb | tail -4
|
2202
2230
|
|
2203
2231
|
Finished in 15.27 seconds (files took 16.08 seconds to load)
|
2204
2232
|
100000 examples, 0 failures
|
2205
2233
|
|
2206
2234
|
|
2207
|
-
|
2235
|
+
32.062 real 27.778 user 4.383 sys
|
2208
2236
|
|
2209
|
-
====================
|
2237
|
+
==================== minitest ====================
|
2210
2238
|
ruby run_all.rb | tail -4
|
2211
2239
|
|
2212
2240
|
Finished in 5.281425s, 18934.2838 runs/s, 37868.5677 assertions/s.
|
2213
2241
|
|
2214
2242
|
100000 runs, 200000 assertions, 0 failures, 0 errors, 0 skips
|
2215
2243
|
|
2216
|
-
|
2244
|
+
9.140 real 8.657 user 0.705 sys
|
2217
2245
|
|
2218
|
-
====================
|
2246
|
+
==================== testunit ====================
|
2219
2247
|
ruby run_all.rb | tail -5
|
2220
2248
|
-------------------------------------------------------------------------------
|
2221
2249
|
100000 tests, 200000 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
|
@@ -2223,34 +2251,7 @@ ruby run_all.rb | tail -5
|
|
2223
2251
|
-------------------------------------------------------------------------------
|
2224
2252
|
7775.59 tests/s, 15551.18 assertions/s
|
2225
2253
|
|
2226
|
-
|
2227
|
-
```
|
2228
|
-
|
2229
|
-
Summary:
|
2230
|
-
|
2231
|
-
```
|
2232
|
-
Oktest: 6.815 real 6.511 user 0.257 sys
|
2233
|
-
Oktest (--fast): 6.401 real 6.123 user 0.240 sys
|
2234
|
-
RSpec: 32.062 real 27.778 user 4.383 sys
|
2235
|
-
MiniTest: 9.140 real 8.657 user 0.705 sys
|
2236
|
-
Test::Unit: 19.580 real 19.020 user 0.885 sys
|
2237
|
-
```
|
2238
|
-
|
2239
|
-
|
2240
|
-
### `--faster` Option
|
2241
|
-
|
2242
|
-
If you are working in very larget project and you want to run test scripts
|
2243
|
-
as fast as possible, try `--faster` option of `oktest` command.
|
2244
|
-
|
2245
|
-
```terminal
|
2246
|
-
$ oktest -s quiet --faster test/ ## only for very large project
|
2247
|
-
```
|
2248
|
-
|
2249
|
-
Or set `Oktest::Config.ok_location = false` in your test script.
|
2250
|
-
|
2251
|
-
```ruby
|
2252
|
-
require 'oktest'
|
2253
|
-
Oktest::Config.ok_location = false ## only for very large project
|
2254
|
+
19.580 real 19.020 user 0.885 sys
|
2254
2255
|
```
|
2255
2256
|
|
2256
2257
|
|
data/Rakefile.rb
CHANGED
data/lib/oktest.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
###
|
4
|
-
### $Release: 1.2.
|
4
|
+
### $Release: 1.2.1 $
|
5
5
|
### $Copyright: copyright(c) 2011-2021 kuwata-lab.com all rights reserved $
|
6
6
|
### $License: MIT License $
|
7
7
|
###
|
@@ -12,7 +12,7 @@ require 'set'
|
|
12
12
|
module Oktest
|
13
13
|
|
14
14
|
|
15
|
-
VERSION = '$Release: 1.2.
|
15
|
+
VERSION = '$Release: 1.2.1 $'.split()[1]
|
16
16
|
|
17
17
|
|
18
18
|
class OktestError < StandardError
|
@@ -1077,7 +1077,7 @@ END
|
|
1077
1077
|
end
|
1078
1078
|
|
1079
1079
|
attr_reader :target
|
1080
|
-
|
1080
|
+
attr_writer :_prefix
|
1081
1081
|
|
1082
1082
|
def _prefix
|
1083
1083
|
@_prefix || '*'
|
@@ -1229,7 +1229,7 @@ END
|
|
1229
1229
|
raise SkipException, reason if condition
|
1230
1230
|
end
|
1231
1231
|
|
1232
|
-
def fixture(name, *args)
|
1232
|
+
def fixture(name, *args, **kwargs)
|
1233
1233
|
#; [!zgfg9] finds fixture block in current or parent node.
|
1234
1234
|
node = self.class.__node
|
1235
1235
|
while node && (tuple = node.get_fixture_block(name)) == nil
|
@@ -1244,7 +1244,7 @@ END
|
|
1244
1244
|
#; [!m4ava] calls fixture block and returns result of it.
|
1245
1245
|
#; [!l2mcx] accepts block arguments.
|
1246
1246
|
block, _, _ = tuple
|
1247
|
-
return block.call(*args)
|
1247
|
+
return block.call(*args, **kwargs)
|
1248
1248
|
end
|
1249
1249
|
|
1250
1250
|
def TODO()
|
@@ -1913,6 +1913,12 @@ END
|
|
1913
1913
|
puts "## #{scope.filename}"
|
1914
1914
|
end
|
1915
1915
|
|
1916
|
+
def exit_scope(scope)
|
1917
|
+
#; [!ibdu7] reports errors even when no topics.
|
1918
|
+
super
|
1919
|
+
print_exceptions()
|
1920
|
+
end
|
1921
|
+
|
1916
1922
|
def enter_topic(topic, depth)
|
1917
1923
|
super
|
1918
1924
|
puts "#{' ' * (depth - 1)}#{topic._prefix} #{Color.topic(topic.target)}"
|
data/oktest.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
###
|
4
|
-
### $Release: 1.2.
|
4
|
+
### $Release: 1.2.1 $
|
5
5
|
### $License: MIT License $
|
6
6
|
### $Copyright: copyright(c) 2011-2021 kuwata-lab.com all rights reserved $
|
7
7
|
###
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.name = "oktest"
|
14
14
|
s.author = "kwatch"
|
15
15
|
s.email = "kwatch@gmail.com"
|
16
|
-
s.version = "$Release: 1.2.
|
16
|
+
s.version = "$Release: 1.2.1 $".split()[1]
|
17
17
|
s.license = "MIT"
|
18
18
|
s.platform = Gem::Platform::RUBY
|
19
19
|
s.homepage = "https://github.com/kwatch/oktest/tree/ruby"
|
data/test/assertion_test.rb
CHANGED
data/test/filter_test.rb
CHANGED
data/test/fixture_test.rb
CHANGED
data/test/generator_test.rb
CHANGED
data/test/helper_test.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
###
|
2
|
-
### $Release: 1.2.
|
2
|
+
### $Release: 1.2.1 $
|
3
3
|
### $Copyright: copyright(c) 2011-2021 kuwata-lab.com all rights reserved $
|
4
4
|
### $License: MIT License $
|
5
5
|
###
|
@@ -129,17 +129,17 @@ class SpecHelper_TC < TC
|
|
129
129
|
it "[!l2mcx] accepts block arguments." do
|
130
130
|
val = nil
|
131
131
|
Oktest.scope() do
|
132
|
-
fixture :foo do |x, y|
|
133
|
-
{x: x, y: y}
|
132
|
+
fixture :foo do |x, y, z: 0|
|
133
|
+
{x: x, y: y, z: z}
|
134
134
|
end
|
135
135
|
topic 'Example' do
|
136
136
|
spec 'sample' do
|
137
|
-
val = fixture(:foo, 10, 20)
|
137
|
+
val = fixture(:foo, 10, 20, z: 30)
|
138
138
|
end
|
139
139
|
end
|
140
140
|
end
|
141
141
|
capture { Oktest.run() }
|
142
|
-
assert_eq val, {x: 10, y: 20}
|
142
|
+
assert_eq val, {x: 10, y: 20, z: 30}
|
143
143
|
end
|
144
144
|
it "[!wxcsp] raises error when fixture not found." do
|
145
145
|
exc = nil
|
data/test/initialize.rb
CHANGED
data/test/mainapp_test.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
###
|
2
|
-
### $Release: 1.2.
|
2
|
+
### $Release: 1.2.1 $
|
3
3
|
### $Copyright: copyright(c) 2011-2021 kuwata-lab.com all rights reserved $
|
4
4
|
### $License: MIT License $
|
5
5
|
###
|
@@ -257,7 +257,7 @@ END
|
|
257
257
|
end
|
258
258
|
|
259
259
|
it "[!qqizl] '--version' option prints version number." do
|
260
|
-
expected = '$Release: 1.2.
|
260
|
+
expected = '$Release: 1.2.1 $'.split()[1] + "\n"
|
261
261
|
#
|
262
262
|
ret, sout, serr = run("--version")
|
263
263
|
assert_eq ret, 0
|
data/test/matcher_test.rb
CHANGED
data/test/misc_test.rb
CHANGED
data/test/node_test.rb
CHANGED
data/test/reporter_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
###
|
4
|
-
### $Release: 1.2.
|
4
|
+
### $Release: 1.2.1 $
|
5
5
|
### $Copyright: copyright(c) 2011-2021 kuwata-lab.com all rights reserved $
|
6
6
|
### $License: MIT License $
|
7
7
|
###
|
@@ -527,6 +527,37 @@ class VerboseReporter_TC < Reporter_TC
|
|
527
527
|
assert_eq serr, ""
|
528
528
|
end
|
529
529
|
|
530
|
+
it "[!ibdu7] reports errors even when no topics." do
|
531
|
+
input = <<'END'
|
532
|
+
require 'oktest'
|
533
|
+
Oktest.scope do
|
534
|
+
spec "example" do
|
535
|
+
ok {1-1} == 2
|
536
|
+
end
|
537
|
+
end
|
538
|
+
END
|
539
|
+
File.write(@filename, input)
|
540
|
+
#
|
541
|
+
expected = <<'END'
|
542
|
+
## _test.tmp
|
543
|
+
- [<R>Fail</R>] example
|
544
|
+
----------------------------------------------------------------------
|
545
|
+
[<R>Fail</R>] <b>example</b>
|
546
|
+
_test.tmp:4:in `block (2 levels) in <top (required)>'
|
547
|
+
ok {1-1} == 2
|
548
|
+
%%%
|
549
|
+
<R>$<actual> == $<expected>: failed.</R>
|
550
|
+
$<actual>: 0
|
551
|
+
$<expected>: 2
|
552
|
+
----------------------------------------------------------------------
|
553
|
+
## total:1 (pass:0, <R>fail:1</R>, error:0, skip:0, todo:0) in 0.000s
|
554
|
+
END
|
555
|
+
#
|
556
|
+
sout, serr = run("-sv", @filename)
|
557
|
+
assert_eq edit_actual(sout), edit_expected(expected)
|
558
|
+
assert_eq serr, ""
|
559
|
+
end
|
560
|
+
|
530
561
|
end
|
531
562
|
|
532
563
|
|
data/test/runner_test.rb
CHANGED
data/test/util_test.rb
CHANGED
data/test/utilhelper_test.rb
CHANGED
data/test/visitor_test.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oktest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kwatch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: diff-lcs
|