1c91437d38ae14a20046de47831eb0f9bfd329af7satok/* 2c91437d38ae14a20046de47831eb0f9bfd329af7satok * Copyright (C) 2011 The Android Open Source Project 3c91437d38ae14a20046de47831eb0f9bfd329af7satok * 4c91437d38ae14a20046de47831eb0f9bfd329af7satok * Licensed under the Apache License, Version 2.0 (the "License"); 5c91437d38ae14a20046de47831eb0f9bfd329af7satok * you may not use this file except in compliance with the License. 6c91437d38ae14a20046de47831eb0f9bfd329af7satok * You may obtain a copy of the License at 7c91437d38ae14a20046de47831eb0f9bfd329af7satok * 8c91437d38ae14a20046de47831eb0f9bfd329af7satok * http://www.apache.org/licenses/LICENSE-2.0 9c91437d38ae14a20046de47831eb0f9bfd329af7satok * 10c91437d38ae14a20046de47831eb0f9bfd329af7satok * Unless required by applicable law or agreed to in writing, software 11c91437d38ae14a20046de47831eb0f9bfd329af7satok * distributed under the License is distributed on an "AS IS" BASIS, 12c91437d38ae14a20046de47831eb0f9bfd329af7satok * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c91437d38ae14a20046de47831eb0f9bfd329af7satok * See the License for the specific language governing permissions and 14c91437d38ae14a20046de47831eb0f9bfd329af7satok * limitations under the License. 15c91437d38ae14a20046de47831eb0f9bfd329af7satok */ 16c91437d38ae14a20046de47831eb0f9bfd329af7satok 17c91437d38ae14a20046de47831eb0f9bfd329af7satokpackage android.os; 18c91437d38ae14a20046de47831eb0f9bfd329af7satok 19c91437d38ae14a20046de47831eb0f9bfd329af7satokimport junit.framework.TestCase; 20c91437d38ae14a20046de47831eb0f9bfd329af7satok 21c91437d38ae14a20046de47831eb0f9bfd329af7satokimport android.os.SystemProperties; 22c91437d38ae14a20046de47831eb0f9bfd329af7satokimport android.test.suitebuilder.annotation.SmallTest; 23c91437d38ae14a20046de47831eb0f9bfd329af7satok 24c91437d38ae14a20046de47831eb0f9bfd329af7satokpublic class SystemPropertiesTest extends TestCase { 25c91437d38ae14a20046de47831eb0f9bfd329af7satok private static final String KEY = "sys.testkey"; 26656f7a729f8a01d42de610579e8cc2ba1f208076satok private static final String PERSIST_KEY = "persist.sys.testkey"; 27656f7a729f8a01d42de610579e8cc2ba1f208076satok 28656f7a729f8a01d42de610579e8cc2ba1f208076satok @SmallTest 29656f7a729f8a01d42de610579e8cc2ba1f208076satok public void testStressPersistPropertyConsistency() throws Exception { 30656f7a729f8a01d42de610579e8cc2ba1f208076satok for (int i = 0; i < 100; ++i) { 31656f7a729f8a01d42de610579e8cc2ba1f208076satok SystemProperties.set(PERSIST_KEY, Long.toString(i)); 32656f7a729f8a01d42de610579e8cc2ba1f208076satok long ret = SystemProperties.getLong(PERSIST_KEY, -1); 33656f7a729f8a01d42de610579e8cc2ba1f208076satok assertEquals(i, ret); 34656f7a729f8a01d42de610579e8cc2ba1f208076satok } 35656f7a729f8a01d42de610579e8cc2ba1f208076satok } 36656f7a729f8a01d42de610579e8cc2ba1f208076satok 37c91437d38ae14a20046de47831eb0f9bfd329af7satok @SmallTest 38656f7a729f8a01d42de610579e8cc2ba1f208076satok public void testStressMemoryPropertyConsistency() throws Exception { 39c91437d38ae14a20046de47831eb0f9bfd329af7satok for (int i = 0; i < 100; ++i) { 40c91437d38ae14a20046de47831eb0f9bfd329af7satok SystemProperties.set(KEY, Long.toString(i)); 41c91437d38ae14a20046de47831eb0f9bfd329af7satok long ret = SystemProperties.getLong(KEY, -1); 42c91437d38ae14a20046de47831eb0f9bfd329af7satok assertEquals(i, ret); 43c91437d38ae14a20046de47831eb0f9bfd329af7satok } 44c91437d38ae14a20046de47831eb0f9bfd329af7satok } 45c91437d38ae14a20046de47831eb0f9bfd329af7satok 46c91437d38ae14a20046de47831eb0f9bfd329af7satok @SmallTest 47c91437d38ae14a20046de47831eb0f9bfd329af7satok public void testProperties() throws Exception { 48c91437d38ae14a20046de47831eb0f9bfd329af7satok String value; 49c91437d38ae14a20046de47831eb0f9bfd329af7satok 50c91437d38ae14a20046de47831eb0f9bfd329af7satok SystemProperties.set(KEY, ""); 51c91437d38ae14a20046de47831eb0f9bfd329af7satok value = SystemProperties.get(KEY, "default"); 52c91437d38ae14a20046de47831eb0f9bfd329af7satok assertEquals("default", value); 53c91437d38ae14a20046de47831eb0f9bfd329af7satok 54c91437d38ae14a20046de47831eb0f9bfd329af7satok SystemProperties.set(KEY, "SA"); 55c91437d38ae14a20046de47831eb0f9bfd329af7satok value = SystemProperties.get(KEY, "default"); 56c91437d38ae14a20046de47831eb0f9bfd329af7satok assertEquals("SA", value); 57c91437d38ae14a20046de47831eb0f9bfd329af7satok 58c91437d38ae14a20046de47831eb0f9bfd329af7satok value = SystemProperties.get(KEY); 59c91437d38ae14a20046de47831eb0f9bfd329af7satok assertEquals("SA", value); 60c91437d38ae14a20046de47831eb0f9bfd329af7satok 61c91437d38ae14a20046de47831eb0f9bfd329af7satok SystemProperties.set(KEY, ""); 62c91437d38ae14a20046de47831eb0f9bfd329af7satok value = SystemProperties.get(KEY, "default"); 63c91437d38ae14a20046de47831eb0f9bfd329af7satok assertEquals("default", value); 64c91437d38ae14a20046de47831eb0f9bfd329af7satok 65c91437d38ae14a20046de47831eb0f9bfd329af7satok value = SystemProperties.get(KEY); 66c91437d38ae14a20046de47831eb0f9bfd329af7satok assertEquals("", value); 67c91437d38ae14a20046de47831eb0f9bfd329af7satok } 68c91437d38ae14a20046de47831eb0f9bfd329af7satok} 69