LogTest.java revision 1a44d5dcabc18cd5ef111f732ccff91683a1a093
11a44d5dcabc18cd5ef111f732ccff91683a1a093Neal Nguyenpackage android.util; 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport junit.framework.Assert; 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport junit.framework.TestCase; 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.SystemProperties; 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.test.PerformanceTestCase; 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.test.suitebuilder.annotation.Suppress; 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.Log; 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project//This is an empty TestCase. 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project@Suppress 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class LogTest extends TestCase { 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String PROPERTY_TAG = "log.tag.LogTest"; 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String LOG_TAG = "LogTest"; 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // TODO: remove this test once we uncomment out the following test. 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testLogTestDummy() { 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /* TODO: This test is commented out because we will not be able to set properities. Fix the test. 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testIsLoggable() { 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // First clear any SystemProperty setting for our test key. 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SystemProperties.set(PROPERTY_TAG, null); 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String value = SystemProperties.get(PROPERTY_TAG); 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(value == null || value.length() == 0); 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Check to make sure that all levels expect for INFO, WARN, ERROR, and ASSERT are loggable. 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.VERBOSE)); 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.DEBUG)); 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.INFO)); 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.WARN)); 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ERROR)); 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ASSERT)); 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Set the log level to be VERBOSE for this tag. 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SystemProperties.set(PROPERTY_TAG, "VERBOSE"); 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Test to make sure all log levels >= VERBOSE are loggable. 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.VERBOSE)); 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.DEBUG)); 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.INFO)); 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.WARN)); 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ERROR)); 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ASSERT)); 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Set the log level to be DEBUG for this tag. 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SystemProperties.set(PROPERTY_TAG, "DEBUG"); 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Test to make sure all log levels >= DEBUG are loggable. 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.VERBOSE)); 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.DEBUG)); 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.INFO)); 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.WARN)); 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ERROR)); 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ASSERT)); 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Set the log level to be INFO for this tag. 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SystemProperties.set(PROPERTY_TAG, "INFO"); 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Test to make sure all log levels >= INFO are loggable. 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.VERBOSE)); 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.DEBUG)); 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.INFO)); 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.WARN)); 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ERROR)); 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ASSERT)); 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Set the log level to be WARN for this tag. 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SystemProperties.set(PROPERTY_TAG, "WARN"); 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Test to make sure all log levels >= WARN are loggable. 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.VERBOSE)); 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.DEBUG)); 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.INFO)); 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.WARN)); 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ERROR)); 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ASSERT)); 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Set the log level to be ERROR for this tag. 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SystemProperties.set(PROPERTY_TAG, "ERROR"); 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Test to make sure all log levels >= ERROR are loggable. 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.VERBOSE)); 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.DEBUG)); 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.INFO)); 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.WARN)); 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ERROR)); 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ASSERT)); 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Set the log level to be ASSERT for this tag. 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SystemProperties.set(PROPERTY_TAG, "ASSERT"); 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Test to make sure all log levels >= ASSERT are loggable. 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.VERBOSE)); 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.DEBUG)); 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.INFO)); 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.WARN)); 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.ERROR)); 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertTrue(Log.isLoggable(LOG_TAG, Log.ASSERT)); 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Set the log level to be SUPPRESS for this tag. 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SystemProperties.set(PROPERTY_TAG, "SUPPRESS"); 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Test to make sure all log levels >= ASSERT are loggable. 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.VERBOSE)); 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.DEBUG)); 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.INFO)); 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.WARN)); 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.ERROR)); 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Assert.assertFalse(Log.isLoggable(LOG_TAG, Log.ASSERT)); 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static class PerformanceTest extends TestCase implements PerformanceTestCase { 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final int ITERATIONS = 1000; 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setUp() { 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SystemProperties.set(LOG_TAG, "VERBOSE"); 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean isPerformanceOnly() { 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return true; 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int startPerformance(PerformanceTestCase.Intermediates intermediates) { 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project intermediates.setInternalIterations(ITERATIONS * 10); 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return 0; 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testIsLoggable() { 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean canLog = false; 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project for (int i = ITERATIONS - 1; i >= 0; i--) { 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project canLog = Log.isLoggable(LOG_TAG, Log.VERBOSE); 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project canLog = Log.isLoggable(LOG_TAG, Log.VERBOSE); 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project canLog = Log.isLoggable(LOG_TAG, Log.VERBOSE); 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project canLog = Log.isLoggable(LOG_TAG, Log.VERBOSE); 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project canLog = Log.isLoggable(LOG_TAG, Log.VERBOSE); 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project canLog = Log.isLoggable(LOG_TAG, Log.VERBOSE); 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project canLog = Log.isLoggable(LOG_TAG, Log.VERBOSE); 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project canLog = Log.isLoggable(LOG_TAG, Log.VERBOSE); 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project canLog = Log.isLoggable(LOG_TAG, Log.VERBOSE); 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project canLog = Log.isLoggable(LOG_TAG, Log.VERBOSE); 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 153