From 22f5b1a15b5d8c1f9d9a0d5ecb4d571f6b692708 Mon Sep 17 00:00:00 2001 From: jarebudev <23311805+jarebudev@users.noreply.github.com> Date: Wed, 17 Jun 2020 19:05:27 +0100 Subject: [PATCH] use java 8 for tests (#1237) * use java 8 for tests, and disabled specific errorprone checks for tests * modified existing test to use java 8 features * updated contributing doc --- CONTRIBUTING.md | 6 +++++ .../propagation/HttpTraceContextTest.java | 25 +++---------------- build.gradle | 7 ++++++ 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b8d1d468fab..6483d6fd51a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -82,6 +82,12 @@ $ git commit -m "Update javadoc for API." possible, for any new value classes. Remember to add package-private constructors to all AutoValue classes to prevent classes in other packages from extending them. + + +### Unit Tests + +* Unit tests target Java 8, so language features such as lambda and streams can be used in tests. + ## Building opentelemetry-java diff --git a/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java b/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java index ef134b32c3a..80b23a842d1 100644 --- a/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java +++ b/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java @@ -33,7 +33,6 @@ import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; -import javax.annotation.Nullable; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; @@ -58,21 +57,8 @@ public class HttpTraceContextTest { "00-" + TRACE_ID_BASE16 + "-" + SPAN_ID_BASE16 + "-01"; private static final String TRACEPARENT_HEADER_NOT_SAMPLED = "00-" + TRACE_ID_BASE16 + "-" + SPAN_ID_BASE16 + "-00"; - private static final Setter> setter = - new Setter>() { - @Override - public void set(Map carrier, String key, String value) { - carrier.put(key, value); - } - }; - private static final Getter> getter = - new Getter>() { - @Nullable - @Override - public String get(Map carrier, String key) { - return carrier.get(key); - } - }; + private static final Setter> setter = Map::put; + private static final Getter> getter = (carrier, key) -> carrier.get(key); // Encoding preserves the order which is the reverse order of adding. private static final String TRACESTATE_NOT_DEFAULT_ENCODING = "bar=baz,foo=bar"; private static final String TRACESTATE_NOT_DEFAULT_ENCODING_WITH_SPACES = @@ -105,12 +91,7 @@ public void inject_NullCarrierUsage() { httpTraceContext.inject( context, null, - new Setter>() { - @Override - public void set(Map ignored, String key, String value) { - carrier.put(key, value); - } - }); + (Setter>) (ignored, key, value) -> carrier.put(key, value)); assertThat(carrier).containsExactly(TRACE_PARENT, TRACEPARENT_HEADER_SAMPLED); } diff --git a/build.gradle b/build.gradle index 9ca12c3e549..7fb043f0500 100644 --- a/build.gradle +++ b/build.gradle @@ -88,6 +88,13 @@ configure(opentelemetryProjects) { compileTestJava { // serialVersionUID is basically guaranteed to be useless in tests options.compilerArgs += ["-Xlint:-serial"] + sourceCompatibility = 1.8 + targetCompatibility = 1.8 + + // Disable Java7 checks in test sources + options.errorprone.disable("Java7ApiChecker") + // Disable AndroidJdkLibs checks in test sources + options.errorprone.disable("AndroidJdkLibsChecker") } jar.manifest {