Commit 9e6d6030 authored by Sky Malice's avatar Sky Malice Committed by Commit Bot

Stop PRESUBMIT alarming on @VisibleForTesting().

Update special handing in ForTest PRESUBMIT checking to make sure common
Android annotation @VisibleForTesting is not flagged. This annotation
typically means something in production code has a more permissive
visibility setting (such as protected or public) so that a test can
access it. The ForTest PRESUBMIT check is not applicable to this
annotation. For more information about @VisibleForTesting annotation see
https://developer.android.com/reference/androidx/annotation/VisibleForTesting

Bug: 1138976
Change-Id: Ic345bfe8e5c283a8826e17c3209f6768a281151d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2476515
Commit-Queue: Sky Malice <skym@chromium.org>
Reviewed-by: default avatarwho/bttk <bttk@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#817717}
parent c35e45e8
...@@ -1493,7 +1493,7 @@ def CheckNoProductionCodeUsingTestOnlyFunctionsJava(input_api, output_api): ...@@ -1493,7 +1493,7 @@ def CheckNoProductionCodeUsingTestOnlyFunctionsJava(input_api, output_api):
# Describes an occurrence of "ForTest*" inside a // comment. # Describes an occurrence of "ForTest*" inside a // comment.
comment_re = input_api.re.compile(r'//.*%s' % name_pattern) comment_re = input_api.re.compile(r'//.*%s' % name_pattern)
# Describes @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED) # Describes @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
annotation_re = input_api.re.compile(r'@VisibleForTesting\(otherwise') annotation_re = input_api.re.compile(r'@VisibleForTesting\(')
# Catch calls. # Catch calls.
inclusion_re = input_api.re.compile(r'(%s)\s*\(' % name_pattern) inclusion_re = input_api.re.compile(r'(%s)\s*\(' % name_pattern)
# Ignore definitions. (Comments are ignored separately.) # Ignore definitions. (Comments are ignored separately.)
......
...@@ -2595,6 +2595,11 @@ class NoProductionJavaCodeUsingTestOnlyFunctionsTest(unittest.TestCase): ...@@ -2595,6 +2595,11 @@ class NoProductionJavaCodeUsingTestOnlyFunctionsTest(unittest.TestCase):
MockFile('dir/java/src/foo.java', ['FooForTests() {']), MockFile('dir/java/src/foo.java', ['FooForTests() {']),
MockFile('dir/java/src/bar.java', ['// FooForTest();']), MockFile('dir/java/src/bar.java', ['// FooForTest();']),
MockFile('dir/java/src/bar2.java', ['x = 1; // FooForTest();']), MockFile('dir/java/src/bar2.java', ['x = 1; // FooForTest();']),
MockFile('dir/java/src/bar3.java', ['@VisibleForTesting']),
MockFile('dir/java/src/bar4.java', ['@VisibleForTesting()']),
MockFile('dir/java/src/bar5.java', [
'@VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)'
]),
MockFile('dir/javatests/src/baz.java', ['FooForTest(', 'y', ');']), MockFile('dir/javatests/src/baz.java', ['FooForTest(', 'y', ');']),
MockFile('dir/junit/src/baz.java', ['FooForTest(', 'y', ');']), MockFile('dir/junit/src/baz.java', ['FooForTest(', 'y', ');']),
MockFile('dir/junit/src/javadoc.java', [ MockFile('dir/junit/src/javadoc.java', [
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment