diff options
author | dgn <dgn@chromium.org> | 2015-06-10 03:08:22 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-10 10:08:56 +0000 |
commit | aa68d5ec85d3d708557fe8004e6e6ad04416cd0d (patch) | |
tree | 31a17f08a772c6acba2e79c838be6c991c2992e6 /PRESUBMIT_test.py | |
parent | 94b448769da911aba84576784168e3ff431a96a8 (diff) | |
download | chromium_src-aa68d5ec85d3d708557fe8004e6e6ad04416cd0d.zip chromium_src-aa68d5ec85d3d708557fe8004e6e6ad04416cd0d.tar.gz chromium_src-aa68d5ec85d3d708557fe8004e6e6ad04416cd0d.tar.bz2 |
[Android log] Promote using hardcoded string tags
This is to avoid static initializers that would make the code slower.
See the linked bug for discussion.
This patch deprecates Log#makeTag(String) and adds presubmit checks
to enforce at submit time what makeTag was trying to do: length and
naming rules
BUG=485772
Review URL: https://codereview.chromium.org/1131903007
Cr-Commit-Position: refs/heads/master@{#333710}
Diffstat (limited to 'PRESUBMIT_test.py')
-rwxr-xr-x | PRESUBMIT_test.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/PRESUBMIT_test.py b/PRESUBMIT_test.py index 195fe4f..613fd41 100755 --- a/PRESUBMIT_test.py +++ b/PRESUBMIT_test.py @@ -859,6 +859,77 @@ class LogUsageTest(unittest.TestCase): self.assertTrue('HasAndroidLog.java' in warnings[0].items[0]) self.assertTrue('HasExplicitLog.java' in warnings[0].items[1]) + def testCheckAndroidCrLogUsage(self): + mock_input_api = MockInputApi() + mock_output_api = MockOutputApi() + + mock_input_api.files = [ + MockAffectedFile('RandomStuff.java', [ + 'random stuff' + ]), + MockAffectedFile('HasCorrectTag.java', [ + 'import org.chromium.base.Log;', + 'some random stuff', + 'private static final String TAG = "cr.Foo";', + 'Log.d(TAG, "foo");', + ]), + MockAffectedFile('HasShortCorrectTag.java', [ + 'import org.chromium.base.Log;', + 'some random stuff', + 'private static final String TAG = "cr";', + 'Log.d(TAG, "foo");', + ]), + MockAffectedFile('HasNoTagDecl.java', [ + 'import org.chromium.base.Log;', + 'some random stuff', + 'Log.d(TAG, "foo");', + ]), + MockAffectedFile('HasIncorrectTagDecl.java', [ + 'import org.chromium.base.Log;', + 'private static final String TAHG = "cr.Foo";', + 'some random stuff', + 'Log.d(TAG, "foo");', + ]), + MockAffectedFile('HasInlineTag.java', [ + 'import org.chromium.base.Log;', + 'some random stuff', + 'private static final String TAG = "cr.Foo";', + 'Log.d("TAG", "foo");', + ]), + MockAffectedFile('HasIncorrectTag.java', [ + 'import org.chromium.base.Log;', + 'some random stuff', + 'private static final String TAG = "rubbish";', + 'Log.d(TAG, "foo");', + ]), + MockAffectedFile('HasTooLongTag.java', [ + 'import org.chromium.base.Log;', + 'some random stuff', + 'private static final String TAG = "cr.24_charachers_long___";', + 'Log.d(TAG, "foo");', + ]), + ] + + msgs = PRESUBMIT._CheckAndroidCrLogUsage( + mock_input_api, mock_output_api) + + self.assertEqual(3, len(msgs)) + + # Declaration format + self.assertEqual(3, len(msgs[0].items)) + self.assertTrue('HasNoTagDecl.java' in msgs[0].items) + self.assertTrue('HasIncorrectTagDecl.java' in msgs[0].items) + self.assertTrue('HasIncorrectTag.java' in msgs[0].items) + + # Tag length + self.assertEqual(1, len(msgs[1].items)) + self.assertTrue('HasTooLongTag.java' in msgs[1].items) + + # Tag must be a variable named TAG + self.assertEqual(1, len(msgs[2].items)) + self.assertTrue('HasInlineTag.java:4' in msgs[2].items) + + if __name__ == '__main__': unittest.main() |