upload android base code part6
This commit is contained in:
parent
421e214c7d
commit
4e516ec6ed
35396 changed files with 9188716 additions and 0 deletions
30
android/platform_testing/libraries/power-helper/Android.mk
Normal file
30
android/platform_testing/libraries/power-helper/Android.mk
Normal file
|
@ -0,0 +1,30 @@
|
|||
#
|
||||
# Copyright (C) 2014 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.
|
||||
#
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(call all-java-files-under, src)
|
||||
|
||||
LOCAL_MODULE := PowerTestHelper-src
|
||||
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
|
||||
LOCAL_JAVA_LIBRARIES := android.test.runner ub-uiautomator
|
||||
LOCAL_STATIC_JAVA_LIBRARIES := junit legacy-android-test
|
||||
|
||||
include $(BUILD_STATIC_JAVA_LIBRARY)
|
|
@ -0,0 +1,10 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_PACKAGE_NAME := DummyPowerTest
|
||||
LOCAL_MODULE_TAGS := tests
|
||||
LOCAL_SRC_FILES := $(call all-java-files-under, src)
|
||||
|
||||
LOCAL_STATIC_JAVA_LIBRARIES := PowerTestHelper-src ub-uiautomator junit
|
||||
|
||||
include $(BUILD_PACKAGE)
|
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2012 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. -->
|
||||
|
||||
<!-- Declare the contents of this Android application. The namespace attribute
|
||||
brings in the Android platform namespace, and the package supplies a unique
|
||||
name for the application. When writing your own application, the package
|
||||
name must be changed from "com.example.*" to come from a domain that you
|
||||
own or have control over. -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.dummy">
|
||||
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.DEVICE_POWER" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.SET_TIME" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<application android:label="Power Tests">
|
||||
<uses-library android:name="android.test.runner" />
|
||||
</application>
|
||||
|
||||
<instrumentation
|
||||
android:name="android.test.InstrumentationTestRunner"
|
||||
android:targetPackage="com.android.dummy"
|
||||
android:label="UB-UIAutomator Power Tests">
|
||||
</instrumentation>
|
||||
</manifest>
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Copyright (C) 2013 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.dummy;
|
||||
|
||||
import android.os.SystemClock;
|
||||
import com.android.helper.PowerTestHelper;
|
||||
|
||||
public class DummyPowerTest extends PowerTestHelper {
|
||||
|
||||
public void testDummy() throws Exception {
|
||||
writePowerLogStart(getPropertyString("TestCase"));
|
||||
|
||||
SystemClock.sleep(40*1000);
|
||||
|
||||
writePowerLogEnd(getPropertyString("TestCase"));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,170 @@
|
|||
/*
|
||||
* Copyright (C) 2014 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.helper;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
|
||||
import android.os.SystemClock;
|
||||
import android.support.test.uiautomator.UiAutomatorTestCase;
|
||||
import android.test.InstrumentationTestRunner;
|
||||
import android.util.Log;
|
||||
|
||||
public class PowerTestHelper extends UiAutomatorTestCase {
|
||||
private final static String PARAM_CONFIG = "conf";
|
||||
private final static String SD_CARD_PATH =
|
||||
Environment.getExternalStorageDirectory().getAbsolutePath() + "/";
|
||||
private final static String POWER_OUTPUT = SD_CARD_PATH + "autotester.log";
|
||||
private final static String PROPERTY_FILE_NAME = SD_CARD_PATH + "PowerTests.conf";
|
||||
private final static long SYNC_DELAY = 10 * 1000; // 10 secs
|
||||
private final static String TAG = "PowerTestHelper";
|
||||
|
||||
private Bundle mParams;
|
||||
|
||||
@Override
|
||||
public Bundle getParams() {
|
||||
if (mParams == null) {
|
||||
mParams = ((InstrumentationTestRunner) getInstrumentation()).getArguments();
|
||||
}
|
||||
return mParams;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
mParams = getParams();
|
||||
assertNotNull("mParams is null", mParams);
|
||||
|
||||
// Wait for USB to be disconnected by the test harness
|
||||
SystemClock.sleep(SYNC_DELAY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Expects a file from the command line via conf param or default following
|
||||
* format each on its own line. <code>
|
||||
* key=Value
|
||||
* Browser_URL1=cnn.com
|
||||
* Browser_URL2=google.com
|
||||
* Camera_ShutterDelay=1000
|
||||
* etc...
|
||||
* </code>
|
||||
* @param Bundle params
|
||||
* @param key
|
||||
* @return the value of the property else defaultValue
|
||||
* @throws FileNotFoundException
|
||||
* @throws IOException
|
||||
*/
|
||||
protected String getPropertyString(String key)
|
||||
throws FileNotFoundException, IOException {
|
||||
String value = getProperty(key);
|
||||
if (value != null && !value.isEmpty())
|
||||
return value;
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Expects a file from the command line via conf param or default following
|
||||
* format each on its own line. <code>
|
||||
* key=Value
|
||||
* Browser_URL1=cnn.com
|
||||
* Browser_URL2=google.com
|
||||
* Camera_ShutterDelay=1000
|
||||
* etc...
|
||||
* </code>
|
||||
* @param Bundle params
|
||||
* @param key
|
||||
* @return the value of the property else defaultValue
|
||||
* @throws FileNotFoundException
|
||||
* @throws IOException
|
||||
*/
|
||||
protected long getPropertyLong(String key)
|
||||
throws FileNotFoundException, IOException {
|
||||
String value = getProperty(key);
|
||||
if (value != null && !value.trim().isEmpty())
|
||||
return Long.valueOf(value.trim());
|
||||
return 0;
|
||||
}
|
||||
|
||||
private String getProperty(String key)
|
||||
throws FileNotFoundException, IOException {
|
||||
String value;
|
||||
|
||||
Properties prop = new Properties();
|
||||
FileInputStream inputStream = new FileInputStream(mParams.getString(PARAM_CONFIG,
|
||||
PROPERTY_FILE_NAME));
|
||||
prop.load(inputStream);
|
||||
value = prop.getProperty(key);
|
||||
inputStream.close();
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* The power log capture when the measuremnt start and end. It will be
|
||||
* merged with the monsoon raw power data to get the average power usage in
|
||||
* that particular time frame.
|
||||
* @param logType
|
||||
* @param testCase
|
||||
* @param delay
|
||||
* @throws IOException
|
||||
*/
|
||||
protected void writePowerLog(String logType, String testCase, long delay)
|
||||
throws IOException {
|
||||
writePowerLog(logType, testCase, System.currentTimeMillis(), delay);
|
||||
}
|
||||
|
||||
/**
|
||||
* Power log capture the time when the measurement start and end. It will be
|
||||
* merged with the monsoon raw power data to get the average power usage in
|
||||
* that particular time frame.
|
||||
* @param logType
|
||||
* @param testCase : Test case name
|
||||
* @param time : Specific time stamp
|
||||
* @param delay : Delay for the actual log time.
|
||||
* @throws IOException
|
||||
*/
|
||||
protected void writePowerLog(String logType, String testCase, long time,
|
||||
long delay) throws IOException {
|
||||
FileWriter outputWriter = new FileWriter(new File(POWER_OUTPUT), true);
|
||||
outputWriter.write(String.format("%d %s %s\n", (time + delay),
|
||||
logType, testCase));
|
||||
outputWriter.close();
|
||||
}
|
||||
|
||||
protected void writePowerLogStart(String testCase) throws IOException {
|
||||
writePowerLog("AUTOTEST_TEST_BEGIN", testCase, 5 * 1000);
|
||||
}
|
||||
|
||||
protected void writePowerLogEnd(String testCase) throws IOException {
|
||||
writePowerLog("AUTOTEST_TEST_SUCCESS", testCase, 0);
|
||||
}
|
||||
|
||||
protected void writePowerLogIdleStart(String testCase, long delay) throws IOException {
|
||||
writePowerLog("AUTOTEST_TEST_BEGIN", testCase, delay);
|
||||
}
|
||||
|
||||
protected void writePowerLogIdleEnd(String testCase, long delay) throws IOException {
|
||||
writePowerLog("AUTOTEST_TEST_SUCCESS", testCase, delay);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue