diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-05-06 09:58:34 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2016-05-09 12:47:42 -0700 |
commit | 713edfce264db7edc409216d5c083f8dd6a7083f (patch) | |
tree | 0928bb5e71f542885ad9364875413b19f759f407 /tests | |
parent | 3074965cdb63adc8f834afefb282f43d3d9e4c2f (diff) | |
download | android_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')
-rw-r--r-- | tests/src/com/android/launcher3/logging/FileLogTest.java | 77 |
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")); + } +} |