OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 from infra.libs.infra_types import freeze | 5 from infra.libs.infra_types import freeze |
6 from slave import recipe_api | 6 from slave import recipe_api |
7 from slave.recipe_modules.webrtc import builders | 7 from slave.recipe_modules.webrtc import builders |
8 | 8 |
9 | 9 |
10 class WebRTCApi(recipe_api.RecipeApi): | 10 class WebRTCApi(recipe_api.RecipeApi): |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 if parallel: | 314 if parallel: |
315 test_executable = self.m.chromium.c.build_dir.join( | 315 test_executable = self.m.chromium.c.build_dir.join( |
316 self.m.chromium.c.build_config_fs, test) | 316 self.m.chromium.c.build_config_fs, test) |
317 args = [test_executable, '--'] + args | 317 args = [test_executable, '--'] + args |
318 test = self.m.path['checkout'].join('third_party', 'gtest-parallel', | 318 test = self.m.path['checkout'].join('third_party', 'gtest-parallel', |
319 'gtest-parallel') | 319 'gtest-parallel') |
320 python_mode = True | 320 python_mode = True |
321 annotate = None # The parallel script doesn't output gtest format. | 321 annotate = None # The parallel script doesn't output gtest format. |
322 flakiness_dash = False | 322 flakiness_dash = False |
323 | 323 |
324 # TODO(kjellander): Disable deadlock detection for all TSan builders | |
325 # except the one in the client.webrtc.fyi waterfall. Remove when | |
326 # webrtc:4106 is fixed. | |
327 if ('with deadlock detection' not in self.m.properties.get('buildername') | |
328 and self.m.chromium.c.gyp_env.GYP_DEFINES.get('tsan') == 1): | |
329 env['TSAN_OPTIONS'] = 'detect_deadlocks=0' | |
330 | |
331 self.m.chromium.runtest( | 324 self.m.chromium.runtest( |
332 test=test, args=args, name=name, annotate=annotate, xvfb=True, | 325 test=test, args=args, name=name, annotate=annotate, xvfb=True, |
333 flakiness_dash=flakiness_dash, python_mode=python_mode, | 326 flakiness_dash=flakiness_dash, python_mode=python_mode, |
334 test_type=test_type, env=env) | 327 test_type=test_type, env=env) |
335 | 328 |
336 def _adb_install_apk(self, apk_name): | 329 def _adb_install_apk(self, apk_name): |
337 """Installs an APK on an Android device. | 330 """Installs an APK on an Android device. |
338 | 331 |
339 We cannot use chromium_android.adb_install_apk since it will fail due to | 332 We cannot use chromium_android.adb_install_apk since it will fail due to |
340 the automatic path creation becomes invalid due to WebRTC's usage of | 333 the automatic path creation becomes invalid due to WebRTC's usage of |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 def clean_test_output(self): | 439 def clean_test_output(self): |
447 """Remove all test output in out/, since we have tests leaking files.""" | 440 """Remove all test output in out/, since we have tests leaking files.""" |
448 out_dir = self.m.path['checkout'].join('out') | 441 out_dir = self.m.path['checkout'].join('out') |
449 self.m.python('clean test output files', | 442 self.m.python('clean test output files', |
450 script=self.resource('cleanup_files.py'), | 443 script=self.resource('cleanup_files.py'), |
451 args=[out_dir], | 444 args=[out_dir], |
452 infra_step=True) | 445 infra_step=True) |
453 | 446 |
454 def virtual_webcam_check(self): | 447 def virtual_webcam_check(self): |
455 self.m.python('webcam_check', self.resource('ensure_webcam_is_running.py')) | 448 self.m.python('webcam_check', self.resource('ensure_webcam_is_running.py')) |
OLD | NEW |