Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(584)

Side by Side Diff: scripts/slave/recipe_modules/v8/testing.py

Issue 1583933006: V8 Buildbot: Let leak checker use the v8-side wrapper. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master
Patch Set: Rebase Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « scripts/slave/recipe_modules/v8/test_api.py ('k') | scripts/slave/recipes/v8.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 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 import re 5 import re
6 from recipe_engine.types import freeze 6 from recipe_engine.types import freeze
7 7
8 8
9 TEST_CONFIGS = freeze({ 9 TEST_CONFIGS = freeze({
10 'benchmarks': { 10 'benchmarks': {
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 'GCMole %s' % arch, 452 'GCMole %s' % arch,
453 ['lua', self.api.path.join('tools', 'gcmole', 'gcmole.lua'), arch], 453 ['lua', self.api.path.join('tools', 'gcmole', 'gcmole.lua'), arch],
454 cwd=self.api.path['checkout'], 454 cwd=self.api.path['checkout'],
455 env=env, 455 env=env,
456 ) 456 )
457 return TestResults.empty() 457 return TestResults.empty()
458 458
459 459
460 class V8SimpleLeakCheck(BaseTest): 460 class V8SimpleLeakCheck(BaseTest):
461 def run(self, **kwargs): 461 def run(self, **kwargs):
462 # TODO(machenbach): Add task kill step for windows.
463 relative_d8_path = self.api.path.join( 462 relative_d8_path = self.api.path.join(
464 self.api.path.basename(self.api.chromium.c.build_dir), 463 self.api.path.basename(self.api.chromium.c.build_dir),
465 self.api.chromium.c.build_config_fs, 464 self.api.chromium.c.build_config_fs,
466 'd8') 465 'd8')
467 step_result = self.api.step( 466 tool = self.api.path['checkout'].join('tools', 'run-valgrind.py')
467 step_result = self.api.python(
468 'Simple Leak Check', 468 'Simple Leak Check',
469 ['valgrind', '--leak-check=full', '--show-reachable=yes', 469 tool,
470 '--num-callers=20', relative_d8_path, '-e', '"print(1+2)"'], 470 [relative_d8_path, '-e', 'print(1+2)'],
471 cwd=self.api.path['checkout'], 471 cwd=self.api.path['checkout'],
472 stderr=self.api.raw_io.output(),
473 step_test_data=lambda: self.api.raw_io.test_api.stream_output(
474 'tons of leaks', stream='stderr')
475 ) 472 )
476 step_result.presentation.logs['stderr'] = step_result.stderr.splitlines()
477 if not 'no leaks are possible' in (step_result.stderr):
478 step_result.presentation.status = self.api.step.FAILURE
479 raise self.api.step.StepFailure('Failed leak check')
480 return TestResults.empty() 473 return TestResults.empty()
481 474
482 475
483 V8_NON_STANDARD_TESTS = freeze({ 476 V8_NON_STANDARD_TESTS = freeze({
484 'deopt': V8DeoptFuzzer, 477 'deopt': V8DeoptFuzzer,
485 'fuzz': V8Fuzzer, 478 'fuzz': V8Fuzzer,
486 'gcmole': V8GCMole, 479 'gcmole': V8GCMole,
487 'presubmit': V8Presubmit, 480 'presubmit': V8Presubmit,
488 'simpleleak': V8SimpleLeakCheck, 481 'simpleleak': V8SimpleLeakCheck,
489 }) 482 })
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 # TODO(machenbach): Implement swarming for non-standard tests. 534 # TODO(machenbach): Implement swarming for non-standard tests.
542 if v8_api.bot_config.get('enable_swarming') and test_step_config.swarming: 535 if v8_api.bot_config.get('enable_swarming') and test_step_config.swarming:
543 tools_mapping = TOOL_TO_TEST_SWARMING 536 tools_mapping = TOOL_TO_TEST_SWARMING
544 else: 537 else:
545 tools_mapping = TOOL_TO_TEST 538 tools_mapping = TOOL_TO_TEST
546 539
547 # The tool the test is going to use. Default: V8 test runner (run-tests). 540 # The tool the test is going to use. Default: V8 test runner (run-tests).
548 tool = TEST_CONFIGS[test_step_config.name].get('tool', 'run-tests') 541 tool = TEST_CONFIGS[test_step_config.name].get('tool', 'run-tests')
549 test_cls = tools_mapping[tool] 542 test_cls = tools_mapping[tool]
550 return test_cls(test_step_config, api, v8_api) 543 return test_cls(test_step_config, api, v8_api)
OLDNEW
« no previous file with comments | « scripts/slave/recipe_modules/v8/test_api.py ('k') | scripts/slave/recipes/v8.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698