build.gradle.kts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. plugins {
  2. id("otel.javaagent-testing")
  3. }
  4. dependencies {
  5. implementation(project(":testing-common:library-for-integration-tests"))
  6. testCompileOnly(project(":instrumentation-api"))
  7. testCompileOnly(project(":javaagent-tooling"))
  8. testCompileOnly(project(":javaagent-extension-api"))
  9. testCompileOnly(project(":muzzle"))
  10. testImplementation("net.bytebuddy:byte-buddy")
  11. testImplementation("net.bytebuddy:byte-buddy-agent")
  12. testImplementation("com.google.guava:guava")
  13. testImplementation(project(":instrumentation-annotations"))
  14. testImplementation("cglib:cglib:3.3.0")
  15. // test instrumenting java 1.1 bytecode
  16. // TODO do we want this?
  17. testImplementation("net.sf.jt400:jt400:6.1")
  18. }
  19. tasks {
  20. val testFieldInjectionDisabled by registering(Test::class) {
  21. filter {
  22. includeTestsMatching("context.FieldInjectionDisabledTest")
  23. }
  24. include("**/FieldInjectionDisabledTest.*")
  25. jvmArgs("-Dotel.javaagent.experimental.field-injection.enabled=false")
  26. }
  27. val testFieldBackedImplementation by registering(Test::class) {
  28. filter {
  29. includeTestsMatching("context.FieldBackedImplementationTest")
  30. }
  31. include("**/FieldBackedImplementationTest.*")
  32. // this test uses reflection to access fields generated by FieldBackedProvider
  33. // internal-reflection needs to be disabled because it removes these fields from reflection results.
  34. jvmArgs("-Dotel.instrumentation.internal-reflection.enabled=false")
  35. // required on jdk17
  36. jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED")
  37. jvmArgs("-XX:+IgnoreUnrecognizedVMOptions")
  38. }
  39. test {
  40. filter {
  41. excludeTestsMatching("context.FieldInjectionDisabledTest")
  42. excludeTestsMatching("context.FieldBackedImplementationTest")
  43. }
  44. // this is needed for AgentInstrumentationSpecificationTest
  45. jvmArgs("-Dotel.javaagent.exclude-classes=config.exclude.packagename.*,config.exclude.SomeClass,config.exclude.SomeClass\$NestedClass")
  46. }
  47. check {
  48. dependsOn(testFieldInjectionDisabled)
  49. dependsOn(testFieldBackedImplementation)
  50. }
  51. }