From f56ae1e4df959f3bbd15817b668dea9d29bcec28 Mon Sep 17 00:00:00 2001 From: Nikolay Martynov Date: Wed, 20 Jun 2018 17:00:40 -0400 Subject: [PATCH 1/4] CircleCI: cosmetic: order targets in order of dependency --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 25497f8f66..441e24103a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -117,7 +117,7 @@ jobs: environment: - JAVA8_HOME: /usr/lib/jvm/java-8-openjdk-amd64 # Tests under Java8 should have complete coverage. - - TEST_TASK: test latestDepTest jacocoTestCoverageVerification jacocoTestReport + - TEST_TASK: test latestDepTest jacocoTestReport jacocoTestCoverageVerification test_9: <<: *default_test_job From 71a991fcaa5c9bc414146475e16136f31da633eb Mon Sep 17 00:00:00 2001 From: Nikolay Martynov Date: Wed, 20 Jun 2018 17:01:01 -0400 Subject: [PATCH 2/4] Update jacoco exclusions to exclude things not hit during test runs --- dd-java-agent/testing/testing.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dd-java-agent/testing/testing.gradle b/dd-java-agent/testing/testing.gradle index e357656a4a..cd72386efb 100644 --- a/dd-java-agent/testing/testing.gradle +++ b/dd-java-agent/testing/testing.gradle @@ -4,7 +4,7 @@ minimumBranchCoverage = 0.5 minimumInstructionCoverage = 0.6 whitelistedInstructionClasses += whitelistedBranchClasses += [ 'datadog.trace.agent.test.*Assert', - 'datadog.trace.agent.test.AgentTestRunner.1', + 'datadog.trace.agent.test.AgentTestRunner.ErrorCountingListener', 'datadog.trace.agent.test.TestUtils' ] From e070a9be4af05b2480324136fc8afdbb90bb634a Mon Sep 17 00:00:00 2001 From: Nikolay Martynov Date: Wed, 20 Jun 2018 17:05:16 -0400 Subject: [PATCH 3/4] Fix jacoco excluded classes concatenation --- dd-java-agent/agent-bootstrap/agent-bootstrap.gradle | 2 +- dd-java-agent/agent-tooling/agent-tooling.gradle | 2 +- dd-java-agent/instrumentation/instrumentation.gradle | 2 +- .../java-concurrent/akka-testing/akka-testing.gradle | 2 +- dd-java-agent/testing/testing.gradle | 2 +- dd-trace-ot/dd-trace-ot.gradle | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dd-java-agent/agent-bootstrap/agent-bootstrap.gradle b/dd-java-agent/agent-bootstrap/agent-bootstrap.gradle index 154c6d8eeb..ace59a5f9d 100644 --- a/dd-java-agent/agent-bootstrap/agent-bootstrap.gradle +++ b/dd-java-agent/agent-bootstrap/agent-bootstrap.gradle @@ -5,7 +5,7 @@ plugins { apply from: "${rootDir}/gradle/java.gradle" -whitelistedInstructionClasses += whitelistedBranchClasses += [ +whitelistedInstructionClasses = whitelistedBranchClasses += [ 'datadog.trace.bootstrap.*' ] diff --git a/dd-java-agent/agent-tooling/agent-tooling.gradle b/dd-java-agent/agent-tooling/agent-tooling.gradle index 47f34b80d8..e3d21a6d85 100644 --- a/dd-java-agent/agent-tooling/agent-tooling.gradle +++ b/dd-java-agent/agent-tooling/agent-tooling.gradle @@ -1,6 +1,6 @@ apply from: "${rootDir}/gradle/java.gradle" -whitelistedInstructionClasses += whitelistedBranchClasses += [ +whitelistedInstructionClasses = whitelistedBranchClasses += [ 'datadog.trace.agent.tooling.*' ] diff --git a/dd-java-agent/instrumentation/instrumentation.gradle b/dd-java-agent/instrumentation/instrumentation.gradle index 351dbf1b79..16c7ca30bb 100644 --- a/dd-java-agent/instrumentation/instrumentation.gradle +++ b/dd-java-agent/instrumentation/instrumentation.gradle @@ -39,7 +39,7 @@ subprojects { subProj -> } } -whitelistedInstructionClasses += whitelistedBranchClasses += [ +whitelistedInstructionClasses = whitelistedBranchClasses += [ 'datadog.trace.instrumentation.*' ] diff --git a/dd-java-agent/instrumentation/java-concurrent/akka-testing/akka-testing.gradle b/dd-java-agent/instrumentation/java-concurrent/akka-testing/akka-testing.gradle index 0718cfbd7b..5f695ff546 100644 --- a/dd-java-agent/instrumentation/java-concurrent/akka-testing/akka-testing.gradle +++ b/dd-java-agent/instrumentation/java-concurrent/akka-testing/akka-testing.gradle @@ -1,7 +1,7 @@ apply from: "${rootDir}/gradle/java.gradle" apply plugin: 'scala' -whitelistedInstructionClasses += whitelistedBranchClasses += [ +whitelistedInstructionClasses = whitelistedBranchClasses += [ '*' ] diff --git a/dd-java-agent/testing/testing.gradle b/dd-java-agent/testing/testing.gradle index cd72386efb..1f22e221ff 100644 --- a/dd-java-agent/testing/testing.gradle +++ b/dd-java-agent/testing/testing.gradle @@ -2,7 +2,7 @@ apply from: "${rootDir}/gradle/java.gradle" minimumBranchCoverage = 0.5 minimumInstructionCoverage = 0.6 -whitelistedInstructionClasses += whitelistedBranchClasses += [ +whitelistedInstructionClasses = whitelistedBranchClasses += [ 'datadog.trace.agent.test.*Assert', 'datadog.trace.agent.test.AgentTestRunner.ErrorCountingListener', 'datadog.trace.agent.test.TestUtils' diff --git a/dd-trace-ot/dd-trace-ot.gradle b/dd-trace-ot/dd-trace-ot.gradle index e418a10991..b17b136a58 100644 --- a/dd-trace-ot/dd-trace-ot.gradle +++ b/dd-trace-ot/dd-trace-ot.gradle @@ -9,7 +9,7 @@ apply from: "${rootDir}/gradle/publish.gradle" minimumBranchCoverage = 0.5 minimumInstructionCoverage = 0.6 -whitelistedInstructionClasses += whitelistedBranchClasses += [ +whitelistedInstructionClasses = whitelistedBranchClasses += [ 'datadog.trace.common.writer.ListWriter', 'datadog.trace.common.sampling.PrioritySampling' ] From 9cc99bafbf0f711da8ec7aaa3224902ee4e42023 Mon Sep 17 00:00:00 2001 From: Nikolay Martynov Date: Wed, 20 Jun 2018 17:13:30 -0400 Subject: [PATCH 4/4] Simplify Jacoco configuration --- .../agent-bootstrap/agent-bootstrap.gradle | 4 +--- .../agent-tooling/agent-tooling.gradle | 4 +--- .../instrumentation/instrumentation.gradle | 4 +--- .../akka-testing/akka-testing.gradle | 4 +--- dd-java-agent/testing/testing.gradle | 2 +- dd-trace-ot/dd-trace-ot.gradle | 2 +- gradle/jacoco.gradle | 22 ++++++++++++------- 7 files changed, 20 insertions(+), 22 deletions(-) diff --git a/dd-java-agent/agent-bootstrap/agent-bootstrap.gradle b/dd-java-agent/agent-bootstrap/agent-bootstrap.gradle index ace59a5f9d..27d932ee61 100644 --- a/dd-java-agent/agent-bootstrap/agent-bootstrap.gradle +++ b/dd-java-agent/agent-bootstrap/agent-bootstrap.gradle @@ -5,9 +5,7 @@ plugins { apply from: "${rootDir}/gradle/java.gradle" -whitelistedInstructionClasses = whitelistedBranchClasses += [ - 'datadog.trace.bootstrap.*' -] +excludedClassesConverage += [ 'datadog.trace.bootstrap.*' ] dependencies { compile project(':dd-trace-api') diff --git a/dd-java-agent/agent-tooling/agent-tooling.gradle b/dd-java-agent/agent-tooling/agent-tooling.gradle index e3d21a6d85..d84a956fdf 100644 --- a/dd-java-agent/agent-tooling/agent-tooling.gradle +++ b/dd-java-agent/agent-tooling/agent-tooling.gradle @@ -1,8 +1,6 @@ apply from: "${rootDir}/gradle/java.gradle" -whitelistedInstructionClasses = whitelistedBranchClasses += [ - 'datadog.trace.agent.tooling.*' -] +excludedClassesConverage += [ 'datadog.trace.agent.tooling.*' ] configurations { // classpath used by the instrumentation muzzle plugin diff --git a/dd-java-agent/instrumentation/instrumentation.gradle b/dd-java-agent/instrumentation/instrumentation.gradle index 16c7ca30bb..96d379b9de 100644 --- a/dd-java-agent/instrumentation/instrumentation.gradle +++ b/dd-java-agent/instrumentation/instrumentation.gradle @@ -39,9 +39,7 @@ subprojects { subProj -> } } -whitelistedInstructionClasses = whitelistedBranchClasses += [ - 'datadog.trace.instrumentation.*' -] +excludedClassesConverage += [ 'datadog.trace.instrumentation.*' ] dependencies { compile(project(':dd-java-agent:agent-tooling')) { diff --git a/dd-java-agent/instrumentation/java-concurrent/akka-testing/akka-testing.gradle b/dd-java-agent/instrumentation/java-concurrent/akka-testing/akka-testing.gradle index 5f695ff546..fbcbd36dd5 100644 --- a/dd-java-agent/instrumentation/java-concurrent/akka-testing/akka-testing.gradle +++ b/dd-java-agent/instrumentation/java-concurrent/akka-testing/akka-testing.gradle @@ -1,9 +1,7 @@ apply from: "${rootDir}/gradle/java.gradle" apply plugin: 'scala' -whitelistedInstructionClasses = whitelistedBranchClasses += [ - '*' -] +excludedClassesConverage += [ '*' ] dependencies { compile project(':dd-trace-api') diff --git a/dd-java-agent/testing/testing.gradle b/dd-java-agent/testing/testing.gradle index 1f22e221ff..9ba4a359dc 100644 --- a/dd-java-agent/testing/testing.gradle +++ b/dd-java-agent/testing/testing.gradle @@ -2,7 +2,7 @@ apply from: "${rootDir}/gradle/java.gradle" minimumBranchCoverage = 0.5 minimumInstructionCoverage = 0.6 -whitelistedInstructionClasses = whitelistedBranchClasses += [ +excludedClassesConverage += [ 'datadog.trace.agent.test.*Assert', 'datadog.trace.agent.test.AgentTestRunner.ErrorCountingListener', 'datadog.trace.agent.test.TestUtils' diff --git a/dd-trace-ot/dd-trace-ot.gradle b/dd-trace-ot/dd-trace-ot.gradle index b17b136a58..174ac7fef2 100644 --- a/dd-trace-ot/dd-trace-ot.gradle +++ b/dd-trace-ot/dd-trace-ot.gradle @@ -9,7 +9,7 @@ apply from: "${rootDir}/gradle/publish.gradle" minimumBranchCoverage = 0.5 minimumInstructionCoverage = 0.6 -whitelistedInstructionClasses = whitelistedBranchClasses += [ +excludedClassesConverage += [ 'datadog.trace.common.writer.ListWriter', 'datadog.trace.common.sampling.PrioritySampling' ] diff --git a/gradle/jacoco.gradle b/gradle/jacoco.gradle index fc3cc6b012..fa1148209e 100644 --- a/gradle/jacoco.gradle +++ b/gradle/jacoco.gradle @@ -13,16 +13,22 @@ jacocoTestReport { } } -if (project.parent.hasProperty("whitelistedBranchClasses")) { - project.ext.whitelistedBranchClasses = parent.whitelistedBranchClasses +if (project.parent.hasProperty("excludedClassesConverage")) { + project.ext.excludedClassesConverage = parent.excludedClassesConverage } else { - project.ext.whitelistedBranchClasses = [] + project.ext.excludedClassesConverage = [] } -if (project.parent.hasProperty("whitelistedInstructionClasses")) { - project.ext.whitelistedInstructionClasses = parent.whitelistedInstructionClasses +if (project.parent.hasProperty("excludedClassesBranchConverage")) { + project.ext.excludedClassesBranchConverage = parent.excludedClassesBranchConverage } else { - project.ext.whitelistedInstructionClasses = [] + project.ext.excludedClassesBranchConverage = [] +} + +if (project.parent.hasProperty("excludedClassesInstructionConverage")) { + project.ext.excludedClassesInstructionConverage = parent.excludedClassesInstructionConverage +} else { + project.ext.excludedClassesInstructionConverage = [] } // defaults can be overridden per project: @@ -34,7 +40,7 @@ afterEvaluate { violationRules { rule { element = 'CLASS' - excludes = project.whitelistedBranchClasses + excludes = project.excludedClassesBranchConverage + project.excludedClassesConverage limit { counter = 'BRANCH' minimum = project.minimumBranchCoverage @@ -43,7 +49,7 @@ afterEvaluate { rule { element = 'CLASS' - excludes = project.whitelistedInstructionClasses + excludes = project.excludedClassesInstructionConverage + project.excludedClassesConverage limit { counter = 'INSTRUCTION' minimum = project.minimumInstructionCoverage