tldr 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +22 -0
- data/lib/tldr/assertions.rb +2 -2
- data/lib/tldr/backtrace_filter.rb +1 -5
- data/lib/tldr/rake.rb +4 -0
- data/lib/tldr/reporters/default.rb +2 -4
- data/lib/tldr/version.rb +1 -1
- data/script/setup +21 -0
- data/script/test +10 -21
- metadata +5 -5
- data/script/parse +0 -6
- data/script/run +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dff20d2ad060e8ac1b1219978e871b9dc06014186429371dd2de8e929c092b78
|
4
|
+
data.tar.gz: 5922e6fb5053898d5ff70162d9d542f759332db59f29cfbd89ab4aadfb7d5623
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46165b260ba40d54acbc986258c9a7f94377960f05acaec34bba27b6dc16cde89a19884393b008d751f64c413d54c445a39202c493293f106fd7a2cbd32f06fa
|
7
|
+
data.tar.gz: 60785c5e4bb01cc804636c770b299e1c08b1f97165a1459a17e8de59a178df2267e04e9ffb9a98e95aa9fc698aeb26139094b79b20c035d72a6ffa7780d89aa7
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -203,6 +203,28 @@ with these caveats:
|
|
203
203
|
TLDR::Assertions::MinitestCompatibility` into the `TLDR` base class or
|
204
204
|
individual test classes
|
205
205
|
|
206
|
+
### Running TLDR with Rake
|
207
|
+
|
208
|
+
TLDR ships with a [very](lib/tldr/rake.rb) minimal rake task that simply shells
|
209
|
+
out to the `tldr` CLI. If you want to run TLDR with Rake, you can configure
|
210
|
+
the test run by setting flags on an env var named `TLDR_OPTS` or else in
|
211
|
+
the [.tldr.yml](#setting-defaults-in-tldryml).
|
212
|
+
|
213
|
+
Here's an example Rakefile:
|
214
|
+
|
215
|
+
```ruby
|
216
|
+
require "standard/rake"
|
217
|
+
require "tldr/rake"
|
218
|
+
|
219
|
+
task default: [:tldr, "standard:fix"]
|
220
|
+
```
|
221
|
+
|
222
|
+
You could then run the task with:
|
223
|
+
|
224
|
+
```
|
225
|
+
$ TLDR_OPTS="--no-parallel" bundle exec rake tldr
|
226
|
+
```
|
227
|
+
|
206
228
|
### How will I run all my tests in CI without the time bomb going off?
|
207
229
|
|
208
230
|
TLDR will run all your tests in CI without the time bomb going off.
|
data/lib/tldr/assertions.rb
CHANGED
@@ -28,7 +28,7 @@ class TLDR
|
|
28
28
|
SuperDiff::EqualityMatchers::Main.call(expected:, actual:)
|
29
29
|
end
|
30
30
|
|
31
|
-
def
|
31
|
+
def capture_io
|
32
32
|
captured_stdout, captured_stderr = StringIO.new, StringIO.new
|
33
33
|
|
34
34
|
original_stdout, original_stderr = $stdout, $stderr
|
@@ -204,7 +204,7 @@ class TLDR
|
|
204
204
|
def assert_output expected_stdout, expected_stderr, message = nil, &block
|
205
205
|
assert_block "assert_output requires a block to capture output" unless block
|
206
206
|
|
207
|
-
actual_stdout, actual_stderr =
|
207
|
+
actual_stdout, actual_stderr = capture_io(&block)
|
208
208
|
|
209
209
|
if Regexp === expected_stderr
|
210
210
|
assert_match expected_stderr, actual_stderr, "In stderr"
|
@@ -1,8 +1,6 @@
|
|
1
1
|
class TLDR
|
2
2
|
class BacktraceFilter
|
3
3
|
BASE_PATH = __dir__.freeze
|
4
|
-
SORBET_RUNTIME_PATTERN = %r{sorbet-runtime.*[/\\]lib[/\\]types[/\\]private[/\\]}
|
5
|
-
CONCURRENT_RUBY_PATTERN = %r{concurrent-ruby.*[/\\]lib[/\\]concurrent-ruby[/\\]concurrent[/\\]}
|
6
4
|
|
7
5
|
def filter backtrace
|
8
6
|
return ["No backtrace"] unless backtrace
|
@@ -32,9 +30,7 @@ class TLDR
|
|
32
30
|
end
|
33
31
|
|
34
32
|
def internal? frame
|
35
|
-
frame.start_with?(BASE_PATH)
|
36
|
-
frame.match?(SORBET_RUNTIME_PATTERN) ||
|
37
|
-
frame.match?(CONCURRENT_RUBY_PATTERN)
|
33
|
+
frame.start_with?(BASE_PATH)
|
38
34
|
end
|
39
35
|
end
|
40
36
|
|
data/lib/tldr/rake.rb
ADDED
@@ -73,10 +73,8 @@ class TLDR
|
|
73
73
|
duration = time_diff @suite_start_time
|
74
74
|
test_results = test_results.sort_by { |result| [result.test.location.file, result.test.location.line] }
|
75
75
|
|
76
|
-
@out.print "\n\n"
|
77
76
|
@err.print summarize_failures(test_results).join("\n\n")
|
78
77
|
|
79
|
-
@out.print "\n\n"
|
80
78
|
@out.print summarize_skips(test_results).join("\n")
|
81
79
|
|
82
80
|
@out.print "\n\n"
|
@@ -102,7 +100,7 @@ class TLDR
|
|
102
100
|
failures = results.select { |result| result.failing? }
|
103
101
|
return failures if failures.empty?
|
104
102
|
|
105
|
-
["
|
103
|
+
["\n\nFailing tests:"] + failures.map.with_index { |result, i| summarize_result result, i }
|
106
104
|
end
|
107
105
|
|
108
106
|
def summarize_result result, index
|
@@ -119,7 +117,7 @@ class TLDR
|
|
119
117
|
skips = results.select { |result| result.skip? }
|
120
118
|
return skips if skips.empty?
|
121
119
|
|
122
|
-
["
|
120
|
+
["\n\nSkipped tests:\n"] + skips.map { |result| " - #{describe(result.test)}" }
|
123
121
|
end
|
124
122
|
|
125
123
|
def describe test, location = test.location
|
data/lib/tldr/version.rb
CHANGED
data/script/setup
ADDED
data/script/test
CHANGED
@@ -1,25 +1,14 @@
|
|
1
|
-
#!/usr/bin/env
|
2
|
-
$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
|
1
|
+
#!/usr/bin/env bash
|
3
2
|
|
4
|
-
|
3
|
+
set -e
|
5
4
|
|
6
|
-
|
7
|
-
def test_passes
|
8
|
-
assert true
|
9
|
-
end
|
5
|
+
bundle exec rake
|
10
6
|
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
cd example/a
|
8
|
+
bundle exec tldr | grep "😁😁"
|
9
|
+
cd ../..
|
14
10
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
def test_slow
|
20
|
-
skip
|
21
|
-
sleep 2
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
TLDR::Run.run(TLDR::Config.new(paths: []))
|
11
|
+
cd example/b
|
12
|
+
bundle exec ruby -Itest test/some_test.rb | grep "😁"
|
13
|
+
bundle exec rake tldr | grep "😁"
|
14
|
+
cd ../..
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tldr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Searls
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-09-
|
12
|
+
date: 2023-09-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: super_diff
|
@@ -61,6 +61,7 @@ files:
|
|
61
61
|
- lib/tldr/backtrace_filter.rb
|
62
62
|
- lib/tldr/error.rb
|
63
63
|
- lib/tldr/planner.rb
|
64
|
+
- lib/tldr/rake.rb
|
64
65
|
- lib/tldr/reporters.rb
|
65
66
|
- lib/tldr/reporters/base.rb
|
66
67
|
- lib/tldr/reporters/default.rb
|
@@ -76,8 +77,7 @@ files:
|
|
76
77
|
- lib/tldr/value/test_result.rb
|
77
78
|
- lib/tldr/value/wip_test.rb
|
78
79
|
- lib/tldr/version.rb
|
79
|
-
- script/
|
80
|
-
- script/run
|
80
|
+
- script/setup
|
81
81
|
- script/test
|
82
82
|
homepage: https://github.com/tenderlove/tldr
|
83
83
|
licenses:
|
@@ -101,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
103
|
requirements: []
|
104
|
-
rubygems_version: 3.4.
|
104
|
+
rubygems_version: 3.4.17
|
105
105
|
signing_key:
|
106
106
|
specification_version: 4
|
107
107
|
summary: TLDR will run your tests, but only for 1.8 seconds.
|
data/script/parse
DELETED