1 /* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package com.android.compatibility.common.tradefed.testtype; 17 18 import com.android.tradefed.build.IBuildInfo; 19 import com.android.tradefed.config.Option; 20 import com.android.tradefed.device.DeviceNotAvailableException; 21 import com.android.tradefed.result.ITestInvocationListener; 22 import com.android.tradefed.testtype.IAbi; 23 import com.android.tradefed.testtype.IAbiReceiver; 24 import com.android.tradefed.testtype.IBuildReceiver; 25 import com.android.tradefed.testtype.IRemoteTest; 26 import com.android.tradefed.testtype.IRuntimeHintProvider; 27 import com.android.tradefed.testtype.IShardableTest; 28 import com.android.tradefed.testtype.IStrictShardableTest; 29 import com.android.tradefed.testtype.ITestCollector; 30 import com.android.tradefed.testtype.ITestFilterReceiver; 31 32 import java.util.ArrayList; 33 import java.util.Collection; 34 import java.util.Set; 35 36 public class ShardableTestStub implements IRemoteTest, IShardableTest, IBuildReceiver, 37 IAbiReceiver, IRuntimeHintProvider, ITestCollector, ITestFilterReceiver, 38 IStrictShardableTest { 39 40 @Option(name = "module") 41 String mModule; 42 @Option(name = "foo") 43 String mFoo; 44 @Option(name = "blah") 45 String mBlah; 46 47 public IBuildInfo mBuildInfo = null; 48 49 Collection<IRemoteTest> mShards; 50 51 /** 52 * {@inheritDoc} 53 */ 54 @Override 55 public void setBuild(IBuildInfo buildInfo) { 56 mBuildInfo = buildInfo; 57 } 58 59 /** 60 * {@inheritDoc} 61 */ 62 @Override 63 public void run(ITestInvocationListener listener) throws DeviceNotAvailableException { 64 // Do nothing 65 } 66 67 /** 68 * {@inheritDoc} 69 */ 70 @Override 71 public Collection<IRemoteTest> split() { 72 mShards = new ArrayList<>(); 73 for (int i = 0; i < 3; i++) { 74 mShards.add(new ShardableTestStub()); 75 } 76 return mShards; 77 } 78 79 /** 80 * {@inheritDoc} 81 */ 82 @Override 83 public IRemoteTest getTestShard(int shardCount, int shardIndex) { 84 return new ShardableTestStub(); 85 } 86 87 @Override 88 public void setAbi(IAbi abi) { 89 // Do nothing 90 } 91 92 @Override 93 public IAbi getAbi() { 94 return null; 95 } 96 97 @Override 98 public long getRuntimeHint() { 99 return 1L; 100 } 101 102 @Override 103 public void setCollectTestsOnly(boolean shouldCollectTest) { 104 // Do nothing 105 } 106 107 @Override 108 public void addIncludeFilter(String filter) { 109 110 } 111 112 @Override 113 public void addAllIncludeFilters(Set<String> filters) { 114 115 } 116 117 @Override 118 public void addExcludeFilter(String filter) { 119 120 } 121 122 @Override 123 public void addAllExcludeFilters(Set<String> filters) { 124 125 } 126 } 127