| Index: chrome/android/junit/src/org/chromium/chrome/browser/crash/LogcatExtractionCallableTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/crash/LogcatExtractionCallableTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/crash/LogcatExtractionCallableTest.java
|
| similarity index 64%
|
| copy from chrome/android/javatests/src/org/chromium/chrome/browser/crash/LogcatExtractionCallableTest.java
|
| copy to chrome/android/junit/src/org/chromium/chrome/browser/crash/LogcatExtractionCallableTest.java
|
| index 9cf435be42554fd15e2d0417753a44b61bfb85f1..9c74e30e75fa7346cbefe9bc7be5c623cb1aedb9 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/crash/LogcatExtractionCallableTest.java
|
| +++ b/chrome/android/junit/src/org/chromium/chrome/browser/crash/LogcatExtractionCallableTest.java
|
| @@ -6,127 +6,121 @@
|
|
|
| import static org.chromium.chrome.browser.crash.LogcatExtractionCallable.BEGIN_MICRODUMP;
|
| import static org.chromium.chrome.browser.crash.LogcatExtractionCallable.END_MICRODUMP;
|
| -
|
| -import android.content.ComponentName;
|
| -import android.content.Context;
|
| -import android.content.Intent;
|
| -import android.test.MoreAsserts;
|
| -import android.test.suitebuilder.annotation.MediumTest;
|
| -import android.test.suitebuilder.annotation.SmallTest;
|
| +import static org.junit.Assert.assertArrayEquals;
|
| +import static org.junit.Assert.assertEquals;
|
| +import static org.junit.Assert.fail;
|
|
|
| import android.text.TextUtils;
|
|
|
| -import org.chromium.base.test.util.AdvancedMockContext;
|
| +import org.chromium.testing.local.LocalRobolectricTestRunner;
|
| +import org.junit.Test;
|
| +import org.junit.runner.RunWith;
|
| +import org.robolectric.annotation.Config;
|
|
|
| import java.io.BufferedReader;
|
| -import java.io.File;
|
| -import java.io.FileReader;
|
| -import java.io.IOException;
|
| import java.io.StringReader;
|
| -
|
| -import java.util.ArrayList;
|
| import java.util.Arrays;
|
| import java.util.LinkedList;
|
| import java.util.List;
|
| -import java.util.concurrent.atomic.AtomicInteger;
|
|
|
| /**
|
| - * Unittests for {@link LogcatExtractionCallable}.
|
| + * junit tests for {@link LogcatExtractionCallable}.
|
| */
|
| -public class LogcatExtractionCallableTest extends CrashTestCase {
|
| - private File mCrashDir;
|
| -
|
| +@RunWith(LocalRobolectricTestRunner.class)
|
| +@Config(manifest = Config.NONE)
|
| +public class LogcatExtractionCallableTest {
|
| private static final int MAX_LINES = 5;
|
|
|
| - protected void setUp() throws Exception {
|
| - super.setUp();
|
| - mCrashDir = new CrashFileManager(mCacheDir).getCrashDirectory();
|
| - }
|
| -
|
| - @SmallTest
|
| + @Test
|
| public void testElideEmail() {
|
| String original = "email me at someguy@mailservice.com";
|
| String expected = "email me at XXX@EMAIL.ELIDED";
|
| assertEquals(expected, LogcatExtractionCallable.elideEmail(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testElideUrl() {
|
| String original = "file bugs at crbug.com";
|
| String expected = "file bugs at HTTP://WEBADDRESS.ELIDED";
|
| assertEquals(expected, LogcatExtractionCallable.elideUrl(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testElideUrl2() {
|
| String original =
|
| "exception at org.chromium.chrome.browser.crash.LogcatExtractionCallableTest";
|
| assertEquals(original, LogcatExtractionCallable.elideUrl(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testElideUrl3() {
|
| String original = "file bugs at crbug.com or code.google.com";
|
| String expected = "file bugs at HTTP://WEBADDRESS.ELIDED or HTTP://WEBADDRESS.ELIDED";
|
| assertEquals(expected, LogcatExtractionCallable.elideUrl(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testElideUrl4() {
|
| String original = "test shorturl.com !!!";
|
| String expected = "test HTTP://WEBADDRESS.ELIDED !!!";
|
| assertEquals(expected, LogcatExtractionCallable.elideUrl(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testElideUrl5() {
|
| String original = "test just.the.perfect.len.url !!!";
|
| String expected = "test HTTP://WEBADDRESS.ELIDED !!!";
|
| assertEquals(expected, LogcatExtractionCallable.elideUrl(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testElideUrl6() {
|
| String original = "test a.very.very.very.very.very.long.url !!!";
|
| String expected = "test HTTP://WEBADDRESS.ELIDED !!!";
|
| assertEquals(expected, LogcatExtractionCallable.elideUrl(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testElideUrl7() {
|
| String original = " at android.content.Intent \n at java.util.ArrayList";
|
| assertEquals(original, LogcatExtractionCallable.elideUrl(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testElideIp() {
|
| String original = "traceroute 127.0.0.1";
|
| String expected = "traceroute 1.2.3.4";
|
| assertEquals(expected, LogcatExtractionCallable.elideIp(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testElideMac1() {
|
| String original = "MAC: AB-AB-AB-AB-AB-AB";
|
| String expected = "MAC: 01:23:45:67:89:AB";
|
| assertEquals(expected, LogcatExtractionCallable.elideMac(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testElideMac2() {
|
| String original = "MAC: AB:AB:AB:AB:AB:AB";
|
| String expected = "MAC: 01:23:45:67:89:AB";
|
| assertEquals(expected, LogcatExtractionCallable.elideMac(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testElideConsole() {
|
| String original = "I/chromium(123): [INFO:CONSOLE(2)] hello!";
|
| String expected = "I/chromium(123): [ELIDED:CONSOLE(0)] ELIDED CONSOLE MESSAGE";
|
| assertEquals(expected, LogcatExtractionCallable.elideConsole(original));
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| + public void testLogTagNotElided() {
|
| + List<String> original = Arrays.asList(new String[] {"I/cr_FooBar(123): Some message"});
|
| + assertEquals(original, LogcatExtractionCallable.processLogcat(original));
|
| + }
|
| +
|
| + @Test
|
| public void testLogcatEmpty() {
|
| final String original = "";
|
| List<String> expected = new LinkedList<>();
|
| @@ -137,17 +131,17 @@ public void testLogcatEmpty() {
|
| } catch (Exception e) {
|
| fail(e.toString());
|
| }
|
| - MoreAsserts.assertEquals(expected.toArray(), logcat.toArray());
|
| + assertArrayEquals(expected.toArray(), logcat.toArray());
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testLogcatWithoutBeginOrEnd_smallLogcat() {
|
| final List<String> original = Arrays.asList("Line 1", "Line 2", "Line 3", "Line 4",
|
| "Line 5");
|
| assertLogcatLists(original, original);
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testLogcatWithoutBeginOrEnd_largeLogcat() {
|
| final List<String> original = Arrays.asList("Line 1", "Line 2", "Line 3", "Line 4",
|
| "Line 5", "Redundant Line 1", "Redundant Line 2");
|
| @@ -156,13 +150,13 @@ public void testLogcatWithoutBeginOrEnd_largeLogcat() {
|
| assertLogcatLists(expected, original);
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testLogcatBeginsWithBegin() {
|
| final List<String> original = Arrays.asList(BEGIN_MICRODUMP, "a", "b", "c", "d", "e");
|
| assertLogcatLists(new LinkedList<String>(), original);
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testLogcatWithBegin() {
|
| final List<String> original = Arrays.asList("Line 1", "Line 2", BEGIN_MICRODUMP, "a",
|
| "b", "c", "d", "e");
|
| @@ -170,13 +164,13 @@ public void testLogcatWithBegin() {
|
| assertLogcatLists(expected, original);
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testLogcatWithEnd() {
|
| final List<String> original = Arrays.asList("Line 1", "Line 2", END_MICRODUMP);
|
| assertLogcatLists(new LinkedList<String>(), original);
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testLogcatWithBeginAndEnd_smallLogcat() {
|
| final List<String> original = Arrays.asList("Line 1", "Line 2", BEGIN_MICRODUMP, "a", "b",
|
| "c", "d", "e", END_MICRODUMP);
|
| @@ -184,7 +178,7 @@ public void testLogcatWithBeginAndEnd_smallLogcat() {
|
| assertLogcatLists(expected, original);
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testLogcatWithBeginAndEnd_largeLogcat() {
|
| final List<String> original = Arrays.asList("Line 1", "Line 2", BEGIN_MICRODUMP, "a", "b",
|
| "c", "d", "e", END_MICRODUMP, "Line 3", "Line 4");
|
| @@ -192,7 +186,7 @@ public void testLogcatWithBeginAndEnd_largeLogcat() {
|
| assertLogcatLists(expected, original);
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testLogcatWithEndAndBegin_smallLogcat() {
|
| final List<String> original = Arrays.asList(END_MICRODUMP, "Line 1", "Line 2",
|
| BEGIN_MICRODUMP, "a", "b", "c", "d", "e");
|
| @@ -200,7 +194,7 @@ public void testLogcatWithEndAndBegin_smallLogcat() {
|
| assertLogcatLists(expected, original);
|
| }
|
|
|
| - @SmallTest
|
| + @Test
|
| public void testLogcatWithEndAndBegin_largeLogcat() {
|
| final List<String> original = Arrays.asList(END_MICRODUMP, "Line 1", "Line 2",
|
| BEGIN_MICRODUMP, "a", "b", "c", "d", "e", END_MICRODUMP, "Line 3", "Line 4");
|
| @@ -219,69 +213,6 @@ private void assertLogcatLists(List<String> expected, List<String> original) {
|
| } catch (Exception e) {
|
| fail(e.toString());
|
| }
|
| - MoreAsserts.assertEquals(expected.toArray(), actualLogcat.toArray());
|
| - }
|
| -
|
| - @MediumTest
|
| - public void testExtractToFile() {
|
| - final AtomicInteger numServiceStarts = new AtomicInteger(0);
|
| - final String logContent = "some random log content";
|
| - final Intent testIntent = new Intent();
|
| - File dmp1 = new File(mCrashDir, "test1.dmp");
|
| - File dmp2 = new File(mCrashDir, "test2.dmp");
|
| - File dmp3 = new File(mCrashDir, "test3.dmp");
|
| - final String[] dumps = new String[] {dmp1.getName(), dmp2.getName(), dmp3.getName()};
|
| -
|
| - Context testContext = new AdvancedMockContext(getInstrumentation().getTargetContext()) {
|
| - @Override
|
| - public ComponentName startService(Intent intentToCheck) {
|
| - assertTrue("We should have no more than 3 intents created",
|
| - numServiceStarts.incrementAndGet() <= dumps.length);
|
| - Intent redirectIntent = intentToCheck.getParcelableExtra("redirect_intent");
|
| -
|
| - // Only the very last one will have a non-null redirect_intent.
|
| - if (numServiceStarts.get() == dumps.length) {
|
| - // And it should be == to the one we pass into the constructor.
|
| - assertSame(redirectIntent, testIntent);
|
| - } else {
|
| - assertNull(redirectIntent);
|
| - }
|
| - return new ComponentName(
|
| - getPackageName(), LogcatExtractionCallable.class.getName());
|
| - }
|
| - };
|
| -
|
| - LogcatExtractionCallable callable = new LogcatExtractionCallable(
|
| - testContext, dumps, testIntent) {
|
| - @Override
|
| - protected List<String> getLogcat() throws IOException, InterruptedException {
|
| - List<String> result = new ArrayList<String>();
|
| - result.add(logContent);
|
| - return result;
|
| - }
|
| - };
|
| -
|
| - callable.call();
|
| -
|
| - assertFileContent("test1.logcat", logContent);
|
| - assertFileContent("test2.logcat", logContent);
|
| - assertFileContent("test3.logcat", logContent);
|
| - }
|
| -
|
| - private void assertFileContent(String fileName, String content) {
|
| - try {
|
| - File logfile = new File(mCrashDir, fileName);
|
| - assertTrue("Logfile does not exist!", logfile.exists());
|
| - BufferedReader input = new BufferedReader(new FileReader(logfile));
|
| - StringBuffer sb = new StringBuffer();
|
| - String line = null;
|
| - while ((line = input.readLine()) != null) {
|
| - sb.append(line);
|
| - }
|
| - input.close();
|
| - assertEquals("Content not matched!", content, sb.toString());
|
| - } catch (Exception e) {
|
| - fail(e.toString());
|
| - }
|
| + assertArrayEquals(expected.toArray(), actualLogcat.toArray());
|
| }
|
| }
|
|
|