| /* |
| * Copyright (C) 2010 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.android.sdkmanager; |
| |
| import com.android.SdkConstants; |
| import com.android.io.FileWrapper; |
| import com.android.sdklib.IAndroidTarget; |
| import com.android.sdklib.SdkManagerTestCase; |
| import com.android.sdklib.internal.avd.AvdInfo; |
| import com.android.sdklib.internal.project.ProjectProperties; |
| |
| import java.io.File; |
| import java.util.Map; |
| |
| public class AvdManagerTest extends SdkManagerTestCase { |
| |
| private IAndroidTarget mTarget; |
| private File mAvdFolder; |
| |
| @Override |
| public void setUp() throws Exception { |
| super.setUp(); |
| |
| mTarget = getSdkManager().getTargets()[0]; |
| mAvdFolder = AvdInfo.getDefaultAvdFolder(getAvdManager(), getName()); |
| } |
| |
| @Override |
| public void tearDown() throws Exception { |
| super.tearDown(); |
| } |
| |
| public void testCreateAvdWithoutSnapshot() { |
| |
| getAvdManager().createAvd( |
| mAvdFolder, |
| this.getName(), |
| mTarget, |
| SdkConstants.ABI_ARMEABI, |
| null, // skinName |
| null, // sdName |
| null, // properties |
| false, // createSnapshot |
| false, // removePrevious |
| false, // editExisting |
| getLog()); |
| |
| assertEquals("[P Created AVD '" + this.getName() + "' based on Android 0.0, ARM (armeabi) processor\n]", |
| getLog().toString()); |
| assertTrue("Expected config.ini in " + mAvdFolder, |
| new File(mAvdFolder, "config.ini").exists()); |
| Map<String, String> map = ProjectProperties.parsePropertyFile( |
| new FileWrapper(mAvdFolder, "config.ini"), getLog()); |
| assertEquals("HVGA", map.get("skin.name")); |
| assertEquals("platforms/v0_0/skins/HVGA", map.get("skin.path").replace(File.separatorChar, '/')); |
| assertEquals("platforms/v0_0/images/", map.get("image.sysdir.1").replace(File.separatorChar, '/')); |
| assertEquals(null, map.get("snapshot.present")); |
| assertTrue("Expected userdata.img in " + mAvdFolder, |
| new File(mAvdFolder, "userdata.img").exists()); |
| assertFalse("Expected NO snapshots.img in " + mAvdFolder, |
| new File(mAvdFolder, "snapshots.img").exists()); |
| } |
| |
| public void testCreateAvdWithSnapshot() { |
| |
| getAvdManager().createAvd( |
| mAvdFolder, |
| this.getName(), |
| mTarget, |
| SdkConstants.ABI_ARMEABI, |
| null, // skinName |
| null, // sdName |
| null, // properties |
| true, // createSnapshot |
| false, // removePrevious |
| false, // editExisting |
| getLog()); |
| |
| assertEquals("[P Created AVD '" + this.getName() + "' based on Android 0.0, ARM (armeabi) processor\n]", |
| getLog().toString()); |
| assertTrue("Expected snapshots.img in " + mAvdFolder, |
| new File(mAvdFolder, "snapshots.img").exists()); |
| Map<String, String> map = ProjectProperties.parsePropertyFile( |
| new FileWrapper(mAvdFolder, "config.ini"), getLog()); |
| assertEquals("true", map.get("snapshot.present")); |
| } |
| } |