Source:
public void test ( ) throws java.lang.Exception { assertEquals ( ( "src/test/pkg/LogTest.java:33: Error: Mismatched tags: the d() and isLoggable() calls typically should pass the same tag: TAG1 versus TAG2 [LogTagMismatch]\n" + ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( " Log.d(TAG2, \"message\"); // warn: mismatched tags!\n" + " ~~~~\n" ) + " src/test/pkg/LogTest.java:32: Conflicting tag\n" ) + "src/test/pkg/LogTest.java:36: Error: Mismatched tags: the d() and isLoggable() calls typically should pass the same tag: \"my_tag\" versus \"other_tag\" [LogTagMismatch]\n" ) + " Log.d(\"other_tag\", \"message\"); // warn: mismatched tags!\n" ) + " ~~~~~~~~~~~\n" ) + " src/test/pkg/LogTest.java:35: Conflicting tag\n" ) + "src/test/pkg/LogTest.java:80: Error: Mismatched logging levels: when checking isLoggable level DEBUG, the corresponding log call should be Log.d, not Log.v [LogTagMismatch]\n" ) + " Log.v(TAG1, \"message\"); // warn: wrong level\n" ) + " ~\n" ) + " src/test/pkg/LogTest.java:79: Conflicting tag\n" ) + "src/test/pkg/LogTest.java:83: Error: Mismatched logging levels: when checking isLoggable level DEBUG, the corresponding log call should be Log.d, not Log.v [LogTagMismatch]\n" ) + " Log.v(TAG1, \"message\"); // warn: wrong level\n" ) + " ~\n" ) + " src/test/pkg/LogTest.java:82: Conflicting tag\n" ) + "src/test/pkg/LogTest.java:86: Error: Mismatched logging levels: when checking isLoggable level VERBOSE, the corresponding log call should be Log.v, not Log.d [LogTagMismatch]\n" ) + " Log.d(TAG1, \"message\"); // warn? verbose is a lower logging level, which includes debug\n" ) + " ~\n" ) + " src/test/pkg/LogTest.java:85: Conflicting tag\n" ) + "src/test/pkg/LogTest.java:53: Error: The logging tag can be at most 23 characters, was 43 (really_really_really_really_really_long_tag) [LongLogTag]\n" ) + " Log.d(\"really_really_really_really_really_long_tag\", \"message\"); // error: too long\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:59: Error: The logging tag can be at most 23 characters, was 24 (123456789012345678901234) [LongLogTag]\n" ) + " Log.d(TAG24, \"message\"); // error: too long\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:60: Error: The logging tag can be at most 23 characters, was 39 (MyReallyReallyReallyReallyReallyLongTag) [LongLogTag]\n" ) + " Log.d(LONG_TAG, \"message\"); // error: way too long\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:67: Error: The logging tag can be at most 23 characters, was 28 (1234567890123456789012MyTag1) [LongLogTag]\n" ) + " Log.d(TAG22 + TAG1, \"message\"); // error: too long\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:68: Error: The logging tag can be at most 23 characters, was 27 (1234567890123456789012MyTag) [LongLogTag]\n" ) + " Log.d(TAG22 + \"MyTag\", \"message\"); // error: too long\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:21: Warning: The log call Log.i(...) should be conditional: surround with if (Log.isLoggable(...)) or if (BuildConfig.DEBUG) { ... } [LogConditional]\n" ) + " Log.i(TAG1, \"message\" + m); // error: unconditional w/ computation\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:22: Warning: The log call Log.i(...) should be conditional: surround with if (Log.isLoggable(...)) or if (BuildConfig.DEBUG) { ... } [LogConditional]\n" ) + " Log.i(TAG1, toString()); // error: unconditional w/ computation\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "10 errors, 2 warnings\n" ) ) , lintProject ( "src/test/pkg/LogTest.java.txt=>src/test/pkg/LogTest.java" , "src/test/pkg/Log.java.txt=>src/android/util/Log.java" ) ) ; }

Target:
public void test ( ) throws java.lang.Exception { assertEquals ( ( "src/test/pkg/LogTest.java:33: Error: Mismatched tags: the d() and isLoggable() calls typically should pass the same tag: TAG1 versus TAG2 [LogTagMismatch]\n" + ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( " Log.d(TAG2, \"message\"); // warn: mismatched tags!\n" + " ~~~~\n" ) + " src/test/pkg/LogTest.java:32: Conflicting tag\n" ) + "src/test/pkg/LogTest.java:36: Error: Mismatched tags: the d() and isLoggable() calls typically should pass the same tag: \"my_tag\" versus \"other_tag\" [LogTagMismatch]\n" ) + " Log.d(\"other_tag\", \"message\"); // warn: mismatched tags!\n" ) + " ~~~~~~~~~~~\n" ) + " src/test/pkg/LogTest.java:35: Conflicting tag\n" ) + "src/test/pkg/LogTest.java:80: Error: Mismatched logging levels: when checking isLoggable level DEBUG, the corresponding log call should be Log.d, not Log.v [LogTagMismatch]\n" ) + " Log.v(TAG1, \"message\"); // warn: wrong level\n" ) + " ~\n" ) + " src/test/pkg/LogTest.java:79: Conflicting tag\n" ) + "src/test/pkg/LogTest.java:83: Error: Mismatched logging levels: when checking isLoggable level DEBUG, the corresponding log call should be Log.d, not Log.v [LogTagMismatch]\n" ) + " Log.v(TAG1, \"message\"); // warn: wrong level\n" ) + " ~\n" ) + " src/test/pkg/LogTest.java:82: Conflicting tag\n" ) + "src/test/pkg/LogTest.java:86: Error: Mismatched logging levels: when checking isLoggable level VERBOSE, the corresponding log call should be Log.v, not Log.d [LogTagMismatch]\n" ) + " Log.d(TAG1, \"message\"); // warn? verbose is a lower logging level, which includes debug\n" ) + " ~\n" ) + " src/test/pkg/LogTest.java:85: Conflicting tag\n" ) + "src/test/pkg/LogTest.java:53: Error: The logging tag can be at most 23 characters, was 43 (really_really_really_really_really_long_tag) [LongLogTag]\n" ) + " Log.d(\"really_really_really_really_really_long_tag\", \"message\"); // error: too long\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:59: Error: The logging tag can be at most 23 characters, was 24 (123456789012345678901234) [LongLogTag]\n" ) + " Log.d(TAG24, \"message\"); // error: too long\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:60: Error: The logging tag can be at most 23 characters, was 39 (MyReallyReallyReallyReallyReallyLongTag) [LongLogTag]\n" ) + " Log.d(LONG_TAG, \"message\"); // error: way too long\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:64: Error: The logging tag can be at most 23 characters, was 39 (MyReallyReallyReallyReallyReallyLongTag) [LongLogTag]\n" ) + " Log.d(LOCAL_TAG, \"message\"); // error: too long\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:67: Error: The logging tag can be at most 23 characters, was 28 (1234567890123456789012MyTag1) [LongLogTag]\n" ) + " Log.d(TAG22 + TAG1, \"message\"); // error: too long\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:68: Error: The logging tag can be at most 23 characters, was 27 (1234567890123456789012MyTag) [LongLogTag]\n" ) + " Log.d(TAG22 + \"MyTag\", \"message\"); // error: too long\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:21: Warning: The log call Log.i(...) should be conditional: surround with if (Log.isLoggable(...)) or if (BuildConfig.DEBUG) { ... } [LogConditional]\n" ) + " Log.i(TAG1, \"message\" + m); // error: unconditional w/ computation\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "src/test/pkg/LogTest.java:22: Warning: The log call Log.i(...) should be conditional: surround with if (Log.isLoggable(...)) or if (BuildConfig.DEBUG) { ... } [LogConditional]\n" ) + " Log.i(TAG1, toString()); // error: unconditional w/ computation\n" ) + " ~~~~~~~~~~~~~~~~~~~~~~~\n" ) + "11 errors, 2 warnings\n" ) ) , lintProject ( "src/test/pkg/LogTest.java.txt=>src/test/pkg/LogTest.java" , "src/test/pkg/Log.java.txt=>src/android/util/Log.java" ) ) ; }