summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Tokle <mortent@verizonmedia.com>2020-06-22 15:02:33 +0200
committerMorten Tokle <mortent@verizonmedia.com>2020-06-22 15:06:26 +0200
commit44491faa8c6362260a71fa3814adb4e7aeaaf198 (patch)
tree814a33b7f718f637f1b4bff28c802a28d8a39262
parentb580bf96165691622f19e73d445f346fe29fe74f (diff)
Fix review comments
-rw-r--r--hosted-api/src/main/java/ai/vespa/hosted/api/TestDescriptor.java (renamed from vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestDescriptor.java)4
-rw-r--r--tenant-cd-api/src/main/java/ai/vespa/hosted/cd/TestRuntime.java9
-rw-r--r--vespa-osgi-testrunner/pom.xml10
-rw-r--r--vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitHandler.java4
-rw-r--r--vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java8
5 files changed, 20 insertions, 15 deletions
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestDescriptor.java b/hosted-api/src/main/java/ai/vespa/hosted/api/TestDescriptor.java
index 1c7092de93a..37858148ef0 100644
--- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestDescriptor.java
+++ b/hosted-api/src/main/java/ai/vespa/hosted/api/TestDescriptor.java
@@ -1,5 +1,5 @@
// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.testrunner;
+package ai.vespa.hosted.api;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Inspector;
@@ -14,6 +14,8 @@ import java.util.stream.Collectors;
* @author mortent
*/
public class TestDescriptor {
+ public static final String DEFAULT_FILENAME = "META-INF/ai.vespa/testDescriptor.json";
+
private final Map<TestCategory, List<String>> configuredTestClasses;
private final String version;
diff --git a/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/TestRuntime.java b/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/TestRuntime.java
index 7aebbc7b7e7..be09aa86134 100644
--- a/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/TestRuntime.java
+++ b/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/TestRuntime.java
@@ -7,6 +7,7 @@ import org.osgi.framework.BundleReference;
import java.util.Optional;
import java.util.ServiceLoader;
+import java.util.logging.Logger;
/**
* The place to obtain environment-dependent configuration for test of a Vespa deployment.
@@ -15,18 +16,16 @@ import java.util.ServiceLoader;
* @author mortent
*/
public interface TestRuntime {
+ static final Logger logger = Logger.getLogger(TestRuntime.class.getName());
static TestRuntime get() {
var classloader = TestRuntime.class.getClassLoader();
- System.out.println("classloader.toString() = " + classloader.toString());
- System.out.println("classloader.getClass().toString() = " + classloader.getClass().toString());
-
if (classloader instanceof BundleReference) {
- System.out.println("Loading Test runtime from osgi component");
+ logger.info("Loading Test runtime from TestRuntimeProvider");
return Optional.ofNullable(TestRuntimeProvider.getTestRuntime())
.orElseThrow(() -> new RuntimeException("Component graph not ready, retrying"));
} else {
- System.out.println("Loading Test runtime from service loader");
+ logger.info("Loading Test runtime from ServiceLoader");
ServiceLoader<TestRuntime> serviceLoader = ServiceLoader.load(TestRuntime.class, TestRuntime.class.getClassLoader());
return serviceLoader.findFirst().orElseThrow(() -> new RuntimeException("No TestRuntime implementation found"));
}
diff --git a/vespa-osgi-testrunner/pom.xml b/vespa-osgi-testrunner/pom.xml
index 31bf6eba18b..5ed9f75c9eb 100644
--- a/vespa-osgi-testrunner/pom.xml
+++ b/vespa-osgi-testrunner/pom.xml
@@ -18,7 +18,7 @@
<dependency>
<groupId>com.yahoo.vespa</groupId>
<artifactId>container-dev</artifactId>
- <version>7-SNAPSHOT</version>
+ <version>${project.version}</version>
<scope>provided</scope>
</dependency>
@@ -60,9 +60,15 @@
<dependency>
<groupId>com.yahoo.vespa</groupId>
<artifactId>tenant-cd-api</artifactId>
- <version>7-SNAPSHOT</version>
+ <version>${project.version}</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>hosted-api</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
</dependencies>
<build>
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitHandler.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitHandler.java
index 3db2846da4e..cb7d5b8df6b 100644
--- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitHandler.java
+++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitHandler.java
@@ -1,6 +1,7 @@
// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.testrunner;
+import ai.vespa.hosted.api.TestDescriptor;
import ai.vespa.hosted.cd.internal.TestRuntimeProvider;
import com.google.inject.Inject;
import com.yahoo.container.handler.metrics.JsonResponse;
@@ -8,7 +9,6 @@ import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.container.jdisc.LoggingRequestHandler;
import com.yahoo.container.logging.AccessLog;
-import com.yahoo.io.IOUtils;
import com.yahoo.restapi.ErrorResponse;
import com.yahoo.restapi.MessageResponse;
import org.osgi.framework.Bundle;
@@ -39,7 +39,7 @@ public class JunitHandler extends LoggingRequestHandler {
TestDescriptor.TestCategory category = property("category", TestDescriptor.TestCategory.systemtest, httpRequest, TestDescriptor.TestCategory::valueOf);
try {
- testRuntimeProvider.initialize(IOUtils.readBytes(httpRequest.getData(), 1000 * 1000));
+ testRuntimeProvider.initialize(httpRequest.getData().readAllBytes());
} catch (IOException e) {
return new ErrorResponse(500, "testruntime-initialization", "Exception reading test config");
}
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java
index 68d3ea4c124..69134f86be0 100644
--- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java
+++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java
@@ -1,6 +1,7 @@
// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.testrunner;
+import ai.vespa.hosted.api.TestDescriptor;
import com.google.inject.Inject;
import com.yahoo.component.AbstractComponent;
import com.yahoo.exception.ExceptionUtils;
@@ -13,7 +14,6 @@ import com.yahoo.yolean.Exceptions;
import org.junit.jupiter.engine.JupiterTestEngine;
import org.junit.platform.engine.discovery.DiscoverySelectors;
import org.junit.platform.launcher.Launcher;
-import org.junit.platform.launcher.LauncherConstants;
import org.junit.platform.launcher.LauncherDiscoveryRequest;
import org.junit.platform.launcher.core.LauncherConfig;
import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder;
@@ -63,7 +63,7 @@ public class JunitRunner extends AbstractComponent {
}
public TestDescriptor loadTestDescriptor(Bundle bundle) {
- URL resource = bundle.getEntry("META-INF/testClasses.json");
+ URL resource = bundle.getEntry(TestDescriptor.DEFAULT_FILENAME);
TestDescriptor testDescriptor;
try {
var jsonDescriptor = IOUtils.readAll(resource.openStream(), Charset.defaultCharset()).trim();
@@ -71,7 +71,7 @@ public class JunitRunner extends AbstractComponent {
logger.info( "Test classes in bundle :" + testDescriptor.toString());
return testDescriptor;
} catch (IOException e) {
- throw new RuntimeException("Could not load META-INF/testClasses.json [" + e.getMessage() + "]");
+ throw new RuntimeException("Could not load " + TestDescriptor.DEFAULT_FILENAME + " [" + e.getMessage() + "]");
}
}
@@ -99,8 +99,6 @@ public class JunitRunner extends AbstractComponent {
.selectors(
testClasses.stream().map(DiscoverySelectors::selectClass).collect(Collectors.toList())
)
- .configurationParameter(LauncherConstants.CAPTURE_STDERR_PROPERTY_NAME,"true")
- .configurationParameter(LauncherConstants.CAPTURE_STDOUT_PROPERTY_NAME,"true")
.build();
var launcherConfig = LauncherConfig.builder()