rspec-progress_table 0.1.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 +7 -0
- data/.gitignore +11 -0
- data/.rspec +3 -0
- data/.rubocop.yml +133 -0
- data/.travis.yml +6 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +81 -0
- data/README.md +46 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/rubocop +27 -0
- data/bin/setup +8 -0
- data/lib/rspec/progress_table/formatter.rb +58 -0
- data/lib/rspec/progress_table/server.rb +88 -0
- data/lib/rspec/progress_table/test_queue.rb +51 -0
- data/lib/rspec/progress_table/version.rb +5 -0
- data/lib/rspec/progress_table.rb +12 -0
- data/rspec-progress_table.gemspec +32 -0
- metadata +92 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d83a41d2b9557dbd158d675d1232192918fa195009d64097d39952ce95b2051a
|
4
|
+
data.tar.gz: 19523044b6d631bbe61fc5c580e81d301cb17da5d1954bbe2682cf3118d3598a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: fd77f8b65909818ee9e24b094c32d3ecf0370f8e511e23a2f2364252ff23008fabfd4eaf603d5ed7ef5b0a8ffa6e6ac27bca65b419db676929dc1d35670a95c0
|
7
|
+
data.tar.gz: 7d90ce013ff8f5391fdf2554aa7726052635956a2615eb4ee2c30fa1c831ce33d5c686edeb5d74d8db16b61658abce8a13f797e0f4516480fb693c3fb055e42d
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,133 @@
|
|
1
|
+
AllCops:
|
2
|
+
Exclude:
|
3
|
+
- bin/*
|
4
|
+
- node_modules/**/*
|
5
|
+
NewCops: enable
|
6
|
+
|
7
|
+
Layout/CaseIndentation:
|
8
|
+
EnforcedStyle: end
|
9
|
+
|
10
|
+
Layout/EndAlignment:
|
11
|
+
EnforcedStyleAlignWith: variable
|
12
|
+
|
13
|
+
Layout/LineLength:
|
14
|
+
Enabled: false
|
15
|
+
|
16
|
+
Layout/EmptyLinesAroundAccessModifier:
|
17
|
+
EnforcedStyle: only_before
|
18
|
+
|
19
|
+
Layout/SpaceInLambdaLiteral:
|
20
|
+
EnforcedStyle: require_space
|
21
|
+
|
22
|
+
Layout/SpaceInsideBlockBraces:
|
23
|
+
SpaceBeforeBlockParameters: false
|
24
|
+
|
25
|
+
Layout/SpaceInsideHashLiteralBraces:
|
26
|
+
EnforcedStyle: no_space
|
27
|
+
|
28
|
+
Metrics/AbcSize:
|
29
|
+
Enabled: false
|
30
|
+
|
31
|
+
Metrics/BlockLength:
|
32
|
+
Enabled: false
|
33
|
+
|
34
|
+
Metrics/ClassLength:
|
35
|
+
Enabled: false
|
36
|
+
|
37
|
+
Metrics/CyclomaticComplexity:
|
38
|
+
Enabled: false
|
39
|
+
|
40
|
+
Metrics/MethodLength:
|
41
|
+
Enabled: false
|
42
|
+
|
43
|
+
Metrics/ModuleLength:
|
44
|
+
Enabled: false
|
45
|
+
|
46
|
+
Metrics/PerceivedComplexity:
|
47
|
+
Enabled: false
|
48
|
+
|
49
|
+
Naming/HeredocDelimiterNaming:
|
50
|
+
Enabled: false
|
51
|
+
|
52
|
+
Naming/MethodParameterName:
|
53
|
+
Enabled: false
|
54
|
+
|
55
|
+
Naming/PredicateName:
|
56
|
+
Enabled: false
|
57
|
+
|
58
|
+
Style/Alias:
|
59
|
+
EnforcedStyle: prefer_alias_method
|
60
|
+
|
61
|
+
Style/AsciiComments:
|
62
|
+
Enabled: false
|
63
|
+
|
64
|
+
Style/BlockDelimiters:
|
65
|
+
Enabled: false
|
66
|
+
|
67
|
+
Style/Documentation:
|
68
|
+
Enabled: false
|
69
|
+
|
70
|
+
Style/EmptyCaseCondition:
|
71
|
+
Enabled: false
|
72
|
+
|
73
|
+
Style/EmptyMethod:
|
74
|
+
EnforcedStyle: expanded
|
75
|
+
|
76
|
+
Style/FrozenStringLiteralComment:
|
77
|
+
Enabled: false
|
78
|
+
|
79
|
+
Style/HashAsLastArrayItem:
|
80
|
+
Enabled: false
|
81
|
+
|
82
|
+
Style/HashSyntax:
|
83
|
+
Exclude:
|
84
|
+
- Rakefile
|
85
|
+
- "**/*.rake"
|
86
|
+
|
87
|
+
Style/Lambda:
|
88
|
+
EnforcedStyle: literal
|
89
|
+
|
90
|
+
Style/IfUnlessModifier:
|
91
|
+
Enabled: false
|
92
|
+
|
93
|
+
Style/KeywordParametersOrder:
|
94
|
+
Enabled: false
|
95
|
+
|
96
|
+
Style/MultilineBlockChain:
|
97
|
+
Enabled: false
|
98
|
+
|
99
|
+
Style/NumericLiterals:
|
100
|
+
Enabled: false
|
101
|
+
|
102
|
+
Style/NumericPredicate:
|
103
|
+
Enabled: false
|
104
|
+
|
105
|
+
Style/PercentLiteralDelimiters:
|
106
|
+
PreferredDelimiters:
|
107
|
+
'%i': '()'
|
108
|
+
'%w': '()'
|
109
|
+
'%r': '()'
|
110
|
+
|
111
|
+
Style/SpecialGlobalVars:
|
112
|
+
Enabled: false
|
113
|
+
|
114
|
+
Style/StringLiterals:
|
115
|
+
EnforcedStyle: double_quotes
|
116
|
+
|
117
|
+
Style/StringLiteralsInInterpolation:
|
118
|
+
EnforcedStyle: double_quotes
|
119
|
+
|
120
|
+
Style/SymbolArray:
|
121
|
+
Enabled: false
|
122
|
+
|
123
|
+
Style/TrailingCommaInArguments:
|
124
|
+
EnforcedStyleForMultiline: consistent_comma
|
125
|
+
|
126
|
+
Style/TrailingCommaInArrayLiteral:
|
127
|
+
EnforcedStyleForMultiline: consistent_comma
|
128
|
+
|
129
|
+
Style/TrailingCommaInHashLiteral:
|
130
|
+
EnforcedStyleForMultiline: consistent_comma
|
131
|
+
|
132
|
+
Style/ZeroLengthPredicate:
|
133
|
+
Enabled: false
|
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
rspec-progress_table (0.1.0)
|
5
|
+
concurrent-ruby (~> 1.3)
|
6
|
+
tty-table (~> 0.12.0)
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
ast (2.4.3)
|
12
|
+
concurrent-ruby (1.3.5)
|
13
|
+
diff-lcs (1.5.1)
|
14
|
+
json (2.12.2)
|
15
|
+
language_server-protocol (3.17.0.5)
|
16
|
+
lint_roller (1.1.0)
|
17
|
+
parallel (1.27.0)
|
18
|
+
parser (3.3.8.0)
|
19
|
+
ast (~> 2.4.1)
|
20
|
+
racc
|
21
|
+
pastel (0.8.0)
|
22
|
+
tty-color (~> 0.5)
|
23
|
+
prism (1.4.0)
|
24
|
+
racc (1.8.1)
|
25
|
+
rainbow (3.1.1)
|
26
|
+
rake (12.3.3)
|
27
|
+
regexp_parser (2.10.0)
|
28
|
+
rspec (3.13.0)
|
29
|
+
rspec-core (~> 3.13.0)
|
30
|
+
rspec-expectations (~> 3.13.0)
|
31
|
+
rspec-mocks (~> 3.13.0)
|
32
|
+
rspec-core (3.13.3)
|
33
|
+
rspec-support (~> 3.13.0)
|
34
|
+
rspec-expectations (3.13.3)
|
35
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
36
|
+
rspec-support (~> 3.13.0)
|
37
|
+
rspec-mocks (3.13.2)
|
38
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
39
|
+
rspec-support (~> 3.13.0)
|
40
|
+
rspec-support (3.13.2)
|
41
|
+
rubocop (1.75.8)
|
42
|
+
json (~> 2.3)
|
43
|
+
language_server-protocol (~> 3.17.0.2)
|
44
|
+
lint_roller (~> 1.1.0)
|
45
|
+
parallel (~> 1.10)
|
46
|
+
parser (>= 3.3.0.2)
|
47
|
+
rainbow (>= 2.2.2, < 4.0)
|
48
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
49
|
+
rubocop-ast (>= 1.44.0, < 2.0)
|
50
|
+
ruby-progressbar (~> 1.7)
|
51
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
52
|
+
rubocop-ast (1.45.0)
|
53
|
+
parser (>= 3.3.7.2)
|
54
|
+
prism (~> 1.4)
|
55
|
+
ruby-progressbar (1.13.0)
|
56
|
+
strings (0.2.1)
|
57
|
+
strings-ansi (~> 0.2)
|
58
|
+
unicode-display_width (>= 1.5, < 3.0)
|
59
|
+
unicode_utils (~> 1.4)
|
60
|
+
strings-ansi (0.2.0)
|
61
|
+
tty-color (0.6.0)
|
62
|
+
tty-screen (0.8.2)
|
63
|
+
tty-table (0.12.0)
|
64
|
+
pastel (~> 0.8)
|
65
|
+
strings (~> 0.2.0)
|
66
|
+
tty-screen (~> 0.8)
|
67
|
+
unicode-display_width (2.6.0)
|
68
|
+
unicode_utils (1.4.0)
|
69
|
+
|
70
|
+
PLATFORMS
|
71
|
+
arm64-darwin-23
|
72
|
+
ruby
|
73
|
+
|
74
|
+
DEPENDENCIES
|
75
|
+
rake (~> 12.0)
|
76
|
+
rspec (~> 3.0)
|
77
|
+
rspec-progress_table!
|
78
|
+
rubocop (~> 1.75)
|
79
|
+
|
80
|
+
BUNDLED WITH
|
81
|
+
2.6.6
|
data/README.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# Rspec::ProgressTable
|
2
|
+
|
3
|
+

|
4
|
+
|
5
|
+
RSpec::ProgressTable is an RSpec formatter that displays test progress in a table format during RSpec runs.
|
6
|
+
|
7
|
+
## Usage
|
8
|
+
|
9
|
+
bundle add rspec-progress_table
|
10
|
+
bin/rspec --require rspec/progress_table --format RSpec::ProgressTable::Formatter spec
|
11
|
+
|
12
|
+
|
13
|
+
Since it's a hassle to specify the options every time, you can add the following to your `.rspec` file and simply run `bin/rspec spec`:
|
14
|
+
|
15
|
+
--require rspec/progress_table --format RSpec::ProgressTable::Formatter
|
16
|
+
|
17
|
+
## Using with test-queue
|
18
|
+
|
19
|
+
When using it together with [tmm1/test-queue](https://github.com/tmm1/test-queue), configure it like this:
|
20
|
+
|
21
|
+
```ruby
|
22
|
+
# ...
|
23
|
+
|
24
|
+
# Start the progress output server
|
25
|
+
# Suppress default output
|
26
|
+
require "rspec/progress_table/test_queue"
|
27
|
+
RSpec::ProgressTable::TestQueue.use
|
28
|
+
|
29
|
+
class FooRunner < TestQueue::Runner::RSpec
|
30
|
+
# Send total number of spec files and current progress to the progress output server
|
31
|
+
include ::RSpec::ProgressTable::TestQueue::Runner
|
32
|
+
end
|
33
|
+
|
34
|
+
FooRunner.new.execute
|
35
|
+
```
|
36
|
+
|
37
|
+
## Development
|
38
|
+
|
39
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
40
|
+
|
41
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
42
|
+
|
43
|
+
## Contributing
|
44
|
+
|
45
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/labocho/rspec-progress_table.
|
46
|
+
|
data/Rakefile
ADDED
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "rspec/progress_table"
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require "irb"
|
14
|
+
IRB.start(__FILE__)
|
data/bin/rubocop
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'rubocop' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
|
12
|
+
|
13
|
+
bundle_binstub = File.expand_path("bundle", __dir__)
|
14
|
+
|
15
|
+
if File.file?(bundle_binstub)
|
16
|
+
if File.read(bundle_binstub, 300).include?("This file was generated by Bundler")
|
17
|
+
load(bundle_binstub)
|
18
|
+
else
|
19
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
20
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
require "rubygems"
|
25
|
+
require "bundler/setup"
|
26
|
+
|
27
|
+
load Gem.bin_path("rubocop", "rubocop")
|
data/bin/setup
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
require "rspec"
|
2
|
+
require "drb/drb"
|
3
|
+
|
4
|
+
module RSpec
|
5
|
+
module ProgressTable
|
6
|
+
class Formatter < RSpec::Core::Formatters::ProgressFormatter
|
7
|
+
RSpec::Core::Formatters.register self, :example_started, :example_passed, :example_pending, :example_failed, :start, :dump_failures, :dump_pending, :dump_summary
|
8
|
+
|
9
|
+
attr_reader :server
|
10
|
+
|
11
|
+
def initialize(output)
|
12
|
+
super
|
13
|
+
DRb.start_service
|
14
|
+
@server = if ENV["RSPEC_PROGRESS_TABLE_SERVER"]
|
15
|
+
DRbObject.new_with_uri(ENV["RSPEC_PROGRESS_TABLE_SERVER"])
|
16
|
+
else
|
17
|
+
Server.start
|
18
|
+
DRbObject.new_with_uri(DEFAULT_SERVER_URL)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def start(notification)
|
23
|
+
server.update_total(Process.pid, notification.count)
|
24
|
+
end
|
25
|
+
|
26
|
+
def example_started(_)
|
27
|
+
end
|
28
|
+
|
29
|
+
def example_passed(_)
|
30
|
+
server.passed(Process.pid)
|
31
|
+
end
|
32
|
+
|
33
|
+
def example_failed(_)
|
34
|
+
server.failed(Process.pid)
|
35
|
+
end
|
36
|
+
|
37
|
+
def example_pending(_)
|
38
|
+
server.pending(Process.pid)
|
39
|
+
end
|
40
|
+
|
41
|
+
def dump_failures(notification)
|
42
|
+
return if notification.failure_notifications.empty?
|
43
|
+
|
44
|
+
server.dump(notification.fully_formatted_failed_examples)
|
45
|
+
end
|
46
|
+
|
47
|
+
def dump_pending(notification)
|
48
|
+
return if notification.pending_examples.empty?
|
49
|
+
|
50
|
+
server.dump(notification.fully_formatted_pending_examples)
|
51
|
+
end
|
52
|
+
|
53
|
+
def dump_summary(summary)
|
54
|
+
server.dump(summary.fully_formatted)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require "tty/table"
|
2
|
+
require "drb/drb"
|
3
|
+
require "concurrent"
|
4
|
+
|
5
|
+
module RSpec
|
6
|
+
module ProgressTable
|
7
|
+
class Server
|
8
|
+
Progress = Struct.new(:pid, :passed, :failed, :pending, :total)
|
9
|
+
attr_reader :progresses, :output, :number_of_queue_shifted, :queue_size, :show_total
|
10
|
+
attr_accessor :previous_rendered_lines
|
11
|
+
|
12
|
+
def self.start(url = DEFAULT_SERVER_URL)
|
13
|
+
DRb.start_service(url, new)
|
14
|
+
end
|
15
|
+
|
16
|
+
def initialize(output = $stdout)
|
17
|
+
@progresses = Concurrent::Map.new {|m, pid|
|
18
|
+
m[pid] = Progress.new(pid, 0, 0, 0, 0)
|
19
|
+
}
|
20
|
+
@previous_rendered_lines = 0
|
21
|
+
@output = output
|
22
|
+
@queue_size = 0
|
23
|
+
@number_of_queue_shifted = 0
|
24
|
+
@show_total = false
|
25
|
+
end
|
26
|
+
|
27
|
+
def passed(pid)
|
28
|
+
progresses[pid].passed += 1
|
29
|
+
render
|
30
|
+
end
|
31
|
+
|
32
|
+
def failed(pid)
|
33
|
+
progresses[pid].failed += 1
|
34
|
+
render
|
35
|
+
end
|
36
|
+
|
37
|
+
def pending(pid)
|
38
|
+
progresses[pid].pending += 1
|
39
|
+
render
|
40
|
+
end
|
41
|
+
|
42
|
+
def update_total(pid, n)
|
43
|
+
progresses[pid].total = n
|
44
|
+
@show_total = true if n > 0
|
45
|
+
end
|
46
|
+
|
47
|
+
def dump(s)
|
48
|
+
puts s
|
49
|
+
self.previous_rendered_lines = 0
|
50
|
+
end
|
51
|
+
|
52
|
+
def update_queue_size(n)
|
53
|
+
@queue_size = n
|
54
|
+
end
|
55
|
+
|
56
|
+
def queue_shifted
|
57
|
+
@number_of_queue_shifted += 1
|
58
|
+
end
|
59
|
+
|
60
|
+
def render
|
61
|
+
table = TTY::Table.new(header: %w(PID Passed Failed Pending) + (show_total ? ["Total"] : []))
|
62
|
+
progresses.each_value do |progress|
|
63
|
+
table << (
|
64
|
+
[
|
65
|
+
progress.pid,
|
66
|
+
RSpec::Core::Formatters::ConsoleCodes.wrap(progress.passed, :success),
|
67
|
+
RSpec::Core::Formatters::ConsoleCodes.wrap(progress.failed, :failure),
|
68
|
+
RSpec::Core::Formatters::ConsoleCodes.wrap(progress.pending, :pending),
|
69
|
+
] + (show_total ? [progress.total] : [])
|
70
|
+
)
|
71
|
+
end
|
72
|
+
|
73
|
+
s = table.render(:unicode, padding: [0, 1, 0, 1], alignments: [:left, :right, :right, :right, :right])
|
74
|
+
line_count = s.lines.count
|
75
|
+
|
76
|
+
output.write("\e[1A" * previous_rendered_lines) if previous_rendered_lines > 0
|
77
|
+
output.puts(s)
|
78
|
+
|
79
|
+
unless queue_size.zero?
|
80
|
+
r = format("%.2f", number_of_queue_shifted / queue_size.to_f * 100)
|
81
|
+
puts "Queue: #{number_of_queue_shifted} / #{queue_size} (#{r}%)"
|
82
|
+
line_count += 1
|
83
|
+
end
|
84
|
+
self.previous_rendered_lines = line_count
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module RSpec
|
2
|
+
module ProgressTable
|
3
|
+
module TestQueue
|
4
|
+
class << self
|
5
|
+
attr_reader :server
|
6
|
+
|
7
|
+
def use(server_url = DEFAULT_SERVER_URL)
|
8
|
+
# Example 名と処理時間の表示を抑制
|
9
|
+
RSpec::Core::QueueRunner.include(
|
10
|
+
Module.new do
|
11
|
+
def print(s)
|
12
|
+
# nop
|
13
|
+
end
|
14
|
+
|
15
|
+
def puts(s)
|
16
|
+
# nop
|
17
|
+
end
|
18
|
+
end,
|
19
|
+
)
|
20
|
+
|
21
|
+
RSpec::ProgressTable::Server.start(server_url)
|
22
|
+
@server = DRbObject.new_with_uri(server_url)
|
23
|
+
ENV["RSPEC_PROGRESS_TABLE_SERVER"] = server_url
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
module Runner
|
28
|
+
module PrependingMethods
|
29
|
+
def prepare(concurrency)
|
30
|
+
::RSpec::ProgressTable::TestQueue.server.update_queue_size(@queue.size)
|
31
|
+
@queue.singleton_class.prepend(
|
32
|
+
Module.new {
|
33
|
+
def shift
|
34
|
+
::RSpec::ProgressTable::TestQueue.server.queue_shifted
|
35
|
+
super
|
36
|
+
end
|
37
|
+
},
|
38
|
+
)
|
39
|
+
super
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.included(base)
|
44
|
+
base.class_eval do
|
45
|
+
prepend PrependingMethods
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require "rspec/progress_table/version"
|
2
|
+
|
3
|
+
module RSpec
|
4
|
+
module ProgressTable
|
5
|
+
class Error < StandardError; end
|
6
|
+
|
7
|
+
DEFAULT_SERVER_URL = "druby://localhost:8787".freeze
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
require_relative "progress_table/server"
|
12
|
+
require_relative "progress_table/formatter"
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require_relative "lib/rspec/progress_table/version"
|
2
|
+
|
3
|
+
Gem::Specification.new do |spec|
|
4
|
+
spec.name = "rspec-progress_table"
|
5
|
+
spec.version = Rspec::ProgressTable::VERSION
|
6
|
+
spec.authors = ["labocho"]
|
7
|
+
spec.email = ["labocho@penguinlab.jp"]
|
8
|
+
|
9
|
+
spec.summary = "RSpec formatter that shows progress in a table format."
|
10
|
+
spec.description = "RSpec formatter that shows progress in a table format."
|
11
|
+
spec.homepage = "https://gitub.com/socioart/rspec-progress_table"
|
12
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
|
13
|
+
|
14
|
+
# spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
15
|
+
|
16
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
17
|
+
spec.metadata["source_code_uri"] = "https://gitub.com/socioart/rspec-progress_table"
|
18
|
+
spec.metadata["changelog_uri"] = "https://github.com/socioart/rspec-progress_table/blob/main/CHANGELOG.md"
|
19
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
20
|
+
|
21
|
+
# Specify which files should be added to the gem when it is released.
|
22
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
23
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
24
|
+
`git ls-files -z`.split("\x0").reject {|f| f.match(%r{^(test|spec|features)/}) }
|
25
|
+
end
|
26
|
+
spec.bindir = "exe"
|
27
|
+
spec.executables = spec.files.grep(%r(^exe/)) {|f| File.basename(f) }
|
28
|
+
spec.require_paths = ["lib"]
|
29
|
+
|
30
|
+
spec.add_dependency "concurrent-ruby", "~> 1.3"
|
31
|
+
spec.add_dependency "tty-table", "~> 0.12.0"
|
32
|
+
end
|
metadata
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rspec-progress_table
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- labocho
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2025-06-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: concurrent-ruby
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: tty-table
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.12.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.12.0
|
41
|
+
description: RSpec formatter that shows progress in a table format.
|
42
|
+
email:
|
43
|
+
- labocho@penguinlab.jp
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- ".gitignore"
|
49
|
+
- ".rspec"
|
50
|
+
- ".rubocop.yml"
|
51
|
+
- ".travis.yml"
|
52
|
+
- CHANGELOG.md
|
53
|
+
- Gemfile
|
54
|
+
- Gemfile.lock
|
55
|
+
- README.md
|
56
|
+
- Rakefile
|
57
|
+
- bin/console
|
58
|
+
- bin/rubocop
|
59
|
+
- bin/setup
|
60
|
+
- lib/rspec/progress_table.rb
|
61
|
+
- lib/rspec/progress_table/formatter.rb
|
62
|
+
- lib/rspec/progress_table/server.rb
|
63
|
+
- lib/rspec/progress_table/test_queue.rb
|
64
|
+
- lib/rspec/progress_table/version.rb
|
65
|
+
- rspec-progress_table.gemspec
|
66
|
+
homepage: https://gitub.com/socioart/rspec-progress_table
|
67
|
+
licenses: []
|
68
|
+
metadata:
|
69
|
+
homepage_uri: https://gitub.com/socioart/rspec-progress_table
|
70
|
+
source_code_uri: https://gitub.com/socioart/rspec-progress_table
|
71
|
+
changelog_uri: https://github.com/socioart/rspec-progress_table/blob/main/CHANGELOG.md
|
72
|
+
rubygems_mfa_required: 'true'
|
73
|
+
post_install_message:
|
74
|
+
rdoc_options: []
|
75
|
+
require_paths:
|
76
|
+
- lib
|
77
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 2.3.0
|
82
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
87
|
+
requirements: []
|
88
|
+
rubygems_version: 3.5.18
|
89
|
+
signing_key:
|
90
|
+
specification_version: 4
|
91
|
+
summary: RSpec formatter that shows progress in a table format.
|
92
|
+
test_files: []
|