AbstractSubmit: Set @NoHttpd

Tweak GerritServer to respect this annotation on any superclass.

Change-Id: Ic8bd560125815b5ad2829ac7101962c6bf5d275d
This commit is contained in:
Dave Borowitz
2016-01-29 14:41:30 -05:00
parent f34c1eed5b
commit c0ad7dd187
2 changed files with 13 additions and 2 deletions

View File

@@ -60,7 +60,7 @@ public class GerritServer {
return new AutoValue_GerritServer_Description(
configName,
true, // @UseLocalDisk is only valid on methods.
testDesc.getTestClass().getAnnotation(NoHttpd.class) == null,
!hasNoHttpd(testDesc.getTestClass()),
null, // @GerritConfig is only valid on methods.
null); // @GerritConfigs is only valid on methods.
@@ -72,11 +72,20 @@ public class GerritServer {
configName,
testDesc.getAnnotation(UseLocalDisk.class) == null,
testDesc.getAnnotation(NoHttpd.class) == null
&& testDesc.getTestClass().getAnnotation(NoHttpd.class) == null,
&& !hasNoHttpd(testDesc.getTestClass()),
testDesc.getAnnotation(GerritConfig.class),
testDesc.getAnnotation(GerritConfigs.class));
}
private static boolean hasNoHttpd(Class<?> clazz) {
for (; clazz != null; clazz = clazz.getSuperclass()) {
if (clazz.getAnnotation(NoHttpd.class) != null) {
return true;
}
}
return false;
}
@Nullable abstract String configName();
abstract boolean memory();
abstract boolean httpd();

View File

@@ -26,6 +26,7 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.gerrit.acceptance.AbstractDaemonTest;
import com.google.gerrit.acceptance.NoHttpd;
import com.google.gerrit.acceptance.PushOneCommit;
import com.google.gerrit.acceptance.TestProjectInput;
import com.google.gerrit.common.EventListener;
@@ -78,6 +79,7 @@ import java.io.IOException;
import java.util.List;
import java.util.Map;
@NoHttpd
public abstract class AbstractSubmit extends AbstractDaemonTest {
private static final Logger log =
LoggerFactory.getLogger(AbstractSubmit.class);