mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
Launchable: test-spec: Remove launchable option and related formatter integration
This commit is contained in:
parent
6b7f56d2db
commit
5c86fb2609
4 changed files with 0 additions and 104 deletions
|
@ -49,9 +49,6 @@ class MSpecRun < MSpecScript
|
||||||
options.doc "\n When to perform it"
|
options.doc "\n When to perform it"
|
||||||
options.action_filters
|
options.action_filters
|
||||||
|
|
||||||
options.doc "\n Launchable"
|
|
||||||
options.launchable
|
|
||||||
|
|
||||||
options.doc "\n Help!"
|
options.doc "\n Help!"
|
||||||
options.debug
|
options.debug
|
||||||
options.version MSpec::VERSION
|
options.version MSpec::VERSION
|
||||||
|
|
|
@ -1,88 +0,0 @@
|
||||||
module LaunchableFormatter
|
|
||||||
def self.extend_object(obj)
|
|
||||||
super
|
|
||||||
obj.init
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.setDir(dir)
|
|
||||||
@@path = File.join(dir, "#{rand.to_s}.json")
|
|
||||||
self
|
|
||||||
end
|
|
||||||
|
|
||||||
def init
|
|
||||||
@timer = nil
|
|
||||||
@tests = []
|
|
||||||
end
|
|
||||||
|
|
||||||
def before(state = nil)
|
|
||||||
super
|
|
||||||
@timer = TimerAction.new
|
|
||||||
@timer.start
|
|
||||||
end
|
|
||||||
|
|
||||||
def after(state = nil)
|
|
||||||
super
|
|
||||||
@timer.finish
|
|
||||||
file = MSpec.file
|
|
||||||
return if file.nil? || state&.example.nil? || exception?
|
|
||||||
|
|
||||||
@tests << {:test => state, :file => file, :exception => false, duration: @timer.elapsed}
|
|
||||||
end
|
|
||||||
|
|
||||||
def exception(exception)
|
|
||||||
super
|
|
||||||
@timer.finish
|
|
||||||
file = MSpec.file
|
|
||||||
return if file.nil?
|
|
||||||
|
|
||||||
@tests << {:test => exception, :file => file, :exception => true, duration: @timer.elapsed}
|
|
||||||
end
|
|
||||||
|
|
||||||
def finish
|
|
||||||
super
|
|
||||||
|
|
||||||
require_relative '../../../../../../tool/lib/launchable'
|
|
||||||
|
|
||||||
@writer = writer = Launchable::JsonStreamWriter.new(@@path)
|
|
||||||
@writer.write_array('testCases')
|
|
||||||
at_exit {
|
|
||||||
@writer.close
|
|
||||||
}
|
|
||||||
|
|
||||||
repo_path = File.expand_path("#{__dir__}/../../../../../../")
|
|
||||||
|
|
||||||
@tests.each do |t|
|
|
||||||
testcase = t[:test].description
|
|
||||||
relative_path = t[:file].delete_prefix("#{repo_path}/")
|
|
||||||
# The test path is a URL-encoded representation.
|
|
||||||
# https://github.com/launchableinc/cli/blob/v1.81.0/launchable/testpath.py#L18
|
|
||||||
test_path = {file: relative_path, testcase: testcase}.map{|key, val|
|
|
||||||
"#{encode_test_path_component(key)}=#{encode_test_path_component(val)}"
|
|
||||||
}.join('#')
|
|
||||||
|
|
||||||
status = 'TEST_PASSED'
|
|
||||||
if t[:exception]
|
|
||||||
message = t[:test].message
|
|
||||||
backtrace = t[:test].backtrace
|
|
||||||
e = "#{message}\n#{backtrace}"
|
|
||||||
status = 'TEST_FAILED'
|
|
||||||
end
|
|
||||||
|
|
||||||
@writer.write_object(
|
|
||||||
{
|
|
||||||
testPath: test_path,
|
|
||||||
status: status,
|
|
||||||
duration: t[:duration],
|
|
||||||
createdAt: Time.now.to_s,
|
|
||||||
stderr: e,
|
|
||||||
stdout: nil
|
|
||||||
}
|
|
||||||
)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
def encode_test_path_component component
|
|
||||||
component.to_s.gsub('%', '%25').gsub('=', '%3D').gsub('#', '%23').gsub('&', '%26').tr("\x00-\x08", "")
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -489,14 +489,6 @@ class MSpecOptions
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def launchable
|
|
||||||
on("--launchable-test-reports", "DIR",
|
|
||||||
"DIR The directory for reporting test results in Launchable JSON format") do |o|
|
|
||||||
require 'mspec/runner/formatters/launchable'
|
|
||||||
config[:launchable] = LaunchableFormatter.setDir(o)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def all
|
def all
|
||||||
configure {}
|
configure {}
|
||||||
env
|
env
|
||||||
|
@ -516,6 +508,5 @@ class MSpecOptions
|
||||||
action_filters
|
action_filters
|
||||||
actions
|
actions
|
||||||
debug
|
debug
|
||||||
launchable
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -162,10 +162,6 @@ class MSpecScript
|
||||||
config[:formatter] = config[:formatter].new(config[:output])
|
config[:formatter] = config[:formatter].new(config[:output])
|
||||||
end
|
end
|
||||||
|
|
||||||
if config[:launchable]
|
|
||||||
config[:formatter].extend config[:launchable]
|
|
||||||
end
|
|
||||||
|
|
||||||
config[:formatter]
|
config[:formatter]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue