|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 package org.mozilla.gecko.background.common; |
|
5 |
|
6 import org.mozilla.gecko.background.common.log.Logger; |
|
7 import org.mozilla.gecko.background.common.log.writers.AndroidLevelCachingLogWriter; |
|
8 import org.mozilla.gecko.background.common.log.writers.AndroidLogWriter; |
|
9 import org.mozilla.gecko.background.common.log.writers.LogWriter; |
|
10 import org.mozilla.gecko.background.helpers.AndroidSyncTestCase; |
|
11 |
|
12 public class TestAndroidLogWriters extends AndroidSyncTestCase { |
|
13 public static final String TEST_LOG_TAG = "TestAndroidLogWriters"; |
|
14 |
|
15 public static final String TEST_MESSAGE_1 = "LOG TEST MESSAGE one"; |
|
16 public static final String TEST_MESSAGE_2 = "LOG TEST MESSAGE two"; |
|
17 public static final String TEST_MESSAGE_3 = "LOG TEST MESSAGE three"; |
|
18 |
|
19 public void setUp() { |
|
20 Logger.stopLoggingToAll(); |
|
21 } |
|
22 |
|
23 public void tearDown() { |
|
24 Logger.resetLogging(); |
|
25 } |
|
26 |
|
27 /** |
|
28 * Verify these *all* appear in the Android log by using |
|
29 * <code>adb logcat | grep TestAndroidLogWriters</code> after executing |
|
30 * <code>adb shell setprop log.tag.TestAndroidLogWriters ERROR</code>. |
|
31 * <p> |
|
32 * This writer does not use the Android log levels! |
|
33 */ |
|
34 public void testAndroidLogWriter() { |
|
35 LogWriter lw = new AndroidLogWriter(); |
|
36 |
|
37 Logger.error(TEST_LOG_TAG, TEST_MESSAGE_1, new RuntimeException()); |
|
38 Logger.startLoggingTo(lw); |
|
39 Logger.error(TEST_LOG_TAG, TEST_MESSAGE_2); |
|
40 Logger.warn(TEST_LOG_TAG, TEST_MESSAGE_2); |
|
41 Logger.info(TEST_LOG_TAG, TEST_MESSAGE_2); |
|
42 Logger.debug(TEST_LOG_TAG, TEST_MESSAGE_2); |
|
43 Logger.trace(TEST_LOG_TAG, TEST_MESSAGE_2); |
|
44 Logger.stopLoggingTo(lw); |
|
45 Logger.error(TEST_LOG_TAG, TEST_MESSAGE_3, new RuntimeException()); |
|
46 } |
|
47 |
|
48 /** |
|
49 * Verify only *some* of these appear in the Android log by using |
|
50 * <code>adb logcat | grep TestAndroidLogWriters</code> after executing |
|
51 * <code>adb shell setprop log.tag.TestAndroidLogWriters INFO</code>. |
|
52 * <p> |
|
53 * This writer should use the Android log levels! |
|
54 */ |
|
55 public void testAndroidLevelCachingLogWriter() throws Exception { |
|
56 LogWriter lw = new AndroidLevelCachingLogWriter(new AndroidLogWriter()); |
|
57 |
|
58 Logger.error(TEST_LOG_TAG, TEST_MESSAGE_1, new RuntimeException()); |
|
59 Logger.startLoggingTo(lw); |
|
60 Logger.error(TEST_LOG_TAG, TEST_MESSAGE_2); |
|
61 Logger.warn(TEST_LOG_TAG, TEST_MESSAGE_2); |
|
62 Logger.info(TEST_LOG_TAG, TEST_MESSAGE_2); |
|
63 Logger.debug(TEST_LOG_TAG, TEST_MESSAGE_2); |
|
64 Logger.trace(TEST_LOG_TAG, TEST_MESSAGE_2); |
|
65 Logger.stopLoggingTo(lw); |
|
66 Logger.error(TEST_LOG_TAG, TEST_MESSAGE_3, new RuntimeException()); |
|
67 } |
|
68 } |