summaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-05-06 09:58:34 -0700
committerSunny Goyal <sunnygoyal@google.com>2016-05-09 12:47:42 -0700
commit713edfce264db7edc409216d5c083f8dd6a7083f (patch)
tree0928bb5e71f542885ad9364875413b19f759f407 /tests/src
parent3074965cdb63adc8f834afefb282f43d3d9e4c2f (diff)
downloadandroid_packages_apps_Trebuchet-713edfce264db7edc409216d5c083f8dd6a7083f.tar.gz
android_packages_apps_Trebuchet-713edfce264db7edc409216d5c083f8dd6a7083f.tar.bz2
android_packages_apps_Trebuchet-713edfce264db7edc409216d5c083f8dd6a7083f.zip
Adding a utility class for persistant logging.
The logs are kept for at max 48 hours. It uses two log files and switches between the two based on the day of the year. Change-Id: I9a99499b3445a62f29f62a5cd13db20b1783bcd3
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/com/android/launcher3/logging/FileLogTest.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/src/com/android/launcher3/logging/FileLogTest.java b/tests/src/com/android/launcher3/logging/FileLogTest.java
new file mode 100644
index 000000000..c24cc3fb7
--- /dev/null
+++ b/tests/src/com/android/launcher3/logging/FileLogTest.java
@@ -0,0 +1,77 @@
+package com.android.launcher3.logging;
+
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import java.io.File;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.Calendar;
+
+/**
+ * Tests for {@link FileLog}
+ */
+@SmallTest
+public class FileLogTest extends AndroidTestCase {
+
+ private File mTempDir;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ int count = 0;
+ do {
+ mTempDir = new File(getContext().getCacheDir(), "log-test-" + (count++));
+ } while(!mTempDir.mkdir());
+
+ FileLog.setDir(mTempDir);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ // Clear existing logs
+ new File(mTempDir, "log-0").delete();
+ new File(mTempDir, "log-1").delete();
+ mTempDir.delete();
+ super.tearDown();
+ }
+
+ public void testPrintLog() throws Exception {
+ FileLog.print("Testing", "hoolalala");
+ StringWriter writer = new StringWriter();
+ FileLog.flushAll(new PrintWriter(writer));
+ assertTrue(writer.toString().contains("hoolalala"));
+
+ FileLog.print("Testing", "abracadabra", new Exception("cat! cat!"));
+ writer = new StringWriter();
+ FileLog.flushAll(new PrintWriter(writer));
+ assertTrue(writer.toString().contains("abracadabra"));
+ // Exception is also printed
+ assertTrue(writer.toString().contains("cat! cat!"));
+
+ // Old logs still present after flush
+ assertTrue(writer.toString().contains("hoolalala"));
+ }
+
+ public void testOldFileTruncated() throws Exception {
+ FileLog.print("Testing", "hoolalala");
+ StringWriter writer = new StringWriter();
+ FileLog.flushAll(new PrintWriter(writer));
+ assertTrue(writer.toString().contains("hoolalala"));
+
+ Calendar threeDaysAgo = Calendar.getInstance();
+ threeDaysAgo.add(Calendar.HOUR, -72);
+ new File(mTempDir, "log-0").setLastModified(threeDaysAgo.getTimeInMillis());
+ new File(mTempDir, "log-1").setLastModified(threeDaysAgo.getTimeInMillis());
+
+ FileLog.print("Testing", "abracadabra", new Exception("cat! cat!"));
+ writer = new StringWriter();
+ FileLog.flushAll(new PrintWriter(writer));
+ assertTrue(writer.toString().contains("abracadabra"));
+ // Exception is also printed
+ assertTrue(writer.toString().contains("cat! cat!"));
+
+ // Old logs have been truncated
+ assertFalse(writer.toString().contains("hoolalala"));
+ }
+}