diff options
author | tony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-02 20:24:41 +0000 |
---|---|---|
committer | tony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-02 20:24:41 +0000 |
commit | 7745ba59712ae3f2b0078d79aceac9ddb65f9fd4 (patch) | |
tree | 8c94954d373433c31da693c838443ad269826f09 /tools/grit | |
parent | b02721f082619c7ee307c347eac75dc746906cf6 (diff) | |
download | chromium_src-7745ba59712ae3f2b0078d79aceac9ddb65f9fd4.zip chromium_src-7745ba59712ae3f2b0078d79aceac9ddb65f9fd4.tar.gz chromium_src-7745ba59712ae3f2b0078d79aceac9ddb65f9fd4.tar.bz2 |
Add presubmit checks for grit. This runs the unittests.
Fix the grd_reader tests to pass if run from any directory (previously, it
had to be run from tools/grit).
Fix rc_unittest to pass on Linux (it was sensitive to line endings).
If the user doesn't have access to the internal repository, there will be
lots of failures :( Maybe there's a way to detect this case and skip the
tests?
Review URL: http://codereview.chromium.org/6349026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73498 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/grit')
-rw-r--r-- | tools/grit/PRESUBMIT.py | 21 | ||||
-rw-r--r-- | tools/grit/grit/format/rc_unittest.py | 9 | ||||
-rw-r--r-- | tools/grit/grit/grd_reader_unittest.py | 12 | ||||
-rw-r--r-- | tools/grit/grit/node/misc.py | 8 |
4 files changed, 40 insertions, 10 deletions
diff --git a/tools/grit/PRESUBMIT.py b/tools/grit/PRESUBMIT.py new file mode 100644 index 0000000..f1d58aa --- /dev/null +++ b/tools/grit/PRESUBMIT.py @@ -0,0 +1,21 @@ +# Copyright (c) 2011 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""grit unittests presubmit script. + +See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for +details on the presubmit API built into gcl. +""" + + +def RunUnittests(input_api, output_api): + return input_api.canned_checks.RunPythonUnitTests(input_api, output_api, + ['grit.test_suite_all']) + + +def CheckChangeOnUpload(input_api, output_api): + return RunUnittests(input_api, output_api) + +def CheckChangeOnCommit(input_api, output_api): + return RunUnittests(input_api, output_api) diff --git a/tools/grit/grit/format/rc_unittest.py b/tools/grit/grit/format/rc_unittest.py index 36aac5b..9bf98fc 100644 --- a/tools/grit/grit/format/rc_unittest.py +++ b/tools/grit/grit/format/rc_unittest.py @@ -77,8 +77,8 @@ END'''.strip()) buf = StringIO.StringIO() build.RcBuilder.ProcessNode(root, DummyOutput('rc_all', 'en'), buf) - output = buf.getvalue() - self.failUnless(output.strip() == u''' + output = buf.getvalue().strip() + expected = u''' IDC_KLONKMENU MENU BEGIN POPUP "&File" @@ -140,8 +140,9 @@ BEGIN BEGIN VALUE "Translation", 0x409, 1200 END -END'''.strip()) - +END'''.strip() + for expected_line, output_line in zip(expected.split(), output.split()): + self.assertEqual(expected_line, output_line) def testRcIncludeStructure(self): root = grd_reader.Parse(StringIO.StringIO(''' diff --git a/tools/grit/grit/grd_reader_unittest.py b/tools/grit/grit/grd_reader_unittest.py index f009bb4..9217454 100644 --- a/tools/grit/grit/grd_reader_unittest.py +++ b/tools/grit/grit/grd_reader_unittest.py @@ -111,7 +111,11 @@ class GrdReaderUnittest(unittest.TestCase): </grit>''' pseudo_file = StringIO.StringIO(input) root = grd_reader.Parse(pseudo_file, '.') - root.AssignFirstIds("../../chrome/app/generated_resources.grd", None) + grit_root_dir = os.path.join(os.path.abspath(os.path.dirname(__file__)), + '..') + root.AssignFirstIds( + os.path.join(grit_root_dir, "../../chrome/app/generated_resources.grd"), + None) messages_node = root.children[0].children[0] self.failUnless(isinstance(messages_node, empty.MessagesNode)) self.failUnless(messages_node.attrs["first_id"] != @@ -137,7 +141,11 @@ class GrdReaderUnittest(unittest.TestCase): </grit>''' pseudo_file = StringIO.StringIO(input) root = grd_reader.Parse(pseudo_file, '.') - root.AssignFirstIds("../../test.grd", "grit/test/data/resource_ids") + grit_root_dir = os.path.join(os.path.abspath(os.path.dirname(__file__)), + '..') + root.AssignFirstIds( + os.path.join(grit_root_dir, "../../test.grd"), + os.path.join(grit_root_dir, "grit/test/data/resource_ids")) messages_node = root.children[0].children[0] self.assertTrue(isinstance(messages_node, empty.MessagesNode)) self.assertEqual('100', messages_node.attrs["first_id"]) diff --git a/tools/grit/grit/node/misc.py b/tools/grit/grit/node/misc.py index 96afcc1..ec1e489 100644 --- a/tools/grit/grit/node/misc.py +++ b/tools/grit/grit/node/misc.py @@ -277,17 +277,17 @@ class GritNode(base.Node): # By default, we use the the file resources_ids next to grit.py # to determine what ids to assign to resources. + grit_root_dir = os.path.abspath(os.path.join(os.path.dirname( + os.path.abspath(__file__)), '..', '..')) if not first_id_filename: - first_id_filename = os.path.join(os.path.dirname( - os.path.abspath(sys.argv[0])), 'resource_ids') + first_id_filename = os.path.join(grit_root_dir, 'resource_ids') first_ids = None from grit.node import empty for node in self.inorder(): if isinstance(node, empty.GroupingNode): # The checkout base directory is 2 directories up from grit.py. - src_root_dir = os.path.dirname(os.path.dirname( - os.path.dirname(os.path.abspath(sys.argv[0])))) + src_root_dir = os.path.dirname(os.path.dirname(grit_root_dir)) filename = os.path.abspath(filename_or_stream)[ len(src_root_dir) + 1:] |