2 # Copyright 2022 The Chromium Authors
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
12 sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
14 from PRESUBMIT_test_mocks import MockAffectedFile
15 from PRESUBMIT_test_mocks import MockInputApi, MockOutputApi
19 def _fails_deps_check(line, filename='BUILD.gn'):
20 mock_input_api = MockInputApi()
21 mock_input_api.files = [MockAffectedFile(filename, [line])]
22 errors = PRESUBMIT.CheckNoBadDeps(mock_input_api, MockOutputApi())
26 class CheckNoBadDepsTest(unittest.TestCase):
27 def testComments(self):
28 self.assertFalse(_fails_deps_check('no # import("//third_party/foo")'))
32 _fails_deps_check('import("//third_party/foo")', filename='foo.txt'))
34 _fails_deps_check('import("//third_party/foo")', filename='foo.gni'))
37 self.assertFalse(_fails_deps_check('import("//build/things.gni")'))
38 self.assertTrue(_fails_deps_check('import("//chrome/things.gni")'))
41 if __name__ == '__main__':