Skip to content

Commit

Permalink
Fix failing ASM tests in vert.x 5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
manuel-alvarez-alvarez committed Jan 28, 2025
1 parent e379305 commit 3b6d1dc
Show file tree
Hide file tree
Showing 39 changed files with 2,303 additions and 136 deletions.
50 changes: 28 additions & 22 deletions buildSrc/src/main/groovy/MuzzlePlugin.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ class MuzzlePlugin implements Plugin<Project> {
*/
private static Set<Artifact> muzzleDirectiveToArtifacts(MuzzleDirective muzzleDirective, VersionRangeResult rangeResult) {

final Set<Version> versions = filterAndLimitVersions(rangeResult, muzzleDirective.skipVersions)
final Set<Version> versions = filterAndLimitVersions(rangeResult, muzzleDirective.skipVersions, muzzleDirective.includeSnapshots)

final Set<Artifact> allVersionArtifacts = versions.collect { version ->
new DefaultArtifact(muzzleDirective.group, muzzleDirective.module, muzzleDirective.classifier ?: "", "jar", version.toString())
Expand Down Expand Up @@ -371,20 +371,21 @@ class MuzzlePlugin implements Plugin<Project> {
final Set<Version> versions = rangeResult.versions.toSet()
allRangeResult.versions.removeAll(versions)

return filterAndLimitVersions(allRangeResult, muzzleDirective.skipVersions).collect { version ->
return filterAndLimitVersions(allRangeResult, muzzleDirective.skipVersions, muzzleDirective.includeSnapshots).collect { version ->
final MuzzleDirective inverseDirective = new MuzzleDirective()
inverseDirective.name = muzzleDirective.name
inverseDirective.group = muzzleDirective.group
inverseDirective.module = muzzleDirective.module
inverseDirective.versions = "$version"
inverseDirective.assertPass = !muzzleDirective.assertPass
inverseDirective.excludedDependencies = muzzleDirective.excludedDependencies
inverseDirective.includeSnapshots = muzzleDirective.includeSnapshots
inverseDirective
}.toSet()
}

private static Set<Version> filterAndLimitVersions(VersionRangeResult result, Set<String> skipVersions) {
return limitLargeRanges(result, filterVersion(result.versions.toSet(), skipVersions), skipVersions)
private static Set<Version> filterAndLimitVersions(VersionRangeResult result, Set<String> skipVersions, boolean includeSnapshots) {
return limitLargeRanges(result, filterVersion(result.versions.toSet(), skipVersions, includeSnapshots), skipVersions)
}

private static Set<Version> limitLargeRanges(VersionRangeResult result, Set<Version> versions, Set<String> skipVersions) {
Expand Down Expand Up @@ -506,26 +507,30 @@ class MuzzlePlugin implements Plugin<Project> {
/**
* Filter out snapshot-type builds from versions list.
*/
private static filterVersion(Set<Version> list, Set<String> skipVersions) {
private static filterVersion(Set<Version> list, Set<String> skipVersions, boolean includeSnapshots) {
list.removeIf {
def version = it.toString().toLowerCase(Locale.ROOT)
return version.endsWith("-snapshot") ||
version.contains("rc") ||
version.contains(".cr") ||
version.contains("alpha") ||
version.contains("beta") ||
version.contains("-b") ||
version.contains(".m") ||
version.contains("-m") ||
version.contains("-dev") ||
version.contains("-ea") ||
version.contains("-atlassian-") ||
version.contains("public_draft") ||
version.contains("-cr") ||
version.contains("-preview") ||
skipVersions.contains(version) ||
version.matches(END_NMN_PATTERN) ||
version.matches(GIT_SHA_PATTERN)
if (includeSnapshots) {
return skipVersions.contains(version)
} else {
return version.endsWith("-snapshot") ||
version.contains("rc") ||
version.contains(".cr") ||
version.contains("alpha") ||
version.contains("beta") ||
version.contains("-b") ||
version.contains(".m") ||
version.contains("-m") ||
version.contains("-dev") ||
version.contains("-ea") ||
version.contains("-atlassian-") ||
version.contains("public_draft") ||
version.contains("-cr") ||
version.contains("-preview") ||
skipVersions.contains(version) ||
version.matches(END_NMN_PATTERN) ||
version.matches(GIT_SHA_PATTERN)
}
}
return list
}
Expand Down Expand Up @@ -559,6 +564,7 @@ class MuzzleDirective {
boolean assertInverse = false
boolean skipFromReport = false
boolean coreJdk = false
boolean includeSnapshots = false
String javaVersion

void coreJdk(version = null) {
Expand Down
16 changes: 3 additions & 13 deletions dd-java-agent/instrumentation/vertx-web-4.0/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ ext {
// unbound it for latest
latestDepTestMinJavaVersionForTests = JavaVersion.VERSION_11
latestDepForkedTestMinJavaVersionForTests = JavaVersion.VERSION_11
latest4xTestMaxJavaVersionForTests = JavaVersion.VERSION_25
latest4xForkedTestMaxJavaVersionForTests = JavaVersion.VERSION_25
latestDepTestMaxJavaVersionForTests = JavaVersion.VERSION_25
latestDepForkedTestMaxJavaVersionForTests = JavaVersion.VERSION_25
}
Expand All @@ -17,15 +15,13 @@ muzzle {
pass {
group = 'io.vertx'
module = "vertx-web"
versions = "[4.0.0,)"
versions = "[4.0.0,5)"
assertInverse = true
}
}

addTestSuiteForDir('latestDepTest', 'latestDepTest')
addTestSuiteExtendingForDir('latestDepForkedTest', 'latestDepTest', 'latestDepTest')
addTestSuiteForDir('latest4xTest', 'test')
addTestSuiteExtendingForDir('latest4xForkedTest', 'latest4xTest', 'test')

configurations {
testArtifacts
Expand Down Expand Up @@ -54,11 +50,8 @@ dependencies {
testRuntimeOnly project(':dd-java-agent:instrumentation:jackson-core')
testRuntimeOnly project(':dd-java-agent:instrumentation:netty-buffer-4')

latest4xTestImplementation group: 'io.vertx', name: 'vertx-web', version: '4.+'
latest4xTestImplementation group: 'io.vertx', name: 'vertx-web-client', version: '4.+'

latestDepTestImplementation group: 'io.vertx', name: 'vertx-web', version: '+'
latestDepTestImplementation group: 'io.vertx', name: 'vertx-web-client', version: '+'
latestDepTestImplementation group: 'io.vertx', name: 'vertx-web', version: '4.+'
latestDepTestImplementation group: 'io.vertx', name: 'vertx-web-client', version: '4.+'
}

[compileLatestDepTestJava, compileLatestDepForkedTestJava].each {
Expand All @@ -67,6 +60,3 @@ dependencies {
[compileLatestDepForkedTestGroovy, compileLatestDepTestGroovy].each {
it.javaLauncher = getJavaLauncherFor(11)
}
[latest4xForkedTest, latest4xTest].each {
it.jvmArgs += '-Dtest.dd.latest4xTest=true'
}
Loading

0 comments on commit 3b6d1dc

Please sign in to comment.