Check more cases in android log tag PRESUBMIT

Relax a regex to catch Log.e("log message", ..) as a bad/missing TAG
instead of silently accepting it. Also add a rough TAG-change detection
regex to try and make changes that only touch a TAG also run the checks.
Adjust tests to match.

Bug: 1063573
Change-Id: I6a5c302d581aa76ebfc86a286e6048412641f4de
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2113572
Auto-Submit: Tomasz Śniatowski <[email protected]>
Commit-Queue: Andrew Grieve <[email protected]>
Reviewed-by: Andrew Grieve <[email protected]>
Cr-Commit-Position: refs/heads/master@{#752441}
diff --git a/PRESUBMIT_test.py b/PRESUBMIT_test.py
index 8d3ef19..d2a156f 100755
--- a/PRESUBMIT_test.py
+++ b/PRESUBMIT_test.py
@@ -1290,6 +1290,12 @@
         'private static final String TAG = "cr_Foo";',
         'Log.d("TAG", "foo");',
       ]),
+      MockAffectedFile('HasInlineTagWithSpace.java', [
+        'import org.chromium.base.Log;',
+        'some random stuff',
+        'private static final String TAG = "cr_Foo";',
+        'Log.d("log message", "foo");',
+      ]),
       MockAffectedFile('HasUnprefixedTag.java', [
         'import org.chromium.base.Log;',
         'some random stuff',
@@ -1302,6 +1308,11 @@
         'private static final String TAG = "21_charachers_long___";',
         'Log.d(TAG, "foo");',
       ]),
+      MockAffectedFile('HasTooLongTagWithNoLogCallsInDiff.java', [
+        'import org.chromium.base.Log;',
+        'some random stuff',
+        'private static final String TAG = "21_charachers_long___";',
+      ]),
     ]
 
     msgs = PRESUBMIT._CheckAndroidCrLogUsage(
@@ -1319,21 +1330,25 @@
 
     # Tag length
     nb = len(msgs[1].items)
-    self.assertEqual(1, nb,
-                     'Expected %d items, found %d: %s' % (1, nb, msgs[1].items))
+    self.assertEqual(2, nb,
+                     'Expected %d items, found %d: %s' % (2, nb, msgs[1].items))
     self.assertTrue('HasTooLongTag.java' in msgs[1].items)
+    self.assertTrue('HasTooLongTagWithNoLogCallsInDiff.java' in msgs[1].items)
 
     # Tag must be a variable named TAG
     nb = len(msgs[2].items)
-    self.assertEqual(1, nb,
-                     'Expected %d items, found %d: %s' % (1, nb, msgs[2].items))
+    self.assertEqual(3, nb,
+                     'Expected %d items, found %d: %s' % (3, nb, msgs[2].items))
+    self.assertTrue('HasBothLog.java:5' in msgs[2].items)
     self.assertTrue('HasInlineTag.java:4' in msgs[2].items)
+    self.assertTrue('HasInlineTagWithSpace.java:4' in msgs[2].items)
 
     # Util Log usage
     nb = len(msgs[3].items)
-    self.assertEqual(2, nb,
-                     'Expected %d items, found %d: %s' % (2, nb, msgs[3].items))
+    self.assertEqual(3, nb,
+                     'Expected %d items, found %d: %s' % (3, nb, msgs[3].items))
     self.assertTrue('HasAndroidLog.java:3' in msgs[3].items)
+    self.assertTrue('HasExplicitUtilLog.java:2' in msgs[3].items)
     self.assertTrue('IsInBasePackageButImportsLog.java:4' in msgs[3].items)
 
     # Tag must not contain