minitest-reporters-ws 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- M2ZiN2JhNzMyOWE1NWE1OTc2YjdhOWZlZDIyZTkyYTQwNDY1ZGZlNQ==
4
+ YzQxNTg3OTI5OTgzY2FmNTk2ODk5ZjEyYmQ1ZjI2ZGIyNzU0MDhkZA==
5
5
  data.tar.gz: !binary |-
6
- YWFlMWRmZmRmNTAyMjE5MDQ1ZjUzZjNkYjcxOTUyY2QyMmY2ZTIxNA==
6
+ YTIwNzVjMDJmZjViMjljZGYwNTIzNDllODM4Yjg0NjBlNTAwMDM2NA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NDJiMDcyNTRmMWJjNWEwN2U5ZjdiNTNiNjg4ODg0MmZmNDk2MzkyOTdhMzYx
10
- NGM0N2RjM2MzOWIzZGZkNjA1MTNlYmMyNTRkODI3MWYxMjAxNjk1ZWY5ZjY5
11
- M2JiYWMxZDg4ZWI4Njc2MzZkZTlmYTViZGE2YWViMjlmZmFkZmI=
9
+ N2VlYThjOTA2MTdkZmE2ZDBhNTEzODg3Nzk4MTExYTZhZGU3NTQzMGQ0Mzgz
10
+ NzlmZWI1YzYwN2JhMTBmMGM0MWM0MWJjMDIzOGY4YWVlNjIyNmNlODY1OGZh
11
+ MGI4YmMxZjcyYTljYTJjMjUwOGYxNzBmOGIxYTgyN2I2MTJiYjQ=
12
12
  data.tar.gz: !binary |-
13
- MmZmMzY5MzZlYmZjNDcyMGI3MDZlZWExYmQwMTI0YmNiNjU2YTVjMWI4OTk5
14
- NmQ5MGQ1YjE5NDE5MDAzZGZiM2RiYWE2Y2UwNDFjMjAwN2E4MTFhNzQ2YzVi
15
- ODhkZjRlYzQwOTc1OGIxZDIxZGRhZDI4MzgwMDg5Yzk3OTJlYzI=
13
+ OGEwYjgyZjZiYzMyZTNkMjM1OGYyZmUyYzU0MmI0MmY5ZDg2YjE3MThiMzky
14
+ MzJmYTU3NWY3OTFlNmEwNDI2MmJkM2U0YmM5M2ZkMzI3NzBjZmRhM2YyZTdm
15
+ OGU0NDZiYmNkNDU4YmQ2MzI0MWMwNDg0ZjVmMGJjN2Q4MjAzNTE=
data/README.md CHANGED
@@ -4,6 +4,8 @@ Minitest::Reporters::Ws
4
4
  The Minitest Formatter is working, but I need to work with the
5
5
  sinatra app to change the formatting of the results.
6
6
 
7
+ > If you want to use it with Zeus, check out that branch
8
+
7
9
  ### Minitest Websocket Reporter
8
10
 
9
11
  > ala https://github.com/RyanScottLewis/rspec-web
@@ -9,16 +9,21 @@ module Minitest::Reporters::Ws
9
9
  def initialize(opts = {})
10
10
  init_config(opts.delete(:yml), opts.delete(:config), opts.delete(:env))
11
11
  init_socket
12
- identify
12
+ rescue => ex
13
+ puts ex.message
13
14
  end
14
15
 
15
16
  def identify
16
17
  data = { receiver: "server", method: "identify", arguments: ["rspec"] }
17
18
  @socket.send(data.to_json) if connected?
19
+ #rescue => ex
20
+ # puts ex.message
18
21
  end
19
22
 
20
23
  def send_msg(data)
21
24
  @socket.send(data.to_json) if connected?
25
+ #rescue => ex
26
+ # puts ex.message
22
27
  end
23
28
 
24
29
  def close
@@ -26,6 +31,8 @@ module Minitest::Reporters::Ws
26
31
  data = { receiver: "server", method: "disconnect", arguments: ["rspec"] }
27
32
  @socket.send(data.to_json) if connected?
28
33
  @socket.close if connected?
34
+ #rescue => ex
35
+ # puts ex.message
29
36
  end
30
37
 
31
38
  def connected?
@@ -38,9 +45,9 @@ module Minitest::Reporters::Ws
38
45
  @timestamp = Time.now.to_i
39
46
  @socket = begin
40
47
  WebSocket.new("ws://localhost:10081")
41
- rescue => ex
42
- puts ex.message
43
- nil
48
+ #rescue => ex
49
+ # puts ex.message
50
+ # nil
44
51
  end
45
52
  end
46
53
 
@@ -12,7 +12,6 @@ module Minitest::Reporters::Ws
12
12
  end
13
13
 
14
14
  def print_info(e)
15
- #puts 'fdsa'
16
15
  e.message.each_line { |line| print_with_info_padding(line) }
17
16
 
18
17
  trace = filter_backtrace(e.backtrace)
@@ -10,24 +10,24 @@ module Minitest::Reporters::Ws
10
10
  end
11
11
 
12
12
  def start_new_iteration(test_count = 420)
13
- @client.send_msg(messages[:start_new_iteration].merge arguments: [@timestamp, test_count])
13
+ client.send_msg(messages[:start_new_iteration].merge arguments: [@timestamp, test_count])
14
14
  end
15
15
 
16
16
  def add_to_passing(test)
17
- @client.send_msg(prep_result(test, :add_to_passing))
17
+ client.send_msg(prep_result(test, :add_to_passing))
18
18
  end
19
19
 
20
20
  def add_to_pending(test)
21
- @client.send_msg(prep_result(test, :add_to_pending))
21
+ client.send_msg(prep_result(test, :add_to_pending))
22
22
  end
23
23
 
24
24
  def add_to_failing(test)
25
- @client.send_msg(prep_result(test, :add_to_failing))
25
+ client.send_msg(prep_result(test, :add_to_failing))
26
26
  end
27
27
 
28
28
  def add_to_erring(test)
29
29
  # for now, treating erring the same as failing
30
- @client.send_msg(prep_result(test, :add_to_erring))
30
+ client.send_msg(prep_result(test, :add_to_erring))
31
31
  end
32
32
 
33
33
  private
@@ -17,35 +17,39 @@ module Minitest::Reporters::Ws
17
17
  attr_accessor :timestamp
18
18
  attr_accessor :client
19
19
  attr_accessor :metadata
20
+ attr_accessor :test_count
20
21
 
21
22
  # MUTEX on MiniTest::ReporterRunner?
22
23
 
23
24
  def initialize(opts = {})
25
+
26
+ @config = conf = ::Minitest::Reporters::Ws::Client::DEFAULT_CONFIG
24
27
  @emoji = EMOJI.merge(opts.fetch(:emoji, {}))
25
28
 
26
29
  init_counts
27
30
  init_suite_counts
28
- init_client
29
- set_timestamp
30
31
  end
31
32
 
32
33
  def init_client
33
- conf = ::Minitest::Reporters::Ws::Client::DEFAULT_CONFIG
34
- find_or_create_client(conf)
34
+ client
35
+ #find_or_create_client(conf)
35
36
  end
36
37
 
37
38
  # MINITEST HOOKS
38
39
 
39
40
  def before_suites(suite, type)
41
+ init_client
42
+ set_timestamp
40
43
  set_metadata
41
- start_new_iteration(metadata[:test_count])
42
44
  init_suite_counts
43
- @client.identify
45
+ client.identify
46
+ total_tests = metadata[:test_count]
47
+ start_new_iteration(total_tests) if total_tests > 0
44
48
  end
45
49
 
46
50
  def after_suites(suites, type)
47
51
  print_after_suites
48
- @client.close
52
+ client.close
49
53
  end
50
54
 
51
55
  def before_suite(suite)
@@ -60,11 +64,7 @@ module Minitest::Reporters::Ws
60
64
  end
61
65
 
62
66
  def before_test(suite,test)
63
- #FIX_FOR_ZEUS!! (which seems to want to run tests twice)
64
- # on the second run,
65
- # these are still nil,
66
- # for some reason
67
- # oh i wish i knew why!
67
+ # need to move towards using metadata[:test_count], etc
68
68
  @test_count ||= 0
69
69
  @suite_test_count ||= 0
70
70
  end
@@ -100,30 +100,41 @@ module Minitest::Reporters::Ws
100
100
  add_to_erring(to_metadata(runner, test_runner))
101
101
  end
102
102
 
103
+ attr_accessor(:client)
104
+ def client
105
+ # when running in zeus, client becomes nil?
106
+ @client ||= ::Minitest::Reporters::Ws::Client.new(config: @config)
107
+ end
108
+
109
+ #def find_or_create_client
110
+ #client = ::Minitest::Reporters::Ws::Client.new(config: config)
111
+ #set_global_client(::Minitest::Reporters::Ws::Client.new(config: config))
112
+ # if global_client? && global_client
113
+ # global_client
114
+ #else
115
+ # set_global_client(::Minitest::Reporters::Ws::Client.new(config: config))
116
+ #end
117
+ #end
118
+
103
119
  # wanted this to be defined as a module accessor,
104
120
  # so zeus will create the initial client
105
121
  # when it initially loads up the minitest_helper
106
122
  # then subsequent test runs will use the same client
107
123
 
108
- def global_client
109
- ::Minitest::Reporters::Ws.class_variable_get("@@client")
110
- end
111
-
112
- def global_client=(c)
113
- ::Minitest::Reporters::Ws.class_variable_set("@@client", c) unless global_client?
114
- end
115
-
116
- def global_client?
117
- ::Minitest::Reporters::Ws.class_variable_defined?("@@client")
118
- end
119
-
120
- def find_or_create_client(config = {})
121
- @client = if global_client?
122
- global_client
123
- else
124
- ::Minitest::Reporters::Ws::Client.new(config: config)
125
- end
126
- end
124
+ # but... did the opposite of what i thought,
125
+ # there are still a few issues with zeus
126
+
127
+ #def global_client
128
+ # ::Minitest::Reporters::Ws.class_variable_get("@@client")
129
+ #end
130
+ #
131
+ #def set_global_client(c)
132
+ # ::Minitest::Reporters::Ws.class_variable_set("@@client", c)
133
+ #end
134
+ #
135
+ #def global_client?
136
+ # ::Minitest::Reporters::Ws.class_variable_defined?("@@client")
137
+ #end
127
138
 
128
139
  private
129
140
 
@@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "minitest-reporters-ws"
6
- s.version = "0.0.1"
6
+ s.version = "0.0.2"
7
7
 
8
8
  s.name = "minitest-reporters-ws"
9
9
  s.authors = ["David Conner"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-reporters-ws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Conner