summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStas Negara <snegara@google.com>2015-03-31 12:46:45 -0700
committerStas Negara <snegara@google.com>2015-04-07 16:39:23 -0700
commit78f8656b63a37526220a3d8de4caf22be2250181 (patch)
treec086b2aa2953b5cffd4bfaf61babffe21a8a114c
parent703cfcd68fef032d3a3e3143c41dfd49c44689d6 (diff)
downloadtesting-78f8656b63a37526220a3d8de4caf22be2250181.tar.gz
Add support for launching cloud devices.
Also, a lot of refactoring (mostly renames). Change-Id: Ief13a5cca01c8cc9cde41bd193e6ff6c9f35472f
-rw-r--r--src/META-INF/plugin.xml12
-rw-r--r--src/com/google/gct/testing/CloudConfigurationChooserDialog.java71
-rw-r--r--src/com/google/gct/testing/CloudConfigurationImpl.java (renamed from src/com/google/gct/testing/CloudTestConfigurationImpl.java)61
-rw-r--r--src/com/google/gct/testing/CloudConfigurationProviderImpl.java (renamed from src/com/google/gct/testing/CloudTestConfigurationProviderImpl.java)260
-rw-r--r--src/com/google/gct/testing/CloudCustomPersistentConfigurations.java53
-rw-r--r--src/com/google/gct/testing/CloudDefaultPersistentConfigurations.java53
-rw-r--r--src/com/google/gct/testing/CloudPersistentConfiguration.java (renamed from src/com/google/gct/testing/GoogleCloudTestingPersistentConfiguration.java)7
-rw-r--r--src/com/google/gct/testing/CloudPersistentState.java (renamed from src/com/google/gct/testing/GoogleCloudTestingPersistentState.java)5
-rw-r--r--src/com/google/gct/testing/CloudResultsLoader.java5
-rw-r--r--src/com/google/gct/testing/CloudTestingListener.java (renamed from src/com/google/gct/testing/GoogleTestingListener.java)2
-rw-r--r--src/com/google/gct/testing/CloudTestingUtils.java11
-rw-r--r--src/com/google/gct/testing/ConfigurationInstance.java8
-rw-r--r--src/com/google/gct/testing/GoogleCloudTestingCustomPersistentConfigurations.java54
-rw-r--r--src/com/google/gct/testing/GoogleCloudTestingDefaultPersistentConfigurations.java54
-rw-r--r--src/com/google/gct/testing/ScreenshotComparisonDialog.java4
-rw-r--r--src/com/google/gct/testing/ScreenshotComparisonPanel.java20
-rw-r--r--src/com/google/gct/testing/ShowScreenshotsAction.java4
-rw-r--r--src/com/google/gct/testing/TwoPanelTree.java42
-rw-r--r--src/com/google/gct/testing/TwoPanelTreeDimensionSelectionEvent.java8
-rw-r--r--src/com/google/gct/testing/TwoPanelTreeTypeGroupSelectionEvent.java14
-rw-r--r--src/com/google/gct/testing/TwoPanelTreeTypeSelectionEvent.java8
-rw-r--r--src/com/google/gct/testing/dimension/ApiDimension.java8
-rw-r--r--src/com/google/gct/testing/dimension/CloudConfigurationDimension.java (renamed from src/com/google/gct/testing/dimension/GoogleCloudTestingDimension.java)24
-rw-r--r--src/com/google/gct/testing/dimension/CloudTestingType.java2
-rw-r--r--src/com/google/gct/testing/dimension/CloudTestingTypeGroup.java (renamed from src/com/google/gct/testing/dimension/GoogleCloudTestingTypeGroup.java)6
-rw-r--r--src/com/google/gct/testing/dimension/ConfigurationChangeEvent.java8
-rw-r--r--src/com/google/gct/testing/dimension/DeviceDimension.java6
-rw-r--r--src/com/google/gct/testing/dimension/LanguageDimension.java8
-rw-r--r--src/com/google/gct/testing/dimension/OrientationDimension.java6
-rw-r--r--src/com/google/gct/testing/launcher/CloudTestsLauncher.java4
-rw-r--r--src/com/google/gct/testing/results/GoogleCloudTestResultsConnectionUtil.java10
-rw-r--r--src/com/google/gct/testing/results/GoogleCloudTestResultsViewer.java2
-rw-r--r--testSrc/com/google/gct/testing/CloudTestingConfigurationImplTest.java (renamed from testSrc/com/google/gct/testing/GoogleCloudTestingConfigurationImplTest.java)6
33 files changed, 491 insertions, 355 deletions
diff --git a/src/META-INF/plugin.xml b/src/META-INF/plugin.xml
index 3bb5496..b999ed2 100644
--- a/src/META-INF/plugin.xml
+++ b/src/META-INF/plugin.xml
@@ -32,21 +32,21 @@
<projectService serviceInterface="com.google.gct.testing.config.GoogleCloudTestingDeveloperSettings"
serviceImplementation="com.google.gct.testing.config.GoogleCloudTestingDeveloperSettings"/>
- <moduleService serviceInterface="com.google.gct.testing.GoogleCloudTestingCustomPersistentConfigurations"
- serviceImplementation="com.google.gct.testing.GoogleCloudTestingCustomPersistentConfigurations"/>
+ <moduleService serviceInterface="com.google.gct.testing.CloudCustomPersistentConfigurations"
+ serviceImplementation="com.google.gct.testing.CloudCustomPersistentConfigurations"/>
- <moduleService serviceInterface="com.google.gct.testing.GoogleCloudTestingDefaultPersistentConfigurations"
- serviceImplementation="com.google.gct.testing.GoogleCloudTestingDefaultPersistentConfigurations"/>
+ <moduleService serviceInterface="com.google.gct.testing.CloudDefaultPersistentConfigurations"
+ serviceImplementation="com.google.gct.testing.CloudDefaultPersistentConfigurations"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea">
- <run.cloudTestingConfigurationProvider id="myCloudTestConfigurationProvider" order="first" implementation="com.google.gct.testing.CloudTestConfigurationProviderImpl"/>
+ <run.cloudConfigurationProvider id="myCloudConfigurationProvider" order="first" implementation="com.google.gct.testing.CloudConfigurationProviderImpl"/>
</extensions>
<extensionPoints>
- <extensionPoint name="googleTestingListener" interface="com.google.gct.testing.GoogleTestingListener"/>
+ <extensionPoint name="cloudTestingListener" interface="com.google.gct.testing.CloudTestingListener"/>
</extensionPoints>
</idea-plugin>
diff --git a/src/com/google/gct/testing/CloudConfigurationChooserDialog.java b/src/com/google/gct/testing/CloudConfigurationChooserDialog.java
index 5dbfa69..f651097 100644
--- a/src/com/google/gct/testing/CloudConfigurationChooserDialog.java
+++ b/src/com/google/gct/testing/CloudConfigurationChooserDialog.java
@@ -16,6 +16,7 @@
package com.google.gct.testing;
import com.android.annotations.Nullable;
+import com.android.tools.idea.run.CloudConfiguration.Kind;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
@@ -30,11 +31,13 @@ import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.openapi.ui.Splitter;
import com.intellij.ui.*;
import com.intellij.ui.treeStructure.Tree;
+import com.intellij.util.IconUtil;
import com.intellij.util.PlatformIcons;
import com.intellij.util.ui.UIUtil;
import com.intellij.util.ui.tree.TreeUtil;
import icons.AndroidIcons;
import org.jetbrains.android.facet.AndroidFacet;
+import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import javax.swing.event.DocumentEvent;
@@ -52,8 +55,8 @@ import static com.google.gct.testing.CloudTestingUtils.createConfigurationChoose
public class CloudConfigurationChooserDialog extends DialogWrapper implements ConfigurationChangeListener {
- private final List<CloudTestConfigurationImpl> editableConfigurations;
- private final List<CloudTestConfigurationImpl> defaultConfigurations;
+ private final List<CloudConfigurationImpl> editableConfigurations;
+ private final List<CloudConfigurationImpl> defaultConfigurations;
private final MyAddAction myAddAction = new MyAddAction();
private final MyRemoveAction myRemoveAction = new MyRemoveAction();
private final MyCopyActionButton myCopyActionButton = new MyCopyActionButton();
@@ -63,6 +66,8 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
private final DefaultMutableTreeNode customRoot = new DefaultMutableTreeNode("Custom");
private final DefaultMutableTreeNode defaultsRoot = new DefaultMutableTreeNode("Defaults");
+ private final Kind configurationKind;
+
private JPanel myPanel;
private final Splitter mySplitter = new Splitter(false);
private JPanel myConfigurationPanel;
@@ -80,17 +85,20 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
// The configuration that is currently selected in the tree
@Nullable
- private CloudTestConfigurationImpl selectedConfiguration;
+ private CloudConfigurationImpl selectedConfiguration;
private final AndroidFacet facet;
public CloudConfigurationChooserDialog(Module module,
- List<CloudTestConfigurationImpl> editableConfigurations,
- List<CloudTestConfigurationImpl> defaultConfigurations,
- final CloudTestConfigurationImpl initiallySelectedConfiguration) {
+ List<CloudConfigurationImpl> editableConfigurations,
+ List<CloudConfigurationImpl> defaultConfigurations,
+ @Nullable final CloudConfigurationImpl initiallySelectedConfiguration,
+ @NotNull Kind configurationKind) {
super(module.getProject(), true);
+ this.configurationKind = configurationKind;
+
myConfigurationInfoPanel.setPreferredSize(new Dimension(470, UIUtil.isUnderDarcula() ? 166 : 169));
// Note that we are editing the list we were given.
// This could be dangerous.
@@ -112,14 +120,17 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
updateConfigurationControls(false);
DefaultMutableTreeNode selectedGroup = (DefaultMutableTreeNode)selectedPath.getPath()[1];
if (selectedGroup.equals(customRoot)) {
- myGroupDescriptionLabel.setText("User-defined configurations");
+ myGroupDescriptionLabel.setText("User-defined configurations. To add a new one click ");
+ myGroupDescriptionLabel.setIcon(IconUtil.getAddIcon());
+ myGroupDescriptionLabel.setHorizontalTextPosition(SwingConstants.LEFT);
} else {
myGroupDescriptionLabel.setText("Default configurations");
+ myGroupDescriptionLabel.setIcon(null);
}
selectedConfiguration = null;
} else {
updateConfigurationControls(true);
- selectedConfiguration = (CloudTestConfigurationImpl) ((DefaultMutableTreeNode)selectedPath.getPath()[2]).getUserObject();
+ selectedConfiguration = (CloudConfigurationImpl) ((DefaultMutableTreeNode)selectedPath.getPath()[2]).getUserObject();
myConfigurationName.setText(selectedConfiguration.getName());
myConfigurationName.setEnabled(selectedConfiguration.isEditable());
}
@@ -152,10 +163,9 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
} else if (node == defaultsRoot) {
append("Defaults", SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES);
setIcon(AllIcons.General.Settings);
- } else if (node.getUserObject() instanceof CloudTestConfigurationImpl) {
- CloudTestConfigurationImpl config = (CloudTestConfigurationImpl) node.getUserObject();
- //TODO: Remove the cap > 100
- boolean isInvalidConfiguration = config.getDeviceConfigurationCount() < 1 || config.getDeviceConfigurationCount() > 100;
+ } else if (node.getUserObject() instanceof CloudConfigurationImpl) {
+ CloudConfigurationImpl config = (CloudConfigurationImpl) node.getUserObject();
+ boolean isInvalidConfiguration = config.getDeviceConfigurationCount() < 1;
boolean oldMySelected = mySelected;
// This is a trick to avoid using white color for the selected element if it has to be red.
if (isInvalidConfiguration) {
@@ -175,7 +185,10 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
//Disposer.register(myDisposable, ???);
- myConfigurationName.setText(initiallySelectedConfiguration.getName());
+ if (initiallySelectedConfiguration != null) {
+ myConfigurationName.setText(initiallySelectedConfiguration.getName());
+ }
+
myConfigurationName.getDocument().addDocumentListener(new DocumentAdapter() {
@Override
protected void textChanged(DocumentEvent e) {
@@ -196,10 +209,11 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
myConfigurationTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
treeModel.insertNodeInto(customRoot, rootNode, 0);
treeModel.insertNodeInto(defaultsRoot, rootNode, 1);
- for (CloudTestConfigurationImpl configuration : editableConfigurations) {
+ selectTreeNode(customRoot);
+ for (CloudConfigurationImpl configuration : editableConfigurations) {
addConfigurationToTree(-1, configuration, configuration.equals(initiallySelectedConfiguration));
}
- for (CloudTestConfigurationImpl configuration : defaultConfigurations) {
+ for (CloudConfigurationImpl configuration : defaultConfigurations) {
addConfigurationToTree(-1, configuration, configuration.equals(initiallySelectedConfiguration));
}
@@ -225,7 +239,7 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
/**
* Adds the given configuration to the appropriate place in the tree and selects it if desired.
*/
- private void addConfigurationToTree(int index, CloudTestConfigurationImpl configuration, boolean makeSelected) {
+ private void addConfigurationToTree(int index, CloudConfigurationImpl configuration, boolean makeSelected) {
configuration.addConfigurationChangeListener(this);
final DefaultMutableTreeNode newChild = new DefaultMutableTreeNode(configuration);
@@ -260,7 +274,7 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
/**
* Removes the given configuration from the tree. We only look under the custom root.
*/
- private void removeConfigurationFromTree(CloudTestConfigurationImpl configuration) {
+ private void removeConfigurationFromTree(CloudConfigurationImpl configuration) {
configuration.removeConfigurationChangeListener(this);
MutableTreeNode toRemove = (MutableTreeNode) TreeUtil.findNodeWithObject(configuration, myConfigurationTree.getModel(), customRoot);
customRoot.remove(toRemove);
@@ -288,10 +302,10 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
return myToolbarDecorator.createPanel();
}
- LoadingCache<CloudTestConfigurationImpl, TwoPanelTree> dimensionTreeCache = CacheBuilder.newBuilder()
- .build(new CacheLoader<CloudTestConfigurationImpl, TwoPanelTree>() {
+ LoadingCache<CloudConfigurationImpl, TwoPanelTree> dimensionTreeCache = CacheBuilder.newBuilder()
+ .build(new CacheLoader<CloudConfigurationImpl, TwoPanelTree>() {
@Override
- public TwoPanelTree load(CloudTestConfigurationImpl configuration) throws Exception {
+ public TwoPanelTree load(CloudConfigurationImpl configuration) throws Exception {
final TwoPanelTree tree = new TwoPanelTree(configuration);
final TwoPanelTreeSelectionListener treeSelectionListener = new TwoPanelTreeSelectionListener() {
@Override
@@ -328,7 +342,7 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
});
- private void updateConfigurationDetailsPanel(CloudTestConfigurationImpl configuration) {
+ private void updateConfigurationDetailsPanel(CloudConfigurationImpl configuration) {
myConfigurationEditorPanel.removeAll();
@@ -350,7 +364,6 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
myConfigurationName.setVisible(isRealConfiguration);
myConfigurationNameLabel.setVisible(isRealConfiguration);
myGroupDescriptionLabel.setVisible(!isRealConfiguration);
- getOKAction().setEnabled(isRealConfiguration);
}
private void expandAllRows(Tree tree) {
@@ -359,7 +372,7 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
}
}
- public CloudTestConfigurationImpl getSelectedConfiguration() {
+ public CloudConfigurationImpl getSelectedConfiguration() {
return selectedConfiguration;
}
@@ -441,9 +454,9 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
@Override
public void actionPerformed(AnActionEvent e) {
// selectedConfiguration should not be null here, but handle this scenario just in case.
- CloudTestConfigurationImpl newConfiguration = selectedConfiguration != null
+ CloudConfigurationImpl newConfiguration = selectedConfiguration != null
? selectedConfiguration.copy("Copy of ")
- : new CloudTestConfigurationImpl(facet);
+ : new CloudConfigurationImpl(facet, configurationKind);
addNewConfiguration(newConfiguration);
}
@@ -467,7 +480,7 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
}
private void doAdd() {
- addNewConfiguration(new CloudTestConfigurationImpl(facet));
+ addNewConfiguration(new CloudConfigurationImpl(facet, configurationKind));
}
@Override
@@ -476,8 +489,8 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
}
}
- private void addNewConfiguration(CloudTestConfigurationImpl newConfiguration) {
- newConfiguration.setIcon(CloudTestConfigurationProviderImpl.DEFAULT_ICON);
+ private void addNewConfiguration(CloudConfigurationImpl newConfiguration) {
+ newConfiguration.setIcon(CloudConfigurationProviderImpl.DEFAULT_ICON);
int addIndex = selectedConfiguration == null
? editableConfigurations.size()
: editableConfigurations.indexOf(selectedConfiguration) + 1;
@@ -546,7 +559,7 @@ public class CloudConfigurationChooserDialog extends DialogWrapper implements Co
}
}
- private void moveConfigurationToIndex(int index, CloudTestConfigurationImpl configuration) {
+ private void moveConfigurationToIndex(int index, CloudConfigurationImpl configuration) {
editableConfigurations.remove(configuration);
editableConfigurations.add(index, configuration);
removeConfigurationFromTree(configuration);
diff --git a/src/com/google/gct/testing/CloudTestConfigurationImpl.java b/src/com/google/gct/testing/CloudConfigurationImpl.java
index 4ea11a8..0d46a1e 100644
--- a/src/com/google/gct/testing/CloudTestConfigurationImpl.java
+++ b/src/com/google/gct/testing/CloudConfigurationImpl.java
@@ -15,7 +15,7 @@
*/
package com.google.gct.testing;
-import com.android.tools.idea.run.CloudTestConfiguration;
+import com.android.tools.idea.run.CloudConfiguration;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Function;
import com.google.common.base.Preconditions;
@@ -30,7 +30,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Set;
-public class CloudTestConfigurationImpl extends CloudTestConfiguration {
+public class CloudConfigurationImpl extends CloudConfiguration {
public static final int ALL_ID = Integer.MAX_VALUE;
@@ -38,6 +38,7 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
private int id;
private String name;
+ private Kind kind;
private Icon icon;
private final AndroidFacet facet;
private boolean isEditable;
@@ -50,26 +51,28 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
LanguageDimension languageDimension;
OrientationDimension orientationDimension;
- public CloudTestConfigurationImpl(int id, String name, Icon icon, AndroidFacet facet) {
+ public CloudConfigurationImpl(int id, String name, Kind kind, Icon icon, AndroidFacet facet) {
if (id != ALL_ID && id >= nextAvailableID) {
nextAvailableID = id + 1;
}
this.id = id;
this.name = name;
+ this.kind = kind;
this.icon = icon;
this.facet = facet;
isEditable = true;
createDimensions();
}
- public CloudTestConfigurationImpl(String name, Icon icon, AndroidFacet facet) {
- this(nextAvailableID++, name, icon, facet);
+ public CloudConfigurationImpl(String name, Kind kind, Icon icon, AndroidFacet facet) {
+ this(nextAvailableID++, name, kind, icon, facet);
}
@VisibleForTesting
- CloudTestConfigurationImpl(String name, int minSdkVersion, List<String> locales) {
+ CloudConfigurationImpl(String name, Kind kind, int minSdkVersion, List<String> locales) {
id = nextAvailableID++;
this.name = name;
+ this.kind = kind;
facet = null;
isEditable = true;
deviceDimension = new DeviceDimension(this);
@@ -78,10 +81,11 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
orientationDimension = new OrientationDimension(this);
}
- public CloudTestConfigurationImpl(AndroidFacet facet) {
+ public CloudConfigurationImpl(AndroidFacet facet, Kind kind) {
id = nextAvailableID++;
name = "Unnamed";
- icon = CloudTestConfigurationProviderImpl.DEFAULT_ICON;
+ this.kind = kind;
+ icon = CloudConfigurationProviderImpl.DEFAULT_ICON;
this.facet = facet;
isEditable = true;
createDimensions();
@@ -98,19 +102,23 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
return name;
}
+ public Kind getKind() {
+ return kind;
+ }
+
/**
* A single number representation of a matrix configuration.
*/
private int getHash() {
- return (name + FluentIterable.from(getDimensions()).transform(new Function<GoogleCloudTestingDimension, String>() {
+ return (name + FluentIterable.from(getDimensions()).transform(new Function<CloudConfigurationDimension, String>() {
@Override
- public String apply(GoogleCloudTestingDimension dimension) {
+ public String apply(CloudConfigurationDimension dimension) {
return getStringRepresentation(dimension);
}
}).toString()).hashCode();
}
- private String getStringRepresentation(GoogleCloudTestingDimension dimension) {
+ private String getStringRepresentation(CloudConfigurationDimension dimension) {
StringBuffer sb = new StringBuffer();
sb.append(dimension.getId());
for (CloudTestingType type : dimension.getEnabledTypes()) {
@@ -136,7 +144,7 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
}
}
- public List<GoogleCloudTestingDimension> getDimensions() {
+ public List<CloudConfigurationDimension> getDimensions() {
return ImmutableList.of(deviceDimension, apiDimension, languageDimension, orientationDimension);
}
@@ -164,7 +172,7 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
return changeListeners.remove(listener);
}
- public void dimensionChanged(GoogleCloudTestingDimension dimension) {
+ public void dimensionChanged(CloudConfigurationDimension dimension) {
for (ConfigurationChangeListener changeListener : changeListeners) {
changeListener.configurationChanged(new ConfigurationChangeEvent(this));
}
@@ -178,7 +186,7 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
public int getDeviceConfigurationCount() {
int product = 1;
- for (GoogleCloudTestingDimension dimension : getDimensions()) {
+ for (CloudConfigurationDimension dimension : getDimensions()) {
product *= dimension.getEnabledTypes().size();
}
@@ -188,7 +196,7 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
public int countCombinationsCollapsingOrientation() {
int product = 1;
- for (GoogleCloudTestingDimension dimension : getDimensions()) {
+ for (CloudConfigurationDimension dimension : getDimensions()) {
if (dimension instanceof OrientationDimension) {
product *= Math.min(dimension.getEnabledTypes().size(), 1);
} else {
@@ -230,7 +238,7 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
StringBuffer bf = new StringBuffer();
boolean firstDim = true;
- for (GoogleCloudTestingDimension dimension : getDimensions()) {
+ for (CloudConfigurationDimension dimension : getDimensions()) {
if(!firstDim) {
bf.append(" && ");
}
@@ -277,7 +285,7 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
}
}
- private StringBuffer prepareDimensionRequest(GoogleCloudTestingDimension dimension) {
+ private StringBuffer prepareDimensionRequest(CloudConfigurationDimension dimension) {
StringBuffer bf = new StringBuffer();
boolean firstType = true;
for (CloudTestingType type : dimension.getEnabledTypes()) {
@@ -291,14 +299,14 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
}
@Override
- public CloudTestConfigurationImpl clone() {
+ public CloudConfigurationImpl clone() {
return copy(null);
}
- public CloudTestConfigurationImpl copy(String prefix) {
- CloudTestConfigurationImpl newConfiguration = prefix == null
- ? new CloudTestConfigurationImpl(id, name, icon, facet) //clone
- : new CloudTestConfigurationImpl(prefix + name, icon, facet);
+ public CloudConfigurationImpl copy(String prefix) {
+ CloudConfigurationImpl newConfiguration = prefix == null
+ ? new CloudConfigurationImpl(id, name, kind, icon, facet) //clone
+ : new CloudConfigurationImpl(prefix + name, kind, icon, facet);
newConfiguration.deviceDimension.enableAll(deviceDimension.getEnabledTypes());
newConfiguration.apiDimension.enableAll(apiDimension.getEnabledTypes());
newConfiguration.languageDimension.enableAll(languageDimension.getEnabledTypes());
@@ -306,10 +314,11 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
return newConfiguration;
}
- public GoogleCloudTestingPersistentConfiguration getPersistentConfiguration() {
- GoogleCloudTestingPersistentConfiguration persistentConfiguration = new GoogleCloudTestingPersistentConfiguration();
+ public CloudPersistentConfiguration getPersistentConfiguration() {
+ CloudPersistentConfiguration persistentConfiguration = new CloudPersistentConfiguration();
persistentConfiguration.id = id;
persistentConfiguration.name = name;
+ persistentConfiguration.kind = kind;
persistentConfiguration.devices = getEnabledTypes(deviceDimension);
persistentConfiguration.apiLevels = getEnabledTypes(apiDimension);
persistentConfiguration.languages = getEnabledTypes(languageDimension);
@@ -317,7 +326,7 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
return persistentConfiguration;
}
- private List<String> getEnabledTypes(GoogleCloudTestingDimension dimension) {
+ private List<String> getEnabledTypes(CloudConfigurationDimension dimension) {
List<String> enabledTypes = new LinkedList<String>();
for (CloudTestingType type : dimension.getEnabledTypes()) {
enabledTypes.add(type.getId());
@@ -330,7 +339,7 @@ public class CloudTestConfigurationImpl extends CloudTestConfiguration {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
- CloudTestConfigurationImpl that = (CloudTestConfigurationImpl)o;
+ CloudConfigurationImpl that = (CloudConfigurationImpl)o;
//return getHash() == that.getHash() && id == that.id;
return id == that.id;
diff --git a/src/com/google/gct/testing/CloudTestConfigurationProviderImpl.java b/src/com/google/gct/testing/CloudConfigurationProviderImpl.java
index 466e4e2..2a07984 100644
--- a/src/com/google/gct/testing/CloudTestConfigurationProviderImpl.java
+++ b/src/com/google/gct/testing/CloudConfigurationProviderImpl.java
@@ -15,11 +15,14 @@
*/
package com.google.gct.testing;
-import com.android.tools.idea.run.CloudTestConfiguration;
-import com.android.tools.idea.run.CloudTestConfigurationProvider;
+import com.android.tools.idea.run.CloudConfiguration;
+import com.android.tools.idea.run.CloudConfiguration.Kind;
+import com.android.tools.idea.run.CloudConfigurationProvider;
+import com.android.tools.idea.sdk.IdeSdks;
import com.google.api.services.storage.Storage;
import com.google.api.services.storage.model.Buckets;
-import com.google.api.services.testing.model.TestExecution;
+import com.google.api.services.testing.model.AndroidDevice;
+import com.google.api.services.testing.model.Device;
import com.google.api.services.testing.model.TestMatrix;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
@@ -38,6 +41,7 @@ import com.intellij.execution.DefaultExecutionResult;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.ExecutionResult;
import com.intellij.execution.Executor;
+import com.intellij.execution.process.ProcessHandler;
import com.intellij.execution.process.ProcessOutputTypes;
import com.intellij.execution.ui.ConsoleView;
import com.intellij.openapi.module.Module;
@@ -54,29 +58,34 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.io.File;
import java.io.FilenameFilter;
+import java.io.IOException;
import java.util.*;
-public class CloudTestConfigurationProviderImpl extends CloudTestConfigurationProvider {
+import static com.android.tools.idea.run.CloudConfiguration.Kind.MATRIX;
+import static com.android.tools.idea.run.CloudConfiguration.Kind.SINGLE_DEVICE;
+import static com.google.gct.testing.launcher.CloudAuthenticator.getTest;
+
+public class CloudConfigurationProviderImpl extends CloudConfigurationProvider {
private static final String TEST_RUN_ID_PREFIX = "GoogleCloudTest:";
- private static final Map<String, CloudTestConfigurationImpl> testRunIdToCloudConfiguration = new HashMap<String, CloudTestConfigurationImpl>();
+ private static final Map<String, CloudConfigurationImpl> testRunIdToCloudConfiguration = new HashMap<String, CloudConfigurationImpl>();
private static final Map<String, CloudResultsAdapter> testRunIdToCloudResultsAdapter = new HashMap<String, CloudResultsAdapter>();
public static final Icon DEFAULT_ICON = AndroidIcons.AndroidFile;
- public static final Function<CloudTestConfiguration, CloudTestConfigurationImpl> CLONE_CONFIGURATIONS =
- new Function<CloudTestConfiguration, CloudTestConfigurationImpl>() {
+ public static final Function<CloudConfiguration, CloudConfigurationImpl> CLONE_CONFIGURATIONS =
+ new Function<CloudConfiguration, CloudConfigurationImpl>() {
@Override
- public CloudTestConfigurationImpl apply(CloudTestConfiguration configuration) {
- return ((CloudTestConfigurationImpl) configuration).clone();
+ public CloudConfigurationImpl apply(CloudConfiguration configuration) {
+ return ((CloudConfigurationImpl) configuration).clone();
}
};
- public static final Function<CloudTestConfiguration, CloudTestConfigurationImpl> CAST_CONFIGURATIONS =
- new Function<CloudTestConfiguration, CloudTestConfigurationImpl>() {
+ public static final Function<CloudConfiguration, CloudConfigurationImpl> CAST_CONFIGURATIONS =
+ new Function<CloudConfiguration, CloudConfigurationImpl>() {
@Override
- public CloudTestConfigurationImpl apply(CloudTestConfiguration configuration) {
- return (CloudTestConfigurationImpl) configuration;
+ public CloudConfigurationImpl apply(CloudConfiguration configuration) {
+ return (CloudConfigurationImpl) configuration;
}
};
@@ -91,16 +100,26 @@ public class CloudTestConfigurationProviderImpl extends CloudTestConfigurationPr
@NotNull
@Override
- public List<? extends CloudTestConfiguration> getTestingConfigurations(@NotNull AndroidFacet facet) {
- List<GoogleCloudTestingPersistentConfiguration> googleCloudTestingPersistentConfigurations =
- GoogleCloudTestingCustomPersistentConfigurations.getInstance(facet.getModule()).getState().myGoogleCloudTestingPersistentConfigurations;
- return Lists.newArrayList(Iterables.concat(deserializeConfigurations(googleCloudTestingPersistentConfigurations, true, facet),
- getDefaultConfigurations(facet)));
+ public List<? extends CloudConfiguration> getCloudConfigurations(@NotNull AndroidFacet facet, @NotNull final Kind configurationKind) {
+
+ List<CloudPersistentConfiguration> cloudPersistentConfigurations = Lists.newArrayList(Iterables.filter(
+ CloudCustomPersistentConfigurations.getInstance(facet.getModule()).getState().myCloudPersistentConfigurations,
+ new Predicate<CloudPersistentConfiguration>() {
+ @Override
+ public boolean apply(@Nullable CloudPersistentConfiguration configuration) {
+ return configuration != null && configuration.kind == configurationKind;
+ }
+ }));
+ return Lists.newArrayList(Iterables.concat(deserializeConfigurations(cloudPersistentConfigurations, true, facet),
+ getDefaultConfigurations(facet, configurationKind)));
}
- private List<? extends CloudTestConfiguration> getDefaultConfigurations(AndroidFacet facet) {
- CloudTestConfigurationImpl allConfiguration =
- new CloudTestConfigurationImpl(CloudTestConfigurationImpl.ALL_ID, "All Compatible", AndroidIcons.Display, facet);
+ private List<? extends CloudConfiguration> getDefaultConfigurations(AndroidFacet facet, Kind kind) {
+ if (kind == SINGLE_DEVICE) { // No default single device configurations.
+ return Lists.newArrayList();
+ }
+ CloudConfigurationImpl allConfiguration =
+ new CloudConfigurationImpl(CloudConfigurationImpl.ALL_ID, "All Compatible", MATRIX, AndroidIcons.Display, facet);
allConfiguration.deviceDimension.enableAll();
allConfiguration.apiDimension.enableAll();
allConfiguration.languageDimension.enableAll();
@@ -108,55 +127,75 @@ public class CloudTestConfigurationProviderImpl extends CloudTestConfigurationPr
allConfiguration.setNonEditable();
return ImmutableList.of(allConfiguration);
//TODO: For now, there are no default configurations to store/read from the persistent storage (i.e., an xml file).
- //List<GoogleCloudTestingPersistentConfiguration> myGoogleCloudTestingPersistentConfigurations =
- // GoogleCloudTestingDefaultPersistentConfigurations.getInstance(facet.getModule()).getState().myGoogleCloudTestingPersistentConfigurations;
- //return ImmutableList.copyOf(deserializeConfigurations(myGoogleCloudTestingPersistentConfigurations, false, facet));
+ //List<CloudPersistentConfiguration> myCloudPersistentConfigurations =
+ // CloudDefaultPersistentConfigurations.getInstance(facet.getModule()).getState().myCloudPersistentConfigurations;
+ //return ImmutableList.copyOf(deserializeConfigurations(myCloudPersistentConfigurations, false, facet));
+ }
+
+ @NotNull
+ public List<? extends CloudConfiguration> getAllCloudConfigurations(@NotNull AndroidFacet facet) {
+ List<CloudPersistentConfiguration> cloudPersistentConfigurations =
+ CloudCustomPersistentConfigurations.getInstance(facet.getModule()).getState().myCloudPersistentConfigurations;
+ return Lists.newArrayList(Iterables.concat(deserializeConfigurations(cloudPersistentConfigurations, true, facet),
+ getDefaultConfigurations(facet, MATRIX)));
}
@Nullable
@Override
- public CloudTestConfiguration openMatrixConfigurationDialog(@NotNull AndroidFacet currentFacet,
- @NotNull CloudTestConfiguration selectedConfiguration) {
+ public CloudConfiguration openMatrixConfigurationDialog(@NotNull AndroidFacet currentFacet,
+ @Nullable CloudConfiguration selectedConfiguration,
+ @NotNull Kind configurationKind) {
+
+ final Kind selectedConfigurationKind =
+ selectedConfiguration == null ? configurationKind : ((CloudConfigurationImpl)selectedConfiguration).getKind();
+
Module currentModule = currentFacet.getModule();
- List<? extends CloudTestConfiguration> testingConfigurations = getTestingConfigurations(currentFacet);
+ List<? extends CloudConfiguration> testingConfigurations = getCloudConfigurations(currentFacet, selectedConfigurationKind);
- List<CloudTestConfigurationImpl> castDefaultConfigurations =
- Lists.newArrayList(Iterables.transform(Iterables.filter(testingConfigurations, new Predicate<CloudTestConfiguration>(){
+ List<CloudConfigurationImpl> castDefaultConfigurations =
+ Lists.newArrayList(Iterables.transform(Iterables.filter(testingConfigurations, new Predicate<CloudConfiguration>(){
@Override
- public boolean apply(CloudTestConfiguration testingConfiguration) {
+ public boolean apply(CloudConfiguration testingConfiguration) {
return !testingConfiguration.isEditable();
}
}), CAST_CONFIGURATIONS));
- List<CloudTestConfigurationImpl> copyCustomConfigurations =
- Lists.newArrayList(Iterables.transform(Iterables.filter(testingConfigurations, new Predicate<CloudTestConfiguration>(){
+ List<CloudConfigurationImpl> copyCustomConfigurations =
+ Lists.newArrayList(Iterables.transform(Iterables.filter(testingConfigurations, new Predicate<CloudConfiguration>(){
@Override
- public boolean apply(CloudTestConfiguration testingConfiguration) {
+ public boolean apply(CloudConfiguration testingConfiguration) {
return testingConfiguration.isEditable();
}
}), CLONE_CONFIGURATIONS));
- if (selectedConfiguration == null) {
- selectedConfiguration = new CloudTestConfigurationImpl(currentFacet);
- }
-
CloudConfigurationChooserDialog dialog =
new CloudConfigurationChooserDialog(currentModule, copyCustomConfigurations, castDefaultConfigurations,
- (CloudTestConfigurationImpl) selectedConfiguration);
+ (CloudConfigurationImpl) selectedConfiguration, selectedConfigurationKind);
dialog.show();
if (dialog.isOK()) {
- //Persist the edited configurations.
- GoogleCloudTestingPersistentState customState = new GoogleCloudTestingPersistentState();
- customState.myGoogleCloudTestingPersistentConfigurations = Lists.newArrayList(
- Iterables.transform(copyCustomConfigurations,
- new Function<CloudTestConfigurationImpl, GoogleCloudTestingPersistentConfiguration>() {
- @Override
- public GoogleCloudTestingPersistentConfiguration apply(CloudTestConfigurationImpl configuration) {
- return configuration.getPersistentConfiguration();
- }
- }));
- GoogleCloudTestingCustomPersistentConfigurations.getInstance(currentModule).loadState(customState);
+ CloudCustomPersistentConfigurations persistentConfigurations = CloudCustomPersistentConfigurations.getInstance(currentModule);
+ CloudPersistentState customState = persistentConfigurations.getState();
+
+ // Keep all un-edited configurations (i.e., configurations of other kinds).
+ customState.myCloudPersistentConfigurations =
+ Lists.newArrayList(Iterables.filter(customState.myCloudPersistentConfigurations, new Predicate<CloudPersistentConfiguration>() {
+ @Override
+ public boolean apply(@Nullable CloudPersistentConfiguration configuration) {
+ return configuration != null && configuration.kind != selectedConfigurationKind;
+ }
+ }));
+
+ // Persist the edited configurations.
+ customState.myCloudPersistentConfigurations.addAll(Lists.newArrayList(
+ Iterables.transform(copyCustomConfigurations, new Function<CloudConfigurationImpl, CloudPersistentConfiguration>() {
+ @Override
+ public CloudPersistentConfiguration apply(CloudConfigurationImpl configuration) {
+ return configuration.getPersistentConfiguration();
+ }
+ })));
+
+ persistentConfigurations.loadState(customState);
return dialog.getSelectedConfiguration();
}
@@ -199,12 +238,82 @@ public class CloudTestConfigurationProviderImpl extends CloudTestConfigurationPr
}
@Override
- public boolean supportsDebugging() {
- return false;
+ public void launchCloudDevice(int selectedConfigurationId, @NotNull String cloudProjectId, @NotNull AndroidFacet facet) {
+
+ CloudConfigurationImpl cloudConfiguration = CloudTestingUtils.getConfigurationById(selectedConfigurationId, facet);
+
+ if (cloudConfiguration.getKind() != Kind.SINGLE_DEVICE) {
+ // Should handle only single device configurations.
+ return;
+ }
+
+ String[] dimensionValues =
+ cloudConfiguration.computeConfigurationInstances(ConfigurationInstance.ENCODED_NAME_DELIMITER).get(0).split("-");
+ Device device = new Device().setAndroidDevice(
+ new AndroidDevice()
+ .setAndroidModelId(dimensionValues[0])
+ .setAndroidVersionId(dimensionValues[1])
+ .setLocale(dimensionValues[2])
+ .setOrientation(dimensionValues[3]));
+
+ Device createdDevice = null;
+ try {
+ createdDevice = getTest().projects().devices().create(cloudProjectId, device).execute();
+ }
+ catch (IOException e) {
+ CloudTestingUtils.showErrorMessage(null, "Error launching a cloud device", "Failed to launch a cloud device!\n" +
+ "Exception while launching a cloud device\n\n" +
+ e.getMessage());
+ return;
+ }
+ if (createdDevice == null) {
+ CloudTestingUtils.showErrorMessage(null, "Error launching a cloud device", "Failed to launch a cloud device!\n" +
+ "The returned cloud device is null\n\n");
+ }
+
+ final long POLLING_INTERVAL = 10 * 1000; // 10 seconds
+ final long INITIAL_TIMEOUT = 10 * 60 * 1000; // 10 minutes
+ long stopTime = System.currentTimeMillis() + INITIAL_TIMEOUT;
+ String sdkPath = IdeSdks.getAndroidSdkPath().getAbsolutePath() + "/platform-tools";
+ File dir = new File(sdkPath);
+ while (System.currentTimeMillis() < stopTime) {
+ try {
+ createdDevice = getTest().projects().devices().get(cloudProjectId, createdDevice.getId()).execute();
+ System.out.println("Polling for device... (time: " + System.currentTimeMillis() + ", status: " + createdDevice.getState() + ")");
+ if (createdDevice.getState().equals("READY")) {
+ //if (createdDevice.getDeviceDetails().getConnectionInfo() != null) {
+ String ipAddress = createdDevice.getDeviceDetails().getConnectionInfo().getIpAddress();
+ Integer adbPort = createdDevice.getDeviceDetails().getConnectionInfo().getAdbPort();
+ System.out.println("Device ready with IP address:port " + ipAddress + ":" + adbPort);
+ Runtime rt = Runtime.getRuntime();
+ //Process startServer = rt.exec("./adb start-server", null, dir);
+ //startServer.waitFor();
+ Process connect = rt.exec("./adb connect " + ipAddress + ":" + adbPort, null, dir);
+ connect.waitFor();
+ return;
+ }
+ Thread.sleep(POLLING_INTERVAL);
+ } catch (IOException e) {
+ showCloudDevicePollingError(e, createdDevice.getId());
+ } catch (InterruptedException e) {
+ showCloudDevicePollingError(e, createdDevice.getId());
+ }
+ }
+ CloudTestingUtils.showErrorMessage(null, "Timed out connecting to a cloud device", "Timed out connecting to a cloud device!\n" +
+ "Timed out connecting to a cloud device:\n\n" +
+ createdDevice.getId());
+ }
+
+ private void showCloudDevicePollingError(Exception e, String deviceId) {
+ CloudTestingUtils.showErrorMessage(null, "Error polling for a cloud device", "Failed to connect to a cloud device!\n" +
+ "Exception while polling for a cloud device\n\n" +
+ deviceId +
+ e.getMessage());
}
@Override
- public ExecutionResult execute(int selectedConfigurationId, String cloudProjectId, AndroidRunningState runningState, Executor executor) throws ExecutionException {
+ public ExecutionResult executeCloudMatrixTests(int selectedConfigurationId, String cloudProjectId, AndroidRunningState runningState,
+ Executor executor) throws ExecutionException {
Project project = runningState.getFacet().getModule().getProject();
@@ -213,40 +322,46 @@ public class CloudTestConfigurationProviderImpl extends CloudTestConfigurationPr
return null;
}
+ CloudConfigurationImpl cloudConfiguration = CloudTestingUtils.getConfigurationById(selectedConfigurationId, runningState.getFacet());
+
+ if (cloudConfiguration.getKind() != Kind.MATRIX) {
+ // Should handle only matrix configurations.
+ return null;
+ }
+
AndroidTestRunConfiguration testRunConfiguration = (AndroidTestRunConfiguration) runningState.getConfiguration();
AndroidTestConsoleProperties properties =
new AndroidTestConsoleProperties(testRunConfiguration, executor);
ConsoleView console = GoogleCloudTestResultsConnectionUtil
- .createAndAttachConsole("Google Cloud Testing", runningState.getProcessHandler(), properties, runningState.getEnvironment());
+ .createAndAttachConsole("Cloud Testing", runningState.getProcessHandler(), properties, runningState.getEnvironment());
Disposer.register(project, console);
GoogleCloudTestingResultParser
cloudResultParser = new GoogleCloudTestingResultParser("Cloud Test Run", new GoogleCloudTestListener(runningState));
- CloudTestConfigurationImpl cloudTestingConfiguration =
- CloudTestingUtils.getConfigurationById(selectedConfigurationId, runningState.getFacet());
List<String> expectedConfigurationInstances =
- cloudTestingConfiguration.computeConfigurationInstances(ConfigurationInstance.DISPLAY_NAME_DELIMITER);
+ cloudConfiguration.computeConfigurationInstances(ConfigurationInstance.DISPLAY_NAME_DELIMITER);
for (String configurationInstance : expectedConfigurationInstances) {
cloudResultParser.getTestRunListener().testConfigurationScheduled(configurationInstance);
}
GoogleCloudTestingDeveloperConfigurable.GoogleCloudTestingDeveloperState googleCloudTestingDeveloperState =
GoogleCloudTestingDeveloperSettings.getInstance(project).getState();
if (!googleCloudTestingDeveloperState.shouldUseFakeBucket) {
- performTestsInCloud(cloudTestingConfiguration, cloudProjectId, runningState, cloudResultParser);
- } else {
+ performTestsInCloud(cloudConfiguration, cloudProjectId, runningState, cloudResultParser);
+ }
+ else {
String testRunId = TEST_RUN_ID_PREFIX + googleCloudTestingDeveloperState.fakeBucketName + System.currentTimeMillis();
CloudResultsAdapter cloudResultsAdapter =
- new CloudResultsAdapter(cloudProjectId, googleCloudTestingDeveloperState.fakeBucketName, cloudResultParser, expectedConfigurationInstances,
- testRunId, null);
- addGoogleCloudTestingConfiguration(testRunId, cloudTestingConfiguration);
+ new CloudResultsAdapter(cloudProjectId, googleCloudTestingDeveloperState.fakeBucketName, cloudResultParser,
+ expectedConfigurationInstances, testRunId, null);
+ addCloudConfiguration(testRunId, cloudConfiguration);
addCloudResultsAdapter(testRunId, cloudResultsAdapter);
cloudResultsAdapter.startPolling();
}
return new DefaultExecutionResult(console, runningState.getProcessHandler());
}
- private void performTestsInCloud(final CloudTestConfigurationImpl cloudTestingConfiguration, final String cloudProjectId,
+ private void performTestsInCloud(final CloudConfigurationImpl cloudTestingConfiguration, final String cloudProjectId,
final AndroidRunningState runningState, final GoogleCloudTestingResultParser cloudResultParser) {
if (cloudTestingConfiguration != null && cloudTestingConfiguration.getDeviceConfigurationCount() > 0) {
final List<String> expectedConfigurationInstances =
@@ -300,7 +415,7 @@ public class CloudTestConfigurationProviderImpl extends CloudTestConfigurationPr
String testRunId = TEST_RUN_ID_PREFIX + bucketName;
CloudResultsAdapter cloudResultsAdapter =
new CloudResultsAdapter(cloudProjectId, bucketName, cloudResultParser, expectedConfigurationInstances, testRunId, testMatrix);
- addGoogleCloudTestingConfiguration(testRunId, cloudTestingConfiguration);
+ addCloudConfiguration(testRunId, cloudTestingConfiguration);
addCloudResultsAdapter(testRunId, cloudResultsAdapter);
cloudResultsAdapter.startPolling();
}
@@ -403,15 +518,14 @@ public class CloudTestConfigurationProviderImpl extends CloudTestConfigurationPr
testRunIdToCloudResultsAdapter.put(testRunId, cloudResultsAdapter);
}
- private static void addGoogleCloudTestingConfiguration(
- String testRunId, CloudTestConfigurationImpl googleCloudTestingConfiguration) {
+ private static void addCloudConfiguration(String testRunId, CloudConfigurationImpl cloudConfiguration) {
if (testRunIdToCloudConfiguration.get(testRunId) != null) {
throw new IllegalStateException("Cannot add more than one cloud configuration for test run id: " + testRunId);
}
- testRunIdToCloudConfiguration.put(testRunId, googleCloudTestingConfiguration);
+ testRunIdToCloudConfiguration.put(testRunId, cloudConfiguration);
}
- public static CloudTestConfigurationImpl getSelectedGoogleCloudTestingConfiguration(String testRunId) {
+ public static CloudConfigurationImpl getSelectedCloudConfiguration(String testRunId) {
return testRunIdToCloudConfiguration.get(testRunId);
}
@@ -419,13 +533,13 @@ public class CloudTestConfigurationProviderImpl extends CloudTestConfigurationPr
return testRunIdToCloudResultsAdapter.get(testRunId);
}
- public static List<CloudTestConfigurationImpl> deserializeConfigurations(
- final List<GoogleCloudTestingPersistentConfiguration> persistentConfigurations, boolean isEditable, AndroidFacet facet) {
- List<CloudTestConfigurationImpl> googleCloudTestingConfigurations = new LinkedList<CloudTestConfigurationImpl>();
- for (GoogleCloudTestingPersistentConfiguration persistentConfiguration : persistentConfigurations) {
+ public static List<CloudConfigurationImpl> deserializeConfigurations(
+ final List<CloudPersistentConfiguration> persistentConfigurations, boolean isEditable, AndroidFacet facet) {
+ List<CloudConfigurationImpl> googleCloudTestingConfigurations = new LinkedList<CloudConfigurationImpl>();
+ for (CloudPersistentConfiguration persistentConfiguration : persistentConfigurations) {
Icon icon = getIcon(persistentConfiguration.name, isEditable);
- CloudTestConfigurationImpl configuration =
- new CloudTestConfigurationImpl(persistentConfiguration.id, persistentConfiguration.name, icon, facet);
+ CloudConfigurationImpl configuration =
+ new CloudConfigurationImpl(persistentConfiguration.id, persistentConfiguration.name, persistentConfiguration.kind, icon, facet);
configuration.deviceDimension.enable(DeviceDimension.getFullDomain(), persistentConfiguration.devices);
configuration.apiDimension.enable(ApiDimension.getFullDomain(), persistentConfiguration.apiLevels);
configuration.languageDimension.enable(LanguageDimension.getFullDomain(), persistentConfiguration.languages);
diff --git a/src/com/google/gct/testing/CloudCustomPersistentConfigurations.java b/src/com/google/gct/testing/CloudCustomPersistentConfigurations.java
new file mode 100644
index 0000000..af44ed3
--- /dev/null
+++ b/src/com/google/gct/testing/CloudCustomPersistentConfigurations.java
@@ -0,0 +1,53 @@
+/*
+ * 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.google.gct.testing;
+
+import com.intellij.openapi.components.*;
+import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleServiceManager;
+import org.jetbrains.annotations.Nullable;
+
+@State(
+ name = "CloudCustomPersistentConfigurations",
+ storages = {
+ @Storage(file = "$MODULE_FILE$")
+ }
+)
+public class CloudCustomPersistentConfigurations implements PersistentStateComponent<CloudPersistentState> {
+
+ private CloudPersistentState myCloudPersistentState;
+
+ protected CloudCustomPersistentConfigurations() {
+ }
+
+ public static CloudCustomPersistentConfigurations getInstance(Module module) {
+ return ModuleServiceManager.getService(module, CloudCustomPersistentConfigurations.class);
+ }
+
+ @Nullable
+ @Override
+ public CloudPersistentState getState() {
+ if (myCloudPersistentState == null) {
+ myCloudPersistentState = new CloudPersistentState();
+ }
+ return myCloudPersistentState;
+ }
+
+ @Override
+ public void loadState(CloudPersistentState cloudPersistentState) {
+ this.myCloudPersistentState = cloudPersistentState;
+ }
+}
diff --git a/src/com/google/gct/testing/CloudDefaultPersistentConfigurations.java b/src/com/google/gct/testing/CloudDefaultPersistentConfigurations.java
new file mode 100644
index 0000000..0e86749
--- /dev/null
+++ b/src/com/google/gct/testing/CloudDefaultPersistentConfigurations.java
@@ -0,0 +1,53 @@
+/*
+ * 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.google.gct.testing;
+
+import com.intellij.openapi.components.*;
+import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleServiceManager;
+import org.jetbrains.annotations.Nullable;
+
+@State(
+ name = "CloudDefaultPersistentConfigurations",
+ storages = {
+ @Storage(file = "$MODULE_FILE$")
+ }
+)
+public class CloudDefaultPersistentConfigurations implements PersistentStateComponent<CloudPersistentState> {
+
+ private CloudPersistentState myCloudPersistentState;
+
+ protected CloudDefaultPersistentConfigurations() {
+ }
+
+ public static CloudDefaultPersistentConfigurations getInstance(Module module) {
+ return ModuleServiceManager.getService(module, CloudDefaultPersistentConfigurations.class);
+ }
+
+ @Nullable
+ @Override
+ public CloudPersistentState getState() {
+ if (myCloudPersistentState == null) {
+ myCloudPersistentState = new CloudPersistentState();
+ }
+ return myCloudPersistentState;
+ }
+
+ @Override
+ public void loadState(CloudPersistentState cloudPersistentState) {
+ this.myCloudPersistentState = cloudPersistentState;
+ }
+}
diff --git a/src/com/google/gct/testing/GoogleCloudTestingPersistentConfiguration.java b/src/com/google/gct/testing/CloudPersistentConfiguration.java
index 6a197ec..63fdfdb 100644
--- a/src/com/google/gct/testing/GoogleCloudTestingPersistentConfiguration.java
+++ b/src/com/google/gct/testing/CloudPersistentConfiguration.java
@@ -15,12 +15,17 @@
*/
package com.google.gct.testing;
+import com.android.tools.idea.run.CloudConfiguration.Kind;
+
import java.util.LinkedList;
import java.util.List;
-public class GoogleCloudTestingPersistentConfiguration {
+import static com.android.tools.idea.run.CloudConfiguration.Kind.MATRIX;
+
+public class CloudPersistentConfiguration {
public int id = 1;
public String name = "";
+ public Kind kind = MATRIX;
public List<String> devices = new LinkedList<String>();
public List<String> apiLevels = new LinkedList<String>();
public List<String> languages = new LinkedList<String>();
diff --git a/src/com/google/gct/testing/GoogleCloudTestingPersistentState.java b/src/com/google/gct/testing/CloudPersistentState.java
index 7fbec7e..d81b835 100644
--- a/src/com/google/gct/testing/GoogleCloudTestingPersistentState.java
+++ b/src/com/google/gct/testing/CloudPersistentState.java
@@ -18,8 +18,7 @@ package com.google.gct.testing;
import java.util.LinkedList;
import java.util.List;
-public class GoogleCloudTestingPersistentState {
+public class CloudPersistentState {
- public List<GoogleCloudTestingPersistentConfiguration>
- myGoogleCloudTestingPersistentConfigurations = new LinkedList<GoogleCloudTestingPersistentConfiguration>();
+ public List<CloudPersistentConfiguration> myCloudPersistentConfigurations = new LinkedList<CloudPersistentConfiguration>();
}
diff --git a/src/com/google/gct/testing/CloudResultsLoader.java b/src/com/google/gct/testing/CloudResultsLoader.java
index 41b7f89..c5a8e04 100644
--- a/src/com/google/gct/testing/CloudResultsLoader.java
+++ b/src/com/google/gct/testing/CloudResultsLoader.java
@@ -100,8 +100,7 @@ public class CloudResultsLoader {
private final Map<String, String> configurationProgress = new HashMap<String, String>();
- public CloudResultsLoader(String cloudProjectId, IGoogleCloudTestRunListener testRunListener, String bucketName,
- TestMatrix testMatrix) {
+ public CloudResultsLoader(String cloudProjectId, IGoogleCloudTestRunListener testRunListener, String bucketName, TestMatrix testMatrix) {
this.cloudProjectId = cloudProjectId;
this.testRunListener = testRunListener;
this.bucketName = bucketName;
@@ -401,7 +400,7 @@ public class CloudResultsLoader {
//
// public long getFileSize() {
// try {
- // return getStorage().objects().get(bucketName, file.getPath()).execute().getSize().longValue();
+ // return getStorage().objects().get(bucketName, file.getPath()).executeCloudMatrixTests().getSize().longValue();
// }
// catch (IOException e) {
// System.err.println("Failed to estimate a cloud file size: " + file.getName());
diff --git a/src/com/google/gct/testing/GoogleTestingListener.java b/src/com/google/gct/testing/CloudTestingListener.java
index 9926968..0a5c704 100644
--- a/src/com/google/gct/testing/GoogleTestingListener.java
+++ b/src/com/google/gct/testing/CloudTestingListener.java
@@ -15,5 +15,5 @@
*/
package com.google.gct.testing;
-public class GoogleTestingListener {
+public class CloudTestingListener {
}
diff --git a/src/com/google/gct/testing/CloudTestingUtils.java b/src/com/google/gct/testing/CloudTestingUtils.java
index 1b30e09..be35290 100644
--- a/src/com/google/gct/testing/CloudTestingUtils.java
+++ b/src/com/google/gct/testing/CloudTestingUtils.java
@@ -15,7 +15,7 @@
*/
package com.google.gct.testing;
-import com.android.tools.idea.run.CloudTestConfiguration;
+import com.android.tools.idea.run.CloudConfiguration;
import com.intellij.notification.Notification;
import com.intellij.notification.NotificationListener;
import com.intellij.notification.NotificationType;
@@ -44,8 +44,7 @@ public class CloudTestingUtils {
private static final String SHOW_GOOGLE_CLOUD_TESTING_TIMESTAMPS = "show.google.cloud.testing.timestamps";
- private static final CloudTestConfigurationProviderImpl TESTING_CONFIGURATION_FACTORY =
- new CloudTestConfigurationProviderImpl();
+ private static final CloudConfigurationProviderImpl TESTING_CONFIGURATION_FACTORY = new CloudConfigurationProviderImpl();
//GCT-specific message names.
public static final String SET_TEST_RUN_ID = "setTestRunId";
@@ -63,10 +62,10 @@ public class CloudTestingUtils {
return Boolean.getBoolean(SHOW_GOOGLE_CLOUD_TESTING_TIMESTAMPS);
}
- public static CloudTestConfigurationImpl getConfigurationById(int id, AndroidFacet facet) {
- for (CloudTestConfiguration configuration : TESTING_CONFIGURATION_FACTORY.getTestingConfigurations(facet)) {
+ public static CloudConfigurationImpl getConfigurationById(int id, AndroidFacet facet) {
+ for (CloudConfiguration configuration : TESTING_CONFIGURATION_FACTORY.getAllCloudConfigurations(facet)) {
if (configuration.getId() == id) {
- return (CloudTestConfigurationImpl) configuration;
+ return (CloudConfigurationImpl) configuration;
}
}
return null;
diff --git a/src/com/google/gct/testing/ConfigurationInstance.java b/src/com/google/gct/testing/ConfigurationInstance.java
index b56c95a..3020a20 100644
--- a/src/com/google/gct/testing/ConfigurationInstance.java
+++ b/src/com/google/gct/testing/ConfigurationInstance.java
@@ -20,8 +20,8 @@ import com.google.common.base.Function;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
+import com.google.gct.testing.dimension.CloudConfigurationDimension;
import com.google.gct.testing.dimension.CloudTestingType;
-import com.google.gct.testing.dimension.GoogleCloudTestingDimension;
import java.util.*;
import java.util.regex.Pattern;
@@ -67,7 +67,7 @@ public class ConfigurationInstance {
private static ConfigurationInstance parse(Function<CloudTestingType, String> typeToNameFunction, String delimiter, String input) {
ConfigurationInstance result= new ConfigurationInstance();
ArrayList<CloudTestingType> allTypes = Lists.newArrayList(Iterables.concat(
- CloudTestConfigurationProviderImpl.getAllDimensionTypes().values()));
+ CloudConfigurationProviderImpl.getAllDimensionTypes().values()));
ImmutableMap<String,CloudTestingType> nameToTypeMap = Maps.uniqueIndex(allTypes, typeToNameFunction);
@@ -79,7 +79,7 @@ public class ConfigurationInstance {
private static void recordType(ConfigurationInstance result, CloudTestingType type) {
String dimensionName = null;
- for (Map.Entry<String, List<? extends CloudTestingType>> entry : CloudTestConfigurationProviderImpl.getAllDimensionTypes().entrySet()) {
+ for (Map.Entry<String, List<? extends CloudTestingType>> entry : CloudConfigurationProviderImpl.getAllDimensionTypes().entrySet()) {
if (entry.getValue().contains(type)) {
dimensionName = entry.getKey();
break;
@@ -91,7 +91,7 @@ public class ConfigurationInstance {
result.typesByDimensionName.put(dimensionName, type);
}
- public CloudTestingType getTypeForDimension(GoogleCloudTestingDimension dimension) {
+ public CloudTestingType getTypeForDimension(CloudConfigurationDimension dimension) {
return typesByDimensionName.get(dimension.getDisplayName());
}
diff --git a/src/com/google/gct/testing/GoogleCloudTestingCustomPersistentConfigurations.java b/src/com/google/gct/testing/GoogleCloudTestingCustomPersistentConfigurations.java
deleted file mode 100644
index fa35022..0000000
--- a/src/com/google/gct/testing/GoogleCloudTestingCustomPersistentConfigurations.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.google.gct.testing;
-
-import com.intellij.openapi.components.*;
-import com.intellij.openapi.module.Module;
-import com.intellij.openapi.module.ModuleServiceManager;
-import com.intellij.openapi.project.Project;
-import org.jetbrains.annotations.Nullable;
-
-@State(
- name = "GoogleCloudTestingCustomPersistentConfigurations",
- storages = {
- @Storage(file = "$MODULE_FILE$")
- }
-)
-public class GoogleCloudTestingCustomPersistentConfigurations implements PersistentStateComponent<GoogleCloudTestingPersistentState> {
-
- private GoogleCloudTestingPersistentState myGoogleCloudTestingPersistentState;
-
- protected GoogleCloudTestingCustomPersistentConfigurations() {
- }
-
- public static GoogleCloudTestingCustomPersistentConfigurations getInstance(Module module) {
- return ModuleServiceManager.getService(module, GoogleCloudTestingCustomPersistentConfigurations.class);
- }
-
- @Nullable
- @Override
- public GoogleCloudTestingPersistentState getState() {
- if (myGoogleCloudTestingPersistentState == null) {
- myGoogleCloudTestingPersistentState = new GoogleCloudTestingPersistentState();
- }
- return myGoogleCloudTestingPersistentState;
- }
-
- @Override
- public void loadState(GoogleCloudTestingPersistentState googleCloudTestingPersistenState) {
- this.myGoogleCloudTestingPersistentState = googleCloudTestingPersistenState;
- }
-}
diff --git a/src/com/google/gct/testing/GoogleCloudTestingDefaultPersistentConfigurations.java b/src/com/google/gct/testing/GoogleCloudTestingDefaultPersistentConfigurations.java
deleted file mode 100644
index c21f867..0000000
--- a/src/com/google/gct/testing/GoogleCloudTestingDefaultPersistentConfigurations.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.google.gct.testing;
-
-import com.intellij.openapi.components.*;
-import com.intellij.openapi.module.Module;
-import com.intellij.openapi.module.ModuleServiceManager;
-import com.intellij.openapi.project.Project;
-import org.jetbrains.annotations.Nullable;
-
-@State(
- name = "GoogleCloudTestingDefaultPersistentConfigurations",
- storages = {
- @Storage(file = "$MODULE_FILE$")
- }
-)
-public class GoogleCloudTestingDefaultPersistentConfigurations implements PersistentStateComponent<GoogleCloudTestingPersistentState> {
-
- private GoogleCloudTestingPersistentState myGoogleCloudTestingPersistentState;
-
- protected GoogleCloudTestingDefaultPersistentConfigurations() {
- }
-
- public static GoogleCloudTestingDefaultPersistentConfigurations getInstance(Module module) {
- return ModuleServiceManager.getService(module, GoogleCloudTestingDefaultPersistentConfigurations.class);
- }
-
- @Nullable
- @Override
- public GoogleCloudTestingPersistentState getState() {
- if (myGoogleCloudTestingPersistentState == null) {
- myGoogleCloudTestingPersistentState = new GoogleCloudTestingPersistentState();
- }
- return myGoogleCloudTestingPersistentState;
- }
-
- @Override
- public void loadState(GoogleCloudTestingPersistentState googleCloudPersistenState) {
- this.myGoogleCloudTestingPersistentState = googleCloudPersistenState;
- }
-}
diff --git a/src/com/google/gct/testing/ScreenshotComparisonDialog.java b/src/com/google/gct/testing/ScreenshotComparisonDialog.java
index 9d8d76d..e1110e3 100644
--- a/src/com/google/gct/testing/ScreenshotComparisonDialog.java
+++ b/src/com/google/gct/testing/ScreenshotComparisonDialog.java
@@ -47,7 +47,7 @@ public class ScreenshotComparisonDialog {
private final Project myProject;
private final AbstractTestProxy testTreeRoot;
- private final CloudTestConfigurationImpl configuration;
+ private final CloudConfigurationImpl configuration;
private final ConfigurationInstance configurationInstance;
@Nullable private final ConfigurationInstance anotherConfigurationInstance;
private final List<TestName> allTests;
@@ -76,7 +76,7 @@ public class ScreenshotComparisonDialog {
public ScreenshotComparisonDialog(Project project,
AbstractTestProxy testTreeRoot,
- CloudTestConfigurationImpl configuration,
+ CloudConfigurationImpl configuration,
ConfigurationInstance configurationInstance,
@Nullable ConfigurationInstance anotherConfigurationInstance,
List<TestName> allTests,
diff --git a/src/com/google/gct/testing/ScreenshotComparisonPanel.java b/src/com/google/gct/testing/ScreenshotComparisonPanel.java
index c52a06f..235f146 100644
--- a/src/com/google/gct/testing/ScreenshotComparisonPanel.java
+++ b/src/com/google/gct/testing/ScreenshotComparisonPanel.java
@@ -19,8 +19,8 @@ import com.android.annotations.Nullable;
import com.google.common.base.Function;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
+import com.google.gct.testing.dimension.CloudConfigurationDimension;
import com.google.gct.testing.dimension.CloudTestingType;
-import com.google.gct.testing.dimension.GoogleCloudTestingDimension;
import com.google.gct.testing.dimension.OrientationDimension;
import com.google.gct.testing.results.GoogleCloudTestProxy;
import com.google.gct.testing.ui.CopyImageToClipboard;
@@ -56,9 +56,9 @@ public class ScreenshotComparisonPanel implements ScreenshotComparisonHeaderPane
private enum StaticImageKind {LOADING, NO_IMAGE};
- public static final Function<GoogleCloudTestingTypeSelection, CloudTestingType> GET_SELECTED_TYPE = new Function<GoogleCloudTestingTypeSelection, CloudTestingType>() {
+ public static final Function<CloudConfigurationTypeSelection, CloudTestingType> GET_SELECTED_TYPE = new Function<CloudConfigurationTypeSelection, CloudTestingType>() {
@Override
- public CloudTestingType apply(GoogleCloudTestingTypeSelection input) {
+ public CloudTestingType apply(CloudConfigurationTypeSelection input) {
return input.getType();
}
};
@@ -67,7 +67,7 @@ public class ScreenshotComparisonPanel implements ScreenshotComparisonHeaderPane
private final ScreenshotComparisonDialog parent;
private final AbstractTestProxy testTreeRoot;
- private final CloudTestConfigurationImpl configuration;
+ private final CloudConfigurationImpl configuration;
private ConfigurationInstance selectedConfigurationInstance;
private TestName currentTest;
private int currentStep;
@@ -82,7 +82,7 @@ public class ScreenshotComparisonPanel implements ScreenshotComparisonHeaderPane
private final WipePanel wipePanel;
- private final List<GoogleCloudTestingTypeSelection> myTypeSelections = new LinkedList<GoogleCloudTestingTypeSelection>();
+ private final List<CloudConfigurationTypeSelection> myTypeSelections = new LinkedList<CloudConfigurationTypeSelection>();
private JLabel myImageLabel;
private static final int MAX_IMAGE_WIDTH = 533;
@@ -123,7 +123,7 @@ public class ScreenshotComparisonPanel implements ScreenshotComparisonHeaderPane
public ScreenshotComparisonPanel(ScreenshotComparisonDialog parent, @Nullable ScreenshotComparisonPanel clonedPanel,
- AbstractTestProxy testTreeRoot, CloudTestConfigurationImpl configuration,
+ AbstractTestProxy testTreeRoot, CloudConfigurationImpl configuration,
ConfigurationInstance configurationInstance, TestName currentTest, int currentStep,
Map<String, ConfigurationResult> results) {
lock = this;
@@ -175,7 +175,7 @@ public class ScreenshotComparisonPanel implements ScreenshotComparisonHeaderPane
bagConstraints.ipadx = 5;
int index = 0;
- for (final GoogleCloudTestingDimension dimension : configuration.getDimensions()) {
+ for (final CloudConfigurationDimension dimension : configuration.getDimensions()) {
JLabel label = new JLabel(dimension.getIcon());
label.setToolTipText(dimension.getDisplayName());
@@ -218,7 +218,7 @@ public class ScreenshotComparisonPanel implements ScreenshotComparisonHeaderPane
});
myConfigurationChooserPanel.add(comboBox, bagConstraints);
- myTypeSelections.add(new GoogleCloudTestingTypeSelection() {
+ myTypeSelections.add(new CloudConfigurationTypeSelection() {
@Override
public CloudTestingType getType() {
return (CloudTestingType)comboBox.getSelectedItem();
@@ -227,7 +227,7 @@ public class ScreenshotComparisonPanel implements ScreenshotComparisonHeaderPane
} else {
final CloudTestingType type = Iterables.getOnlyElement(dimension.getEnabledTypes());
myConfigurationChooserPanel.add(new JLabel(" " + type.getResultsViewerDisplayName()), bagConstraints);
- myTypeSelections.add(new GoogleCloudTestingTypeSelection() {
+ myTypeSelections.add(new CloudConfigurationTypeSelection() {
@Override
public CloudTestingType getType() {
return type;
@@ -525,6 +525,6 @@ public class ScreenshotComparisonPanel implements ScreenshotComparisonHeaderPane
}
}
-interface GoogleCloudTestingTypeSelection {
+interface CloudConfigurationTypeSelection {
public CloudTestingType getType();
}
diff --git a/src/com/google/gct/testing/ShowScreenshotsAction.java b/src/com/google/gct/testing/ShowScreenshotsAction.java
index 2a90088..fe38be6 100644
--- a/src/com/google/gct/testing/ShowScreenshotsAction.java
+++ b/src/com/google/gct/testing/ShowScreenshotsAction.java
@@ -76,7 +76,7 @@ public class ShowScreenshotsAction extends AnAction {
ConfigurationInstance configurationInstance =
ConfigurationInstance.parseFromResultsViewerDisplayString(selectedConfigurationNode.getName());
Map<String,ConfigurationResult> results =
- CloudTestConfigurationProviderImpl.getCloudResultsAdapter(rootNode.getTestRunId()).getResults();
+ CloudConfigurationProviderImpl.getCloudResultsAdapter(rootNode.getTestRunId()).getResults();
if (results.get(configurationInstance.getEncodedString()).getScreenshotMetadata().isEmpty()) {
showNoScreenshotsWarning(e);
@@ -94,7 +94,7 @@ public class ShowScreenshotsAction extends AnAction {
ScreenshotComparisonDialog dialog =
new ScreenshotComparisonDialog(
e.getData(PlatformDataKeys.PROJECT), rootNode,
- CloudTestConfigurationProviderImpl.getSelectedGoogleCloudTestingConfiguration(rootNode.getTestRunId()),
+ CloudConfigurationProviderImpl.getSelectedCloudConfiguration(rootNode.getTestRunId()),
configurationInstance, anotherConfigurationInstance, allTests, getTestNameForNode(selectedLeaf), results);
dialog.showDialog();
diff --git a/src/com/google/gct/testing/TwoPanelTree.java b/src/com/google/gct/testing/TwoPanelTree.java
index 683be7e..e6cae1f 100644
--- a/src/com/google/gct/testing/TwoPanelTree.java
+++ b/src/com/google/gct/testing/TwoPanelTree.java
@@ -16,9 +16,9 @@
package com.google.gct.testing;
import com.google.common.base.Function;
+import com.google.gct.testing.dimension.CloudConfigurationDimension;
import com.google.gct.testing.dimension.CloudTestingType;
-import com.google.gct.testing.dimension.GoogleCloudTestingDimension;
-import com.google.gct.testing.dimension.GoogleCloudTestingTypeGroup;
+import com.google.gct.testing.dimension.CloudTestingTypeGroup;
import com.intellij.openapi.ui.Splitter;
import com.intellij.ui.CheckboxTree;
import com.intellij.ui.CheckedTreeNode;
@@ -66,17 +66,17 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
private final JPanel bottomPanel;
// Trees
- private Map<GoogleCloudTestingDimension,CheckboxTree> treeMap;
+ private Map<CloudConfigurationDimension,CheckboxTree> treeMap;
private JBList list;
// The configuration which we need to keep in sync with this view
- private CloudTestConfigurationImpl configuration;
+ private CloudConfigurationImpl configuration;
// Listeners
List<TwoPanelTreeSelectionListener> listeners = new LinkedList<TwoPanelTreeSelectionListener>();
private JLabel myConfigurationCountLabel;
- public TwoPanelTree(CloudTestConfigurationImpl configuration) {
+ public TwoPanelTree(CloudConfigurationImpl configuration) {
this.configuration = configuration;
myPanel = new JPanel(new BorderLayout());
myPanel.setPreferredSize(new Dimension(520, 240));
@@ -112,11 +112,11 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
mySplitterPanel.add(mySplitter, BorderLayout.CENTER);
myPanel.add(mySplitterPanel, BorderLayout.CENTER);
- treeMap = new HashMap<GoogleCloudTestingDimension, CheckboxTree>();
+ treeMap = new HashMap<CloudConfigurationDimension, CheckboxTree>();
list = new JBList();
// Add the dimensions
- for (GoogleCloudTestingDimension dimension : configuration.getDimensions()) {
+ for (CloudConfigurationDimension dimension : configuration.getDimensions()) {
addDimension(dimension);
}
@@ -204,7 +204,7 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
}
private void updateCurrentCheckboxTree(Function<CheckedTreeNode, Void> updateFunction) {
- GoogleCloudTestingDimension selectedDimension = getSelectedDimension();
+ CloudConfigurationDimension selectedDimension = getSelectedDimension();
CheckboxTree currentCheckboxTree = treeMap.get(selectedDimension);
CheckedTreeNode rootNode = (CheckedTreeNode) currentCheckboxTree.getModel().getRoot();
updateNode(rootNode, updateFunction);
@@ -239,7 +239,7 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
return label;
}
- public void addDimension(GoogleCloudTestingDimension dimension) {
+ public void addDimension(CloudConfigurationDimension dimension) {
// add this dimension as a list item
listModel.addElement(dimension);
@@ -257,8 +257,8 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
tree.getSelectionModel().setSelectionMode(SINGLE_TREE_SELECTION);
// Add each supported type to the tree.
- List<? extends GoogleCloudTestingTypeGroup> supportedGroups = dimension.getSupportedGroups();
- for (GoogleCloudTestingTypeGroup group : supportedGroups) {
+ List<? extends CloudTestingTypeGroup> supportedGroups = dimension.getSupportedGroups();
+ for (CloudTestingTypeGroup group : supportedGroups) {
List<CloudTestingType> types = group.getTypes();
if (types.size() == 1 && !dimension.shouldBeAlwaysGrouped()) {
addChildNode(rootNode, types.get(0), dimension);
@@ -291,8 +291,8 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
CloudTestingType cloudTestingType = (CloudTestingType)userObject;
getTextRenderer().append(cloudTestingType.getConfigurationDialogDisplayName());
updateTreeState(tree, (CheckedTreeNode)value, cloudTestingType);
- } else if (userObject instanceof GoogleCloudTestingTypeGroup) {
- GoogleCloudTestingTypeGroup group = (GoogleCloudTestingTypeGroup)userObject;
+ } else if (userObject instanceof CloudTestingTypeGroup) {
+ CloudTestingTypeGroup group = (CloudTestingTypeGroup)userObject;
getTextRenderer().append(group.getName());
CloudTestingType type = (CloudTestingType) ((CheckedTreeNode) ((DefaultMutableTreeNode)value).getChildAt(0)).getUserObject();
updateTreeState(tree, (CheckedTreeNode)value, type);
@@ -305,8 +305,8 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
//getTextRenderer().setForeground(Color.BLACK);
} else {
//getTextRenderer().setForeground(Color.LIGHT_GRAY);
- GoogleCloudTestingDimension googleCloudTestingDimension = (GoogleCloudTestingDimension)((CheckedTreeNode) tree.getModel().getRoot()).getUserObject();
- boolean isChecked = googleCloudTestingDimension.getEnabledTypes().contains(cloudTestingType);
+ CloudConfigurationDimension cloudConfigurationDimension = (CloudConfigurationDimension)((CheckedTreeNode) tree.getModel().getRoot()).getUserObject();
+ boolean isChecked = cloudConfigurationDimension.getEnabledTypes().contains(cloudTestingType);
node.setChecked(isChecked);
for (int childIndex = 0; childIndex < node.getChildCount(); childIndex++) {
((CheckedTreeNode) node.getChildAt(childIndex)).setChecked(isChecked);
@@ -326,7 +326,7 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
return myPanel;
}
- private void addChildNode(CheckedTreeNode parentNode, CloudTestingType type, GoogleCloudTestingDimension dimension) {
+ private void addChildNode(CheckedTreeNode parentNode, CloudTestingType type, CloudConfigurationDimension dimension) {
CheckedTreeNode newNode = new CheckedTreeNode(type);
parentNode.add(newNode);
newNode.setChecked(dimension.getEnabledTypes().contains(type));
@@ -345,8 +345,8 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
}
}
- private GoogleCloudTestingDimension getSelectedDimension() {
- return (GoogleCloudTestingDimension) list.getModel().getElementAt(list.getSelectedIndex());
+ private CloudConfigurationDimension getSelectedDimension() {
+ return (CloudConfigurationDimension) list.getModel().getElementAt(list.getSelectedIndex());
}
public void addSelectionListener(TwoPanelTreeSelectionListener treeSelectionListener) {
@@ -374,7 +374,7 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
}
private void updateState() {
- GoogleCloudTestingDimension currentDimension = getSelectedDimension();
+ CloudConfigurationDimension currentDimension = getSelectedDimension();
CheckboxTree currentTree = treeMap.get(currentDimension);
if (currentTree == null || currentTree.getSelectionPath() == null) {
@@ -393,7 +393,7 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
listener.typeSelectionChanged(new TwoPanelTreeTypeSelectionEvent(currentDimension, clickedType));
}
} else {
- GoogleCloudTestingTypeGroup clickedGroup = (GoogleCloudTestingTypeGroup) userObject;
+ CloudTestingTypeGroup clickedGroup = (CloudTestingTypeGroup) userObject;
if (selectedNode.isEnabled()) {
for (int childIndex = 0; childIndex < selectedNode.getChildCount(); childIndex++) {
CheckedTreeNode child = (CheckedTreeNode)selectedNode.getChildAt(childIndex);
@@ -418,7 +418,7 @@ public class TwoPanelTree extends MouseAdapter implements ListSelectionListener,
JLabel renderer = (JLabel) defaultRenderer.getListCellRendererComponent(list, value, index,
isSelected, cellHasFocus);
- GoogleCloudTestingDimension dimension = (GoogleCloudTestingDimension) value;
+ CloudConfigurationDimension dimension = (CloudConfigurationDimension) value;
renderer.setIcon(dimension.getIcon());
renderer.setText(dimension.getDisplayName() +
diff --git a/src/com/google/gct/testing/TwoPanelTreeDimensionSelectionEvent.java b/src/com/google/gct/testing/TwoPanelTreeDimensionSelectionEvent.java
index 5ef1b48..ac86562 100644
--- a/src/com/google/gct/testing/TwoPanelTreeDimensionSelectionEvent.java
+++ b/src/com/google/gct/testing/TwoPanelTreeDimensionSelectionEvent.java
@@ -15,17 +15,17 @@
*/
package com.google.gct.testing;
-import com.google.gct.testing.dimension.GoogleCloudTestingDimension;
+import com.google.gct.testing.dimension.CloudConfigurationDimension;
class TwoPanelTreeDimensionSelectionEvent {
- private GoogleCloudTestingDimension currentDimension;
+ private CloudConfigurationDimension currentDimension;
- public TwoPanelTreeDimensionSelectionEvent(GoogleCloudTestingDimension currentDimension) {
+ public TwoPanelTreeDimensionSelectionEvent(CloudConfigurationDimension currentDimension) {
this.currentDimension = currentDimension;
}
- public GoogleCloudTestingDimension getCurrentDimension() {
+ public CloudConfigurationDimension getCurrentDimension() {
return currentDimension;
}
}
diff --git a/src/com/google/gct/testing/TwoPanelTreeTypeGroupSelectionEvent.java b/src/com/google/gct/testing/TwoPanelTreeTypeGroupSelectionEvent.java
index 610735c..832ca04 100644
--- a/src/com/google/gct/testing/TwoPanelTreeTypeGroupSelectionEvent.java
+++ b/src/com/google/gct/testing/TwoPanelTreeTypeGroupSelectionEvent.java
@@ -15,25 +15,25 @@
*/
package com.google.gct.testing;
-import com.google.gct.testing.dimension.GoogleCloudTestingDimension;
-import com.google.gct.testing.dimension.GoogleCloudTestingTypeGroup;
+import com.google.gct.testing.dimension.CloudConfigurationDimension;
+import com.google.gct.testing.dimension.CloudTestingTypeGroup;
class TwoPanelTreeTypeGroupSelectionEvent {
- private GoogleCloudTestingDimension currentDimension;
+ private CloudConfigurationDimension currentDimension;
- private GoogleCloudTestingTypeGroup clickedGroup;
+ private CloudTestingTypeGroup clickedGroup;
- public TwoPanelTreeTypeGroupSelectionEvent(GoogleCloudTestingDimension currentDimension, GoogleCloudTestingTypeGroup clickedGroup) {
+ public TwoPanelTreeTypeGroupSelectionEvent(CloudConfigurationDimension currentDimension, CloudTestingTypeGroup clickedGroup) {
this.currentDimension = currentDimension;
this.clickedGroup = clickedGroup;
}
- public GoogleCloudTestingDimension getCurrentDimension() {
+ public CloudConfigurationDimension getCurrentDimension() {
return currentDimension;
}
- public GoogleCloudTestingTypeGroup getGroup() {
+ public CloudTestingTypeGroup getGroup() {
return clickedGroup;
}
}
diff --git a/src/com/google/gct/testing/TwoPanelTreeTypeSelectionEvent.java b/src/com/google/gct/testing/TwoPanelTreeTypeSelectionEvent.java
index b6107cb..ec750c2 100644
--- a/src/com/google/gct/testing/TwoPanelTreeTypeSelectionEvent.java
+++ b/src/com/google/gct/testing/TwoPanelTreeTypeSelectionEvent.java
@@ -16,20 +16,20 @@
package com.google.gct.testing;
import com.google.gct.testing.dimension.CloudTestingType;
-import com.google.gct.testing.dimension.GoogleCloudTestingDimension;
+import com.google.gct.testing.dimension.CloudConfigurationDimension;
class TwoPanelTreeTypeSelectionEvent {
- private GoogleCloudTestingDimension currentDimension;
+ private CloudConfigurationDimension currentDimension;
private CloudTestingType clickedType;
- public TwoPanelTreeTypeSelectionEvent(GoogleCloudTestingDimension currentDimension, CloudTestingType clickedType) {
+ public TwoPanelTreeTypeSelectionEvent(CloudConfigurationDimension currentDimension, CloudTestingType clickedType) {
this.currentDimension = currentDimension;
this.clickedType = clickedType;
}
- public GoogleCloudTestingDimension getCurrentDimension() {
+ public CloudConfigurationDimension getCurrentDimension() {
return currentDimension;
}
diff --git a/src/com/google/gct/testing/dimension/ApiDimension.java b/src/com/google/gct/testing/dimension/ApiDimension.java
index 5e2cbf1..13191b6 100644
--- a/src/com/google/gct/testing/dimension/ApiDimension.java
+++ b/src/com/google/gct/testing/dimension/ApiDimension.java
@@ -24,7 +24,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
-import com.google.gct.testing.CloudTestConfigurationImpl;
+import com.google.gct.testing.CloudConfigurationImpl;
import icons.AndroidIcons;
import org.jetbrains.android.facet.AndroidFacet;
@@ -33,7 +33,7 @@ import java.util.*;
import static com.google.gct.testing.launcher.CloudAuthenticator.getAndroidDeviceCatalog;
-public class ApiDimension extends GoogleCloudTestingDimension {
+public class ApiDimension extends CloudConfigurationDimension {
public static final String DISPLAY_NAME = "Platform";
@@ -63,14 +63,14 @@ public class ApiDimension extends GoogleCloudTestingDimension {
private final int minSdkVersion;
- public ApiDimension(CloudTestConfigurationImpl googleCloudTestingConfiguration, AndroidFacet facet) {
+ public ApiDimension(CloudConfigurationImpl googleCloudTestingConfiguration, AndroidFacet facet) {
super(googleCloudTestingConfiguration);
minSdkVersion = facet.getAndroidModuleInfo().getMinSdkVersion().getApiLevel();
// facet.getManifest().getUsesSdks().get(0).getMinSdkVersion() would read the app's manifest min SDK rather than the global one.
}
@VisibleForTesting
- public ApiDimension(CloudTestConfigurationImpl googleCloudTestingConfiguration, int minSdkVersion) {
+ public ApiDimension(CloudConfigurationImpl googleCloudTestingConfiguration, int minSdkVersion) {
super(googleCloudTestingConfiguration);
this.minSdkVersion = minSdkVersion;
}
diff --git a/src/com/google/gct/testing/dimension/GoogleCloudTestingDimension.java b/src/com/google/gct/testing/dimension/CloudConfigurationDimension.java
index ed0d338..860a6de 100644
--- a/src/com/google/gct/testing/dimension/GoogleCloudTestingDimension.java
+++ b/src/com/google/gct/testing/dimension/CloudConfigurationDimension.java
@@ -18,13 +18,13 @@ package com.google.gct.testing.dimension;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Sets;
-import com.google.gct.testing.CloudTestConfigurationImpl;
+import com.google.gct.testing.CloudConfigurationImpl;
import javax.swing.*;
import java.util.*;
-public abstract class GoogleCloudTestingDimension {
+public abstract class CloudConfigurationDimension {
private static final long DISCOVERY_TEST_API_REFRESH_TIMEOUT = 5 * 60 * 1000; // 5 minutes
@@ -37,11 +37,11 @@ public abstract class GoogleCloudTestingDimension {
* The list of types that are currently enabled (use List rather than Set for comparison consistency).
*/
private List<CloudTestingType> enabledTypes = new LinkedList<CloudTestingType>();
- private CloudTestConfigurationImpl myGoogleCloudTestingConfiguration;
+ private CloudConfigurationImpl myCloudConfiguration;
private Icon icon;
- public GoogleCloudTestingDimension(CloudTestConfigurationImpl googleCloudTestingConfiguration) {
- myGoogleCloudTestingConfiguration = googleCloudTestingConfiguration;
+ public CloudConfigurationDimension(CloudConfigurationImpl cloudConfiguration) {
+ myCloudConfiguration = cloudConfiguration;
}
static boolean shouldPollDiscoveryTestApi(String dimension) {
@@ -64,18 +64,18 @@ public abstract class GoogleCloudTestingDimension {
/**
* Returns the list of type groups supported by the app and the backend for this dimension.
*/
- public List<? extends GoogleCloudTestingTypeGroup> getSupportedGroups() {
- List<GoogleCloudTestingTypeGroup> result = new LinkedList<GoogleCloudTestingTypeGroup>();
+ public List<? extends CloudTestingTypeGroup> getSupportedGroups() {
+ List<CloudTestingTypeGroup> result = new LinkedList<CloudTestingTypeGroup>();
for (CloudTestingType type : getSupportedDomain()) {
- GoogleCloudTestingTypeGroup groupToAddTo = null;
- for (GoogleCloudTestingTypeGroup group : result) {
+ CloudTestingTypeGroup groupToAddTo = null;
+ for (CloudTestingTypeGroup group : result) {
if (type.getGroupName().equals(group.getName())) {
groupToAddTo = group;
break;
}
}
if (groupToAddTo == null) {
- groupToAddTo = new GoogleCloudTestingTypeGroup(type.getGroupName(), type.getGroupDescription());
+ groupToAddTo = new CloudTestingTypeGroup(type.getGroupName(), type.getGroupDescription());
result.add(groupToAddTo);
}
groupToAddTo.addType(type);
@@ -162,11 +162,11 @@ public abstract class GoogleCloudTestingDimension {
}
public boolean isEditable() {
- return myGoogleCloudTestingConfiguration.isEditable();
+ return myCloudConfiguration.isEditable();
}
public void dimensionChanged() {
- myGoogleCloudTestingConfiguration.dimensionChanged(this);
+ myCloudConfiguration.dimensionChanged(this);
}
private void checkIsEditable() {
diff --git a/src/com/google/gct/testing/dimension/CloudTestingType.java b/src/com/google/gct/testing/dimension/CloudTestingType.java
index 10bbbe8..19cb46c 100644
--- a/src/com/google/gct/testing/dimension/CloudTestingType.java
+++ b/src/com/google/gct/testing/dimension/CloudTestingType.java
@@ -18,7 +18,7 @@ package com.google.gct.testing.dimension;
import java.util.Map;
/**
- * A GoogleCloudTestingDimension consists of a set of Types; concrete instantiations of a dimension.
+ * A {@link CloudTestingType} consists of a set of Types; concrete instantiations of a dimension.
*/
public abstract class CloudTestingType {
diff --git a/src/com/google/gct/testing/dimension/GoogleCloudTestingTypeGroup.java b/src/com/google/gct/testing/dimension/CloudTestingTypeGroup.java
index 66774db..c519bf5 100644
--- a/src/com/google/gct/testing/dimension/GoogleCloudTestingTypeGroup.java
+++ b/src/com/google/gct/testing/dimension/CloudTestingTypeGroup.java
@@ -18,14 +18,14 @@ package com.google.gct.testing.dimension;
import java.util.LinkedList;
import java.util.List;
-public class GoogleCloudTestingTypeGroup {
+public class CloudTestingTypeGroup {
private final String name;
private final String description;
private final List<CloudTestingType> types = new LinkedList<CloudTestingType>();
- public GoogleCloudTestingTypeGroup(String name, String description) {
+ public CloudTestingTypeGroup(String name, String description) {
this.name = name;
this.description = description;
}
@@ -51,7 +51,7 @@ public class GoogleCloudTestingTypeGroup {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
- GoogleCloudTestingTypeGroup that = (GoogleCloudTestingTypeGroup)o;
+ CloudTestingTypeGroup that = (CloudTestingTypeGroup)o;
if (!name.equals(that.name)) return false;
diff --git a/src/com/google/gct/testing/dimension/ConfigurationChangeEvent.java b/src/com/google/gct/testing/dimension/ConfigurationChangeEvent.java
index e9d6967..34606fc 100644
--- a/src/com/google/gct/testing/dimension/ConfigurationChangeEvent.java
+++ b/src/com/google/gct/testing/dimension/ConfigurationChangeEvent.java
@@ -15,17 +15,17 @@
*/
package com.google.gct.testing.dimension;
-import com.google.gct.testing.CloudTestConfigurationImpl;
+import com.google.gct.testing.CloudConfigurationImpl;
public class ConfigurationChangeEvent {
- private final CloudTestConfigurationImpl configuration;
+ private final CloudConfigurationImpl configuration;
- public ConfigurationChangeEvent(CloudTestConfigurationImpl configuration) {
+ public ConfigurationChangeEvent(CloudConfigurationImpl configuration) {
this.configuration = configuration;
}
- public CloudTestConfigurationImpl getConfiguration() {
+ public CloudConfigurationImpl getConfiguration() {
return configuration;
}
}
diff --git a/src/com/google/gct/testing/dimension/DeviceDimension.java b/src/com/google/gct/testing/dimension/DeviceDimension.java
index f65e6b5..aef09c2 100644
--- a/src/com/google/gct/testing/dimension/DeviceDimension.java
+++ b/src/com/google/gct/testing/dimension/DeviceDimension.java
@@ -18,7 +18,7 @@ package com.google.gct.testing.dimension;
import com.google.api.services.testing.model.AndroidDeviceCatalog;
import com.google.api.services.testing.model.AndroidModel;
import com.google.common.collect.ImmutableList;
-import com.google.gct.testing.CloudTestConfigurationImpl;
+import com.google.gct.testing.CloudConfigurationImpl;
import icons.AndroidIcons;
import javax.swing.*;
@@ -28,7 +28,7 @@ import java.util.Map;
import static com.google.gct.testing.launcher.CloudAuthenticator.getAndroidDeviceCatalog;
-public class DeviceDimension extends GoogleCloudTestingDimension {
+public class DeviceDimension extends CloudConfigurationDimension {
public static final String DISPLAY_NAME = "Device";
@@ -42,7 +42,7 @@ public class DeviceDimension extends GoogleCloudTestingDimension {
private static ImmutableList<Device> FULL_DOMAIN;
- public DeviceDimension(CloudTestConfigurationImpl googleCloudTestingConfiguration) {
+ public DeviceDimension(CloudConfigurationImpl googleCloudTestingConfiguration) {
super(googleCloudTestingConfiguration);
}
diff --git a/src/com/google/gct/testing/dimension/LanguageDimension.java b/src/com/google/gct/testing/dimension/LanguageDimension.java
index fa60fff..21917ff 100644
--- a/src/com/google/gct/testing/dimension/LanguageDimension.java
+++ b/src/com/google/gct/testing/dimension/LanguageDimension.java
@@ -23,7 +23,7 @@ import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
-import com.google.gct.testing.CloudTestConfigurationImpl;
+import com.google.gct.testing.CloudConfigurationImpl;
import com.intellij.openapi.vfs.VirtualFile;
import icons.AndroidIcons;
import org.jetbrains.android.facet.AndroidFacet;
@@ -35,7 +35,7 @@ import java.util.regex.Pattern;
import static com.google.gct.testing.launcher.CloudAuthenticator.getAndroidDeviceCatalog;
-public class LanguageDimension extends GoogleCloudTestingDimension {
+public class LanguageDimension extends CloudConfigurationDimension {
public static final String DISPLAY_NAME = "Locale";
@@ -52,7 +52,7 @@ public class LanguageDimension extends GoogleCloudTestingDimension {
private final List<Language> supportedLanguages;
- public LanguageDimension(CloudTestConfigurationImpl googleCloudTestingConfiguration, AndroidFacet facet) {
+ public LanguageDimension(CloudConfigurationImpl googleCloudTestingConfiguration, AndroidFacet facet) {
super(googleCloudTestingConfiguration);
final List<String> locales = getLocales(facet);
supportedLanguages = Lists.newArrayList(Iterables.filter(getFullDomain(), new Predicate<Language>() {
@@ -74,7 +74,7 @@ public class LanguageDimension extends GoogleCloudTestingDimension {
}
@VisibleForTesting
- public LanguageDimension(CloudTestConfigurationImpl googleCloudTestingConfiguration, final List<String> locales) {
+ public LanguageDimension(CloudConfigurationImpl googleCloudTestingConfiguration, final List<String> locales) {
super(googleCloudTestingConfiguration);
supportedLanguages = Lists.newArrayList(Iterables.filter(getFullDomain(), new Predicate<Language>() {
@Override
diff --git a/src/com/google/gct/testing/dimension/OrientationDimension.java b/src/com/google/gct/testing/dimension/OrientationDimension.java
index 2b7a499..4d7ec04 100644
--- a/src/com/google/gct/testing/dimension/OrientationDimension.java
+++ b/src/com/google/gct/testing/dimension/OrientationDimension.java
@@ -18,7 +18,7 @@ package com.google.gct.testing.dimension;
import com.google.api.services.testing.model.AndroidDeviceCatalog;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
-import com.google.gct.testing.CloudTestConfigurationImpl;
+import com.google.gct.testing.CloudConfigurationImpl;
import icons.AndroidIcons;
import javax.swing.*;
@@ -26,7 +26,7 @@ import java.util.List;
import static com.google.gct.testing.launcher.CloudAuthenticator.getAndroidDeviceCatalog;
-public class OrientationDimension extends GoogleCloudTestingDimension {
+public class OrientationDimension extends CloudConfigurationDimension {
public static final String DISPLAY_NAME = "Orientation";
@@ -35,7 +35,7 @@ public class OrientationDimension extends GoogleCloudTestingDimension {
private static ImmutableList<Orientation> FULL_DOMAIN;
- public OrientationDimension(CloudTestConfigurationImpl googleCloudTestingConfiguration) {
+ public OrientationDimension(CloudConfigurationImpl googleCloudTestingConfiguration) {
super(googleCloudTestingConfiguration);
}
diff --git a/src/com/google/gct/testing/launcher/CloudTestsLauncher.java b/src/com/google/gct/testing/launcher/CloudTestsLauncher.java
index df49b12..cdfc7ad 100644
--- a/src/com/google/gct/testing/launcher/CloudTestsLauncher.java
+++ b/src/com/google/gct/testing/launcher/CloudTestsLauncher.java
@@ -23,7 +23,7 @@ import com.google.api.services.testing.model.*;
import com.google.api.services.toolresults.model.History;
import com.google.common.base.Function;
import com.google.common.collect.Lists;
-import com.google.gct.testing.CloudTestConfigurationImpl;
+import com.google.gct.testing.CloudConfigurationImpl;
import com.google.gct.testing.CloudTestingUtils;
import com.google.gct.testing.dimension.CloudTestingType;
import org.apache.http.NameValuePair;
@@ -110,7 +110,7 @@ public class CloudTestsLauncher {
*/
public static TestMatrix triggerTestApi(
String cloudProjectId, String bucketGcsPath, String appApkGcsPath, String testApkGcsPath, String testSpecification,
- String instrumentationTestRunner, CloudTestConfigurationImpl cloudTestConfiguration, String appPackage, String testPackage) {
+ String instrumentationTestRunner, CloudConfigurationImpl cloudTestConfiguration, String appPackage, String testPackage) {
if (instrumentationTestRunner.isEmpty()) {
instrumentationTestRunner = TEST_RUNNER_CLASS;
diff --git a/src/com/google/gct/testing/results/GoogleCloudTestResultsConnectionUtil.java b/src/com/google/gct/testing/results/GoogleCloudTestResultsConnectionUtil.java
index 1a37138..495b207 100644
--- a/src/com/google/gct/testing/results/GoogleCloudTestResultsConnectionUtil.java
+++ b/src/com/google/gct/testing/results/GoogleCloudTestResultsConnectionUtil.java
@@ -49,7 +49,7 @@ public class GoogleCloudTestResultsConnectionUtil {
* and attaches it to given Process handler.
*
* You can use this method in run configuration's CommandLineState. You should
- * just override "execute" method of your custom command line state and return
+ * just override "executeCloudMatrixTests" method of your custom command line state and return
* test runner's console.
*
* NB: For debug purposes please enable "debug mode". In this mode test runner will also validate
@@ -61,7 +61,7 @@ public class GoogleCloudTestResultsConnectionUtil {
* @param processHandler Process handler
* @param consoleProperties Console properties for test console actions
* @return Console view
- * @throws com.intellij.execution.ExecutionException If IDEA cannot execute process this Exception will
+ * @throws com.intellij.execution.ExecutionException If IDEA cannot executeCloudMatrixTests process this Exception will
* be caught and shown in error message box
*/
public static BaseTestsOutputConsoleView createAndAttachConsole(@NotNull final String testFrameworkName,
@@ -144,7 +144,7 @@ public class GoogleCloudTestResultsConnectionUtil {
* and attaches it to given Process handler.
*
* You can use this method in run configuration's CommandLineState. You should
- * just override "execute" method of your custom command line state and return
+ * just override "executeCloudMatrixTests" method of your custom command line state and return
* test runner's console.
*
* E.g:
@@ -154,7 +154,7 @@ public class GoogleCloudTestResultsConnectionUtil {
* // ...
*
* @Override
- * public ExecutionResult execute(@NotNull final Executor executor,
+ * public ExecutionResult executeCloudMatrixTests(@NotNull final Executor executor,
* @NotNull final ProgramRunner runner) throws ExecutionException {
*
* final ProcessHandler processHandler = startProcess();
@@ -182,7 +182,7 @@ public class GoogleCloudTestResultsConnectionUtil {
* @param config User run configuration settings
* @param executor Executor
* @return Console view
- * @throws com.intellij.execution.ExecutionException If IDEA cannot execute process this Exception will
+ * @throws com.intellij.execution.ExecutionException If IDEA cannot executeCloudMatrixTests process this Exception will
* be caught and shown in error message box
*/
public static ConsoleView createAndAttachConsole(@NotNull final String testFrameworkName, @NotNull final ProcessHandler processHandler,
diff --git a/src/com/google/gct/testing/results/GoogleCloudTestResultsViewer.java b/src/com/google/gct/testing/results/GoogleCloudTestResultsViewer.java
index 07b9708..882e62d 100644
--- a/src/com/google/gct/testing/results/GoogleCloudTestResultsViewer.java
+++ b/src/com/google/gct/testing/results/GoogleCloudTestResultsViewer.java
@@ -41,7 +41,7 @@ public interface GoogleCloudTestResultsViewer extends Disposable {
void setShowStatisticForProxyHandler(GoogleCloudTestingPropagateSelectionHandler handler);
/**
- * If handler for statistics was set this method will execute it
+ * If handler for statistics was set this method will executeCloudMatrixTests it
*/
void showStatisticsForSelectedProxy();
diff --git a/testSrc/com/google/gct/testing/GoogleCloudTestingConfigurationImplTest.java b/testSrc/com/google/gct/testing/CloudTestingConfigurationImplTest.java
index 06ab2bf..b7d9710 100644
--- a/testSrc/com/google/gct/testing/GoogleCloudTestingConfigurationImplTest.java
+++ b/testSrc/com/google/gct/testing/CloudTestingConfigurationImplTest.java
@@ -28,14 +28,14 @@ import java.util.List;
import static java.util.Arrays.asList;
import static org.junit.Assert.assertEquals;
-public class GoogleCloudTestingConfigurationImplTest {
+public class CloudTestingConfigurationImplTest {
@Test
public void testConfigurationExpansion() throws IOException, ConfigurationException {
//TODO: Will not run anymore since now it requires connecting to the remote API.
- //CloudTestConfigurationImpl
- // configuration = new CloudTestConfigurationImpl("TestConfiguration", 8, asList("en", "de", "fr", "ro", "ru", "uk"));
+ //CloudConfigurationImpl
+ // configuration = new CloudConfigurationImpl("TestConfiguration", 8, asList("en", "de", "fr", "ro", "ru", "uk"));
//configuration.deviceDimension.enable(DeviceDimension.getFullDomain(), asList("Nexus5", "Nexus7"));
//configuration.apiDimension.enable(ApiDimension.getFullDomain(), asList("19", "18"));
//configuration.languageDimension.enable(LanguageDimension.getFullDomain(), asList("en", "de", "fr"));