Home | History | Annotate | Download | only in testtype
      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