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

Side by Side Diff: PRESUBMIT_test.py

Issue 2792853002: Revert of Don't require DEPS OWNERS when moving lines around in a DEPS file. (Closed)
Patch Set: Created 3 years, 8 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 | « PRESUBMIT.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import os.path
7 import re 6 import re
8 import subprocess 7 import subprocess
9 import unittest 8 import unittest
10 9
11 import PRESUBMIT 10 import PRESUBMIT
12 from PRESUBMIT_test_mocks import MockChange, MockFile, MockAffectedFile 11 from PRESUBMIT_test_mocks import MockChange, MockFile, MockAffectedFile
13 from PRESUBMIT_test_mocks import MockInputApi, MockOutputApi 12 from PRESUBMIT_test_mocks import MockInputApi, MockOutputApi
14 13
15 _TEST_DATA_DIR = 'base/test/data/presubmit' 14 _TEST_DATA_DIR = 'base/test/data/presubmit'
16 15
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 462
464 def testValidIfDefinedMacroNames(self): 463 def testValidIfDefinedMacroNames(self):
465 lines = ['#if defined(FOO)', 464 lines = ['#if defined(FOO)',
466 '#ifdef BAR',] 465 '#ifdef BAR',]
467 errors = PRESUBMIT._CheckForInvalidIfDefinedMacrosInFile( 466 errors = PRESUBMIT._CheckForInvalidIfDefinedMacrosInFile(
468 MockInputApi(), MockFile('some/path/source.cc', lines)) 467 MockInputApi(), MockFile('some/path/source.cc', lines))
469 self.assertEqual(0, len(errors)) 468 self.assertEqual(0, len(errors))
470 469
471 470
472 class CheckAddedDepsHaveTetsApprovalsTest(unittest.TestCase): 471 class CheckAddedDepsHaveTetsApprovalsTest(unittest.TestCase):
473 472 def testFilesToCheckForIncomingDeps(self):
474 def calculate(self, old_include_rules, old_specific_include_rules, 473 changed_lines = [
475 new_include_rules, new_specific_include_rules): 474 '"+breakpad",',
476 return PRESUBMIT._CalculateAddedDeps( 475 '"+chrome/installer",',
477 os.path, 'include_rules = %r\nspecific_include_rules = %r' % ( 476 '"+chrome/plugin/chrome_content_plugin_client.h",',
478 old_include_rules, old_specific_include_rules), 477 '"+chrome/utility/chrome_content_utility_client.h",',
479 'include_rules = %r\nspecific_include_rules = %r' % ( 478 '"+chromeos/chromeos_paths.h",',
480 new_include_rules, new_specific_include_rules)) 479 '"+components/crash/content",',
481 480 '"+components/nacl/common",',
482 def testCalculateAddedDeps(self): 481 '"+content/public/browser/render_process_host.h",',
483 old_include_rules = [ 482 '"+jni/fooblat.h",',
484 '+base', 483 '"+grit", # For generated headers',
485 '-chrome', 484 '"+grit/generated_resources.h",',
486 '+content', 485 '"+grit/",',
487 '-grit', 486 '"+policy", # For generated headers and source',
488 '-grit/",', 487 '"+sandbox",',
489 '+jni/fooblat.h', 488 '"+tools/memory_watcher",',
490 '!sandbox', 489 '"+third_party/lss/linux_syscall_support.h",',
491 ] 490 ]
492 old_specific_include_rules = { 491 files_to_check = PRESUBMIT._FilesToCheckForIncomingDeps(re, changed_lines)
493 'compositor\.*': {
494 '+cc',
495 },
496 }
497
498 new_include_rules = [
499 '-ash',
500 '+base',
501 '+chrome',
502 '+components',
503 '+content',
504 '+grit',
505 '+grit/generated_resources.h",',
506 '+grit/",',
507 '+jni/fooblat.h',
508 '+policy',
509 '+third_party/WebKit',
510 ]
511 new_specific_include_rules = {
512 'compositor\.*': {
513 '+cc',
514 },
515 'widget\.*': {
516 '+gpu',
517 },
518 }
519
520 expected = set([ 492 expected = set([
521 'chrome/DEPS', 493 'breakpad/DEPS',
522 'gpu/DEPS', 494 'chrome/installer/DEPS',
523 'components/DEPS', 495 'chrome/plugin/chrome_content_plugin_client.h',
524 'policy/DEPS', 496 'chrome/utility/chrome_content_utility_client.h',
525 'third_party/WebKit/DEPS', 497 'chromeos/chromeos_paths.h',
498 'components/crash/content/DEPS',
499 'components/nacl/common/DEPS',
500 'content/public/browser/render_process_host.h',
501 'policy/DEPS',
502 'sandbox/DEPS',
503 'tools/memory_watcher/DEPS',
504 'third_party/lss/linux_syscall_support.h',
526 ]) 505 ])
527 self.assertEqual( 506 self.assertEqual(expected, files_to_check);
528 expected,
529 self.calculate(old_include_rules, old_specific_include_rules,
530 new_include_rules, new_specific_include_rules))
531
532 def testCalculateAddedDepsIgnoresPermutations(self):
533 old_include_rules = [
534 '+base',
535 '+chrome',
536 ]
537 new_include_rules = [
538 '+chrome',
539 '+base',
540 ]
541 self.assertEqual(set(),
542 self.calculate(old_include_rules, {}, new_include_rules,
543 {}))
544 507
545 508
546 class JSONParsingTest(unittest.TestCase): 509 class JSONParsingTest(unittest.TestCase):
547 def testSuccess(self): 510 def testSuccess(self):
548 input_api = MockInputApi() 511 input_api = MockInputApi()
549 filename = 'valid_json.json' 512 filename = 'valid_json.json'
550 contents = ['// This is a comment.', 513 contents = ['// This is a comment.',
551 '{', 514 '{',
552 ' "key1": ["value1", "value2"],', 515 ' "key1": ["value1", "value2"],',
553 ' "key2": 3 // This is an inline comment.', 516 ' "key2": 3 // This is an inline comment.',
(...skipping 779 matching lines...) Expand 10 before | Expand all | Expand 10 after
1333 mock_input_api.files = [ 1296 mock_input_api.files = [
1334 MockAffectedFile('chrome/browser/resources/blah.js', 'arrow => OK here'), 1297 MockAffectedFile('chrome/browser/resources/blah.js', 'arrow => OK here'),
1335 ] 1298 ]
1336 warnings = PRESUBMIT._CheckForRiskyJsFeatures( 1299 warnings = PRESUBMIT._CheckForRiskyJsFeatures(
1337 mock_input_api, MockOutputApi()) 1300 mock_input_api, MockOutputApi())
1338 self.assertEqual(0, len(warnings)) 1301 self.assertEqual(0, len(warnings))
1339 1302
1340 1303
1341 if __name__ == '__main__': 1304 if __name__ == '__main__':
1342 unittest.main() 1305 unittest.main()
OLDNEW
« no previous file with comments | « PRESUBMIT.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698