/*
* 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.cts.tradefed.testtype;
import com.android.cts.tradefed.build.StubCtsBuildHelper;
import com.android.cts.tradefed.UnitTests;
import com.android.cts.util.AbiUtils;
import com.android.ddmlib.IDevice;
import com.android.ddmlib.IShellOutputReceiver;
import com.android.ddmlib.ShellCommandUnresponsiveException;
import com.android.ddmlib.testrunner.ITestRunListener;
import com.android.ddmlib.testrunner.TestIdentifier;
import com.android.tradefed.device.DeviceNotAvailableException;
import com.android.tradefed.device.ITestDevice;
import com.android.tradefed.result.ITestInvocationListener;
import com.android.tradefed.testtype.IAbi;
import com.android.tradefed.util.IRunUtil;
import com.android.tradefed.util.RunInterruptedException;
import junit.framework.TestCase;
import org.easymock.EasyMock;
import org.easymock.IAnswer;
import org.easymock.IMocksControl;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* Unit tests for {@link DeqpTestRunner}.
*/
public class DeqpTestRunnerTest extends TestCase {
private static final String NAME = "dEQP-GLES3";
private static final String ID = AbiUtils.createId(UnitTests.ABI.getName(), NAME);
private static final String CASE_LIST_FILE_NAME = "/sdcard/dEQP-TestCaseList.txt";
private static final String LOG_FILE_NAME = "/sdcard/TestLog.qpa";
private static final String INSTRUMENTATION_NAME =
"com.drawelements.deqp/com.drawelements.deqp.testercore.DeqpInstrumentation";
private static final String QUERY_INSTRUMENTATION_NAME =
"com.drawelements.deqp/com.drawelements.deqp.platformutil.DeqpPlatformCapabilityQueryInstrumentation";
private static final String DEQP_ONDEVICE_APK = "com.drawelements.deqp.apk";
private static final String DEQP_ONDEVICE_PKG = "com.drawelements.deqp";
private static final String ONLY_LANDSCAPE_FEATURES =
"feature:"+DeqpTestRunner.FEATURE_LANDSCAPE;
private static final String ALL_FEATURES =
ONLY_LANDSCAPE_FEATURES + "\nfeature:"+DeqpTestRunner.FEATURE_PORTRAIT;
private static List<Map<String,String>> DEFAULT_INSTANCE_ARGS;
static {
DEFAULT_INSTANCE_ARGS = new ArrayList<>(1);
DEFAULT_INSTANCE_ARGS.add(new HashMap<String,String>());
DEFAULT_INSTANCE_ARGS.iterator().next().put("glconfig", "rgba8888d24s8");
DEFAULT_INSTANCE_ARGS.iterator().next().put("rotation", "unspecified");
DEFAULT_INSTANCE_ARGS.iterator().next().put("surfacetype", "window");
}
private static class StubRecovery implements DeqpTestRunner.IRecovery {
/**
* {@inheritDoc}
*/
@Override
public void setSleepProvider(DeqpTestRunner.ISleepProvider sleepProvider) {
}
/**
* {@inheritDoc}
*/
@Override
public void setDevice(ITestDevice device) {
}
/**
* {@inheritDoc}
*/
@Override
public void onExecutionProgressed() {
}
/**
* {@inheritDoc}
*/
@Override
public void recoverConnectionRefused() throws DeviceNotAvailableException {
}
/**
* {@inheritDoc}
*/
@Override
public void recoverComLinkKilled() throws DeviceNotAvailableException {
}
};
/**
* {@inheritDoc}
*/
@Override
protected void setUp() throws Exception {
super.setUp();
}
/**
* Test version of OpenGL ES.
*/
private void testGlesVersion(int requiredMajorVersion, int requiredMinorVersion, int majorVersion, int minorVersion) throws Exception {
final TestIdentifier testId = new TestIdentifier("dEQP-GLES"
+ Integer.toString(requiredMajorVersion) + Integer.toString(requiredMinorVersion)
+ ".info", "version");
final String testPath = "dEQP-GLES"
+ Integer.toString(requiredMajorVersion) + Integer.toString(requiredMinorVersion)
+".info.version";
final String testTrie = "{dEQP-GLES"
+ Integer.toString(requiredMajorVersion) + Integer.toString(requiredMinorVersion)
+ "{info{version}}}";
final String resultCode = "Pass";
/* MultiLineReceiver expects "\r\n" line ending. */
final String output = "INSTRUMENTATION_STATUS: dEQP-SessionInfo-Name=releaseName\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-EventType=SessionInfo\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-SessionInfo-Value=2014.x\r\n"
+ "INSTRUMENTATION_STATUS_CODE: 0\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-SessionInfo-Name=releaseId\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-EventType=SessionInfo\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-SessionInfo-Value=0xcafebabe\r\n"
+ "INSTRUMENTATION_STATUS_CODE: 0\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-SessionInfo-Name=targetName\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-EventType=SessionInfo\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-SessionInfo-Value=android\r\n"
+ "INSTRUMENTATION_STATUS_CODE: 0\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-EventType=BeginSession\r\n"
+ "INSTRUMENTATION_STATUS_CODE: 0\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-EventType=BeginTestCase\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-BeginTestCase-TestCasePath=" + testPath + "\r\n"
+ "INSTRUMENTATION_STATUS_CODE: 0\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-TestCaseResult-Code=" + resultCode + "\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-TestCaseResult-Details=Detail" + resultCode + "\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-EventType=TestCaseResult\r\n"
+ "INSTRUMENTATION_STATUS_CODE: 0\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-EventType=EndTestCase\r\n"
+ "INSTRUMENTATION_STATUS_CODE: 0\r\n"
+ "INSTRUMENTATION_STATUS: dEQP-EventType=EndSession\r\n"
+ "INSTRUMENTATION_STATUS_CODE: 0\r\n"
+ "INSTRUMENTATION_CODE: 0\r\n";
ITestDevice mockDevice = EasyMock.createMock(ITestDevice.class);
ITestInvocationListener mockListener
= EasyMock.createStrictMock(ITestInvocationListener.class);
IDevice mockIDevice = EasyMock.createMock(IDevice.class);
Collection<TestIdentifier> tests = new ArrayList<TestIdentifier>();
tests.add(testId);
Map<TestIdentifier, List<Map<String, String>>> instance = new HashMap<>();
instance.put(testId, DEFAULT_INSTANCE_ARGS);
DeqpTestRunner deqpTest = new DeqpTestRunner(NAME,
"dEQP-GLES" + Integer.toString(requiredMajorVersion)
+ (requiredMinorVersion > 0 ? Integer.toString(requiredMinorVersion) : ""),
tests, instance);
deqpTest.setAbi(UnitTests.ABI);
int version = (majorVersion << 16) | minorVersion;
EasyMock.expect(mockDevice.getProperty("ro.opengles.version"))
.andReturn(Integer.toString(version)).atLeastOnce();
if (majorVersion > requiredMa
没有合适的资源?快使用搜索试试~ 我知道了~
cts-tradefed-host.zip
共199个文件
class:94个
java:73个
jar:5个
5星 · 超过95%的资源 需积分: 12 8 下载量 21 浏览量
2017-12-02
16:06:44
上传
评论
收藏 3.68MB ZIP 举报
温馨提示
CTS测试框架V1版本,下载之后可以导入eclipse使用。 另外,http://download.csdn.net/download/u011733869/10141942这里有基础框架,CTS框架的基础就是这个里面的tradefederation,配合使用更佳~
资源推荐
资源详情
资源评论
收起资源包目录
cts-tradefed-host.zip (199个子文件)
CtsTest.class 34KB
DeqpTestRunner.class 31KB
CtsXmlResultReporter.class 18KB
TestPackageDef.class 15KB
CtsConsole.class 12KB
GeeTestResultParser.class 12KB
DeviceInfoResult.class 11KB
DeqpTestRunner$TestInstanceResultListener.class 11KB
TestPackageResult.class 10KB
JarHostTest.class 10KB
Test.class 10KB
TestPackageRepo.class 9KB
TestPackageXmlParser$TestPackageHandler.class 8KB
JUnitDeviceTest.class 8KB
TestPlan.class 7KB
DeqpTestRunner$Recovery.class 7KB
PlanCreator.class 7KB
IssueReporter.class 7KB
TestSuite.class 7KB
TestResults.class 6KB
CtsTestLogReporter.class 6KB
GeeTest.class 6KB
DeviceInfoCollector.class 6KB
WrappedGTest.class 5KB
TestCase.class 5KB
MultipartForm.class 5KB
VMHostTest.class 4KB
TestFilter.class 4KB
TestResultRepo.class 4KB
ResultFilter.class 4KB
CtsInstrumentationApkTest.class 4KB
CtsBuildHelper.class 3KB
TestPlan$EntryHandler.class 3KB
SettingsToggler.class 3KB
DeqpTestRunner$InstrumentationParser.class 3KB
UiAutomatorJarTest.class 3KB
SingleJUnitTestResultParser.class 3KB
CtsRootDeviceSetup.class 3KB
TestLog.class 3KB
GeeTestResultParser$TestResult.class 3KB
TestSummaryXml.class 3KB
DeqpTestRunner$PlatformQueryInstrumentationParser.class 2KB
CtsTest$FailedTestScreenshotGenerator.class 2KB
WrappedGTestResultParser.class 2KB
IssueReporter$Issue.class 2KB
AbstractXmlPullParser.class 2KB
CtsTest$FailedTestLogcatGenerator.class 2KB
ResultReporter.class 2KB
CtsConsole$4.class 2KB
CtsTest$FailedTestBugreportGenerator.class 2KB
TestLog$TestLogType.class 2KB
CtsBuildProvider.class 2KB
CtsTest$TestPackage.class 2KB
DeqpTestRunner$BatchRunConfiguration.class 2KB
TestPackageXmlParser.class 2KB
CtsTestStatus.class 2KB
TimeUtil.class 2KB
CtsApkInstaller.class 2KB
JarHostTest$TestRunnable.class 2KB
DeqpTestRunner$Recovery$MachineState.class 2KB
DeqpTestRunner$TestInstanceResultListener$PendingResult.class 2KB
CtsHostStore.class 1KB
TestFilter$TestIdComparator.class 1KB
CtsTest$RuntimeHintComparator.class 1KB
TestResultRepo$FileComparator.class 1KB
CtsFilePusher.class 1KB
TestResults$PkgComparator.class 1KB
CtsConsole$3.class 1KB
CtsConsole$1.class 1KB
CtsConsole$2.class 1KB
ITestPlan.class 1KB
ITestPackageDef.class 997B
TestResultRepo$ResultDirFilter.class 979B
HostReportLog.class 928B
CtsConsole$5.class 926B
DeqpTestRunner$SleepProvider.class 916B
DeqpTestRunner$TestBatch.class 896B
TestPackageRepo$XmlFilter.class 867B
Test$PerfResultDetail.class 848B
GeeTestResultParser$Prefixes.class 841B
Test$PerfResultSummary.class 829B
GeeTestResultParser$ParsedTestInfo.class 795B
DeqpTestRunner$Recovery$ProcessKillFailureException.class 758B
DeqpTestRunner$IRecovery.class 707B
ITestPackageRepo.class 696B
Abi.class 689B
DeqpTestRunner$CapabilityQueryFailureException.class 665B
DeqpTestRunner$AdbComLinkKilledError.class 623B
DeqpTestRunner$AdbComLinkOpenError.class 617B
Test$PerfResultCommon.class 499B
TestTimeoutException.class 420B
ITestResultRepo.class 390B
ITestSummary.class 350B
DeqpTestRunner$ISleepProvider.class 283B
.classpath 708B
.classpath 655B
cts_result.css 4KB
cts_result.css 4KB
cts-tradefed 3KB
logo.gif 4KB
共 199 条
- 1
- 2
资源评论
- 寒吻秋雨西2018-03-20学习了,谢谢分享
glearn.
- 粉丝: 54
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功