blob: 83846a1bb5f5214c993a50216ab9263bf7b4c4b2 [file] [log] [blame]
package com.jetbrains.env;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.testFramework.UsefulTestCase;
import java.util.List;
import java.util.Set;
/**
* @author traff
*/
public class PyEnvSufficiencyTest extends PyEnvTestCase {
private static final List<String> BASE_TAGS =
ImmutableList.<String>builder().add("python3", "django", "jython", "ipython", "ipython011", "ipython012", "nose", "pytest").build();
public void testSufficiency() {
if (UsefulTestCase.IS_UNDER_TEAMCITY && IS_ENV_CONFIGURATION) {
Set<String> tags = Sets.newHashSet();
List<String> roots = getPythonRoots();
if (roots.size() == 0) {
return; // not on env agent
}
for (String root : roots) {
tags.addAll(loadEnvTags(root));
}
List<String> missing = Lists.newArrayList();
for (String tag : necessaryTags()) {
if (!tags.contains(tag)) {
missing.add(tag);
}
}
assertEmpty("Agent is missing environments: " + StringUtil.join(missing, ", "), missing);
}
}
private static List<String> necessaryTags() {
if (SystemInfo.isWindows) {
return ImmutableList.<String>builder().addAll(BASE_TAGS).add("iron").build();
}
else {
return ImmutableList.<String>builder().addAll(BASE_TAGS).add("packaging").build();
}
}
}