tldr 0.1.0 → 0.2.0
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/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