bugsnag-maze-runner 9.16.0 → 9.18.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee36c242d277dcadc7deb388ddc408bdbc416fef634f4dcd50b8f47ab001483f
4
- data.tar.gz: 806dbe2236e1e8d4dbc65eda74e63e49fefacfede87752f5beee19127b5df4e1
3
+ metadata.gz: c6c149e156ab34e2716d12ea70903fe9731d9806cf96c7a1bb6505fef007d97b
4
+ data.tar.gz: 1152cb99ceeb9cf8882d43b931655cb0ba9abf20baac77770e6c98a5b53fd78b
5
5
  SHA512:
6
- metadata.gz: 601b6afc508d59eedb48080be2980d66868ae253ea0114740dee82c2db0e2e92159a8b023dc204f7e9056acf47ad8a1e7f62e218c54712094758ca60e72cfed0
7
- data.tar.gz: 404f98797234da38d267f9078769f4505449f7748d99f3365ea0cef682b8864c7089703591c8cad911d38fd736b88dc8ec17169240833a216ce846bc2dcf615f
6
+ metadata.gz: b2f057457f5d2e9c51c8b7509ab276ca34ddbd7510e8821af07e89b58ea8b519e556f3ae5c15abfb16f20ca0e44e3dafa9861680edbc079e82bde903610dc3eb
7
+ data.tar.gz: 10f760389cd942ffc3c7b5116feefdd2f0dbf00f7abcbd7f03927f794e7d5b4ce3f2656fe9f04226be5faa7f60f862817838c77f86a0abf37272b5b386c9ccd7
@@ -166,6 +166,7 @@ After do |scenario|
166
166
  output_received_requests('traces')
167
167
  output_received_requests('builds')
168
168
  output_received_requests('logs')
169
+ output_received_requests('ignored requests')
169
170
  output_received_requests('invalid requests')
170
171
  end
171
172
 
@@ -71,6 +71,7 @@ module Maze
71
71
  def create_hash
72
72
  hash = {
73
73
  # Classic, non-specific devices for each Android version
74
+ 'ANDROID_15' => make_android_hash('Google Pixel 9', '15.0'),
74
75
  'ANDROID_14' => make_android_hash('Google Pixel 8', '14.0'),
75
76
  'ANDROID_13' => make_android_hash('Google Pixel 6 Pro', '13.0'),
76
77
  'ANDROID_12' => make_android_hash('Google Pixel 5', '12.0'),
@@ -12,7 +12,7 @@ module Maze
12
12
  capabilities.merge! browsers[config.browser]
13
13
  capabilities.merge! JSON.parse(config.capabilities_option)
14
14
  capabilities['bitbar:options']['testTimeout'] = 900
15
- capabilities['acceptInsecureCerts'] = true
15
+ capabilities['acceptInsecureCerts'] = true unless Maze.config.browser.include? 'ie_'
16
16
  config.capabilities = capabilities
17
17
 
18
18
  if Maze::Client::BitBarClientUtils.use_local_tunnel?
@@ -13,7 +13,7 @@ module Maze
13
13
  path = output_folder
14
14
  FileUtils.makedirs(path)
15
15
 
16
- request_types = %w[errors sessions builds uploads logs sourcemaps traces invalid reflections]
16
+ request_types = %w[errors sessions builds uploads logs sourcemaps traces ignored invalid reflections]
17
17
  request_types << 'sampling requests'
18
18
 
19
19
  request_types.each do |request_type|
data/lib/maze/server.rb CHANGED
@@ -101,6 +101,8 @@ module Maze
101
101
  sourcemaps
102
102
  when 'reflect', 'reflects', 'reflection', 'reflections'
103
103
  reflections
104
+ when 'ignored', 'ignored requests'
105
+ ignored_requests
104
106
  when 'invalid', 'invalid requests'
105
107
  invalid_requests
106
108
  else
@@ -186,6 +188,10 @@ module Maze
186
188
  @commands ||= RequestList.new
187
189
  end
188
190
 
191
+ def ignored_requests
192
+ @ignored_requests ||= RequestList.new
193
+ end
194
+
189
195
  # Whether the server thread is running
190
196
  # An array of any invalid requests received.
191
197
  # Each request is hash consisting of:
@@ -297,6 +303,7 @@ module Maze
297
303
  sampling_requests.clear
298
304
  traces.clear
299
305
  logs.clear
306
+ ignored_requests.clear
300
307
  invalid_requests.clear
301
308
  reflections.clear
302
309
  end
@@ -159,7 +159,25 @@ module Maze
159
159
  private
160
160
 
161
161
  def add_request(request)
162
- Server.list_for(@request_type).add(request)
162
+ if @request_type == :errors and system_generated_anr?(request)
163
+ $logger.info 'Ignoring system-generated ANR'
164
+ Server.list_for('ignored').add(request)
165
+ else
166
+ Server.list_for(@request_type).add(request)
167
+ end
168
+ end
169
+
170
+ def system_generated_anr?(request)
171
+ body = request[:body]
172
+ error_class = Maze::Helper.read_key_path(body, 'events.0.exceptions.0.errorClass')
173
+ return false unless error_class == 'ANR'
174
+
175
+ stack_trace = Maze::Helper.read_key_path(body, 'events.0.exceptions.0.stacktrace')
176
+ return false unless stack_trace.kind_of?(Array)
177
+
178
+ method_1 = stack_trace.any? { |frame| frame['method'] == 'android.os.BinderProxy.transact' }
179
+ method_2 = stack_trace.any? { |frame| frame['method'] == 'android.app.IActivityManager$Stub$Proxy.handleApplicationCrash' }
180
+ method_1 && method_2
163
181
  end
164
182
 
165
183
  def log_request(request)
data/lib/maze.rb CHANGED
@@ -7,7 +7,7 @@ require_relative 'maze/timers'
7
7
  # Glues the various parts of MazeRunner together that need to be accessed globally,
8
8
  # providing an alternative to the proliferation of global variables or singletons.
9
9
  module Maze
10
- VERSION = '9.16.0'
10
+ VERSION = '9.18.0'
11
11
 
12
12
  class << self
13
13
  attr_accessor :check, :driver, :internal_hooks, :mode, :start_time, :dynamic_retry, :public_address,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bugsnag-maze-runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.16.0
4
+ version: 9.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Kirkland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-01 00:00:00.000000000 Z
11
+ date: 2024-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber