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

Side by Side Diff: checkdeps/checkdeps_test.py

Issue 2653023004: Dependancy check for .proto files is added. (Closed)
Patch Set: Created 3 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
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 """Tests for checkdeps. 6 """Tests for checkdeps.
7 """ 7 """
8 8
9 import os 9 import os
10 import unittest 10 import unittest
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 dirs_traversed = [] 191 dirs_traversed = []
192 for rules, filenames in self.deps_checker.GetAllRulesAndFiles(): 192 for rules, filenames in self.deps_checker.GetAllRulesAndFiles():
193 self.failUnlessEqual(type(filenames), list) 193 self.failUnlessEqual(type(filenames), list)
194 self.failUnlessEqual(filenames, sorted(filenames)) 194 self.failUnlessEqual(filenames, sorted(filenames))
195 if filenames: 195 if filenames:
196 dir_names = set(os.path.dirname(file) for file in filenames) 196 dir_names = set(os.path.dirname(file) for file in filenames)
197 self.failUnlessEqual(1, len(dir_names)) 197 self.failUnlessEqual(1, len(dir_names))
198 dirs_traversed.append(dir_names.pop()) 198 dirs_traversed.append(dir_names.pop())
199 self.failUnlessEqual(dirs_traversed, sorted(dirs_traversed)) 199 self.failUnlessEqual(dirs_traversed, sorted(dirs_traversed))
200 200
201 def testCheckAddedImportsAllowed(self):
202 problems = self.deps_checker.CheckAddedProtoImports(
203 [['checkdeps/testdata/disallowed/test.proto',
204 ['import "checkdeps/testdata/allowed/good.proto"']
205 ]])
206 self.failIf(problems)
207
208 def testCheckAddedImportsDisallowed(self):
209 problems = self.deps_checker.CheckAddedProtoImports(
210 [['checkdeps/testdata/allowed/test.proto',
211 ['import "checkdeps/testdata/disallowed/bad.proto"']
212 ]])
213 self.failUnless(problems)
214
215 def testCheckAddedImportsManyGarbageLines(self):
216 garbage_lines = ["My name is Sam%d\n" % num for num in range(50)]
217 problems = self.deps_checker.CheckAddedProtoImports(
218 [['checkdeps/testdata/allowed/test.proto', garbage_lines]])
219 self.failIf(problems)
220
221 def testCheckAddedIncludesNoRule(self):
222 problems = self.deps_checker.CheckAddedProtoImports(
223 [['checkdeps/testdata/allowed/test.proto',
224 ['import "no_rule_for_this/nogood.proto"']
225 ]])
226 self.failUnless(problems)
201 227
202 if __name__ == '__main__': 228 if __name__ == '__main__':
203 unittest.main() 229 unittest.main()
OLDNEW
« no previous file with comments | « checkdeps/checkdeps.py ('k') | checkdeps/proto_checker.py » ('j') | checkdeps/proto_checker.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698