anyt-core 1.3.0 → 1.4.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/lib/anyt/cli.rb +15 -0
- data/lib/anyt/client.rb +2 -1
- data/lib/anyt/config.rb +8 -0
- data/lib/anyt/dummy/application.rb +4 -2
- data/lib/anyt/ext/minitest.rb +3 -0
- data/lib/anyt/tests.rb +20 -0
- data/lib/anyt/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 158d005ccb552a059df74166a759a51fc982666cebc182b80d7dda37454c6717
|
4
|
+
data.tar.gz: 8ef8e1730ec753e623be8f20eadc86b572bc6b935261e855316200d060234115
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 61800da6022b7e877ae71cc7a4b98a09e3e7c3cab36df7d4f03c1e8c53ec439fd27d034968ff46c634ee294ac8eed83902f05b6098710cd0174ddbdc43e7694c
|
7
|
+
data.tar.gz: d78be5f00123db956c42a87aa8315b63d7b8ce52c8c5cd7fa33865ff7ce36a3408f8a6f7b11be356c081e013251e2de54dfb2339cea685745baa6a034d6d07a9
|
data/lib/anyt/cli.rb
CHANGED
@@ -25,6 +25,12 @@ module Anyt
|
|
25
25
|
def run(args = ARGV)
|
26
26
|
parse_options!(args)
|
27
27
|
|
28
|
+
if Anyt.config.list_tests
|
29
|
+
Tests.load_tests
|
30
|
+
Tests.list
|
31
|
+
return 0
|
32
|
+
end
|
33
|
+
|
28
34
|
ActionCable.server.config.logger = Rails.logger = AnyCable.logger
|
29
35
|
|
30
36
|
result = 1
|
@@ -128,6 +134,11 @@ module Anyt
|
|
128
134
|
configure_rails_command!
|
129
135
|
end
|
130
136
|
|
137
|
+
cli.on("-l", "--list", TrueClass, "List test scenarios") do
|
138
|
+
Anyt.config.list_tests = true
|
139
|
+
@skip_rpc = true
|
140
|
+
end
|
141
|
+
|
131
142
|
cli.on("--self-check", "Run tests again Action Cable itself") do
|
132
143
|
@skip_rpc = true
|
133
144
|
|
@@ -142,6 +153,10 @@ module Anyt
|
|
142
153
|
Anyt.config.except_tests = except_tests
|
143
154
|
end
|
144
155
|
|
156
|
+
cli.on("-e filter", "Run only tests matching the descripton") do |filter_tests|
|
157
|
+
Anyt.config.filter_tests = filter_tests
|
158
|
+
end
|
159
|
+
|
145
160
|
cli.on("--wait-command=TIMEOUT", Integer,
|
146
161
|
"Number of seconds to wait for WS server initialization") do |timeout|
|
147
162
|
Anyt.config.wait_command = timeout
|
data/lib/anyt/client.rb
CHANGED
data/lib/anyt/config.rb
CHANGED
@@ -8,6 +8,8 @@ module Anyt
|
|
8
8
|
attr_config :command,
|
9
9
|
:only_tests,
|
10
10
|
:except_tests,
|
11
|
+
:filter_tests,
|
12
|
+
:list_tests,
|
11
13
|
:tests_relative_path,
|
12
14
|
remote_control_port: 8919,
|
13
15
|
use_action_cable: false,
|
@@ -37,5 +39,11 @@ module Anyt
|
|
37
39
|
(except_rxp.nil? || !except_rxp.match?(path))
|
38
40
|
end
|
39
41
|
end
|
42
|
+
|
43
|
+
def example_filter
|
44
|
+
return unless filter_tests
|
45
|
+
|
46
|
+
/#{filter_tests}/i
|
47
|
+
end
|
40
48
|
end
|
41
49
|
end
|
@@ -55,8 +55,10 @@ class BenchmarkChannel < ApplicationCable::Channel
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def echo(data)
|
58
|
-
|
59
|
-
|
58
|
+
puts "ECHO: #{data.inspect}" if data["verbose"]
|
59
|
+
delay = data.fetch("delay", ECHO_DELAY).to_f
|
60
|
+
if delay > 0
|
61
|
+
sleep delay
|
60
62
|
end
|
61
63
|
transmit data
|
62
64
|
end
|
data/lib/anyt/ext/minitest.rb
CHANGED
@@ -96,6 +96,9 @@ module Minitest::Spec::DSL
|
|
96
96
|
# Simplified version of `it` which doesn't care
|
97
97
|
# about unique method names
|
98
98
|
def scenario(desc, &block)
|
99
|
+
full_desc = "#{name.gsub("\n", " ").strip} #{desc.gsub("\n", " ").strip}"
|
100
|
+
return if Anyt.config.example_filter && !Anyt.config.example_filter.match?(full_desc)
|
101
|
+
|
99
102
|
block ||= proc { skip "(no tests defined)" }
|
100
103
|
|
101
104
|
define_method "test_ #{desc}", &block
|
data/lib/anyt/tests.rb
CHANGED
@@ -17,9 +17,29 @@ module Anyt
|
|
17
17
|
Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
|
18
18
|
|
19
19
|
AnyCable.logger.debug "Run tests against: #{Anyt.config.target_url}"
|
20
|
+
|
20
21
|
Minitest.run
|
21
22
|
end
|
22
23
|
|
24
|
+
def list
|
25
|
+
printer = Object.new
|
26
|
+
printer.extend include ANSI::Code
|
27
|
+
|
28
|
+
Minitest::Runnable.runnables.each do |runnable|
|
29
|
+
def runnable.test_order
|
30
|
+
:sorted
|
31
|
+
end
|
32
|
+
next unless runnable.runnable_methods.any?
|
33
|
+
|
34
|
+
$stdout.puts(runnable.name)
|
35
|
+
|
36
|
+
runnable.runnable_methods.each do |method|
|
37
|
+
test_name = method.gsub(/^test_/, "").strip
|
38
|
+
$stdout.puts(printer.magenta { " #{test_name}" })
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
23
43
|
# Load tests code (filtered if present)
|
24
44
|
#
|
25
45
|
# NOTE: We should run this before launching RPC server
|
data/lib/anyt/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anyt-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- palkan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -160,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
160
|
- !ruby/object:Gem::Version
|
161
161
|
version: '0'
|
162
162
|
requirements: []
|
163
|
-
rubygems_version: 3.
|
163
|
+
rubygems_version: 3.5.18
|
164
164
|
signing_key:
|
165
165
|
specification_version: 4
|
166
166
|
summary: Action Cable / AnyCable conformance testing tool
|