Skip to content

Commit 5ddc813

Browse files
committed
Use a TCP socket to stream results to the extension
1 parent ec77736 commit 5ddc813

12 files changed

+582
-318
lines changed

lib/ruby_lsp/ruby_lsp_reporter_plugin.rb

+14-46
Original file line numberDiff line numberDiff line change
@@ -25,65 +25,33 @@ def prerecord(test_class, method_name)
2525
uri = uri_from_test_class(test_class, method_name)
2626
return unless uri
2727

28-
RubyLsp::TestReporter.start_test(
29-
id: "#{test_class.name}##{method_name}",
30-
uri: uri,
31-
)
28+
RubyLsp::TestReporter.instance.start_test(id: "#{test_class.name}##{method_name}", uri: uri)
3229
end
3330

3431
#: (Minitest::Result result) -> void
3532
def record(result)
33+
id = "#{result.klass}##{result.name}"
34+
uri = uri_from_result(result)
35+
3636
if result.error?
37-
record_error(result)
37+
message = result.failures.first.message
38+
RubyLsp::TestReporter.instance.record_error(id: id, uri: uri, message: message)
3839
elsif result.passed?
39-
record_pass(result)
40+
RubyLsp::TestReporter.instance.record_pass(id: id, uri: uri)
4041
elsif result.skipped?
41-
record_skip(result)
42+
RubyLsp::TestReporter.instance.record_skip(id: id, uri: uri)
4243
elsif result.failure
43-
record_fail(result)
44+
message = result.failure.message
45+
RubyLsp::TestReporter.instance.record_fail(id: id, uri: uri, message: message)
4446
end
4547
end
4648

47-
private
48-
49-
#: (Minitest::Result result) -> void
50-
def record_pass(result)
51-
RubyLsp::TestReporter.record_pass(
52-
id: id_from_result(result),
53-
uri: uri_from_result(result),
54-
)
55-
end
56-
57-
#: (Minitest::Result result) -> void
58-
def record_skip(result)
59-
RubyLsp::TestReporter.record_skip(
60-
id: id_from_result(result),
61-
uri: uri_from_result(result),
62-
)
49+
#: () -> void
50+
def report
51+
RubyLsp::TestReporter.instance.shutdown
6352
end
6453

65-
#: (Minitest::Result result) -> void
66-
def record_fail(result)
67-
RubyLsp::TestReporter.record_fail(
68-
id: id_from_result(result),
69-
message: result.failure.message,
70-
uri: uri_from_result(result),
71-
)
72-
end
73-
74-
#: (Minitest::Result result) -> void
75-
def record_error(result)
76-
RubyLsp::TestReporter.record_error(
77-
id: id_from_result(result),
78-
uri: uri_from_result(result),
79-
message: result.failures.first.message,
80-
)
81-
end
82-
83-
#: (Minitest::Result result) -> String
84-
def id_from_result(result)
85-
"#{result.klass}##{result.name}"
86-
end
54+
private
8755

8856
#: (Minitest::Result result) -> URI::Generic
8957
def uri_from_result(result)

0 commit comments

Comments
 (0)