52 lines
1.9 KiB
Groovy
52 lines
1.9 KiB
Groovy
package datadog.trace.agent
|
|
|
|
import datadog.trace.agent.test.IntegrationTestUtils
|
|
import jvmbootstraptest.LogManagerSetter
|
|
import spock.lang.Shared
|
|
import spock.lang.Specification
|
|
|
|
import java.lang.management.ManagementFactory
|
|
import java.lang.management.RuntimeMXBean
|
|
|
|
class CustomLogManagerTest extends Specification {
|
|
// Run all tests using forked jvm because groovy has already set the global log manager
|
|
|
|
@Shared
|
|
private agentArg
|
|
|
|
def setupSpec() {
|
|
final RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean()
|
|
for (String arg : runtimeMxBean.getInputArguments()) {
|
|
if (arg.startsWith("-javaagent")) {
|
|
agentArg = arg
|
|
break
|
|
}
|
|
}
|
|
assert agentArg != null
|
|
}
|
|
|
|
def "jmxfetch starts up in premain with no custom log manager set"() {
|
|
expect:
|
|
IntegrationTestUtils.runOnSeparateJvm(LogManagerSetter.getName()
|
|
, [agentArg, "-Ddd.jmxfetch.enabled=true", "-Ddd.jmxfetch.refresh-beans-period=1", "-Ddatadog.slf4j.simpleLogger.defaultLogLevel=off"] as String[]
|
|
, "" as String[]
|
|
, true) == 0
|
|
}
|
|
|
|
def "jmxfetch startup is delayed with java.util.logging.manager sysprop"() {
|
|
expect:
|
|
IntegrationTestUtils.runOnSeparateJvm(LogManagerSetter.getName()
|
|
, [agentArg, "-Ddd.jmxfetch.enabled=true", "-Ddd.jmxfetch.refresh-beans-period=1", "-Ddatadog.slf4j.simpleLogger.defaultLogLevel=off", "-Djava.util.logging.manager=jvmbootstraptest.CustomLogManager"] as String[]
|
|
, "" as String[]
|
|
, true) == 0
|
|
}
|
|
|
|
def "jmxfetch startup delayed with tracer custom log manager setting"() {
|
|
expect:
|
|
IntegrationTestUtils.runOnSeparateJvm(LogManagerSetter.getName()
|
|
, [agentArg, "-Ddd.jmxfetch.enabled=true", "-Ddd.jmxfetch.refresh-beans-period=1", "-Ddatadog.slf4j.simpleLogger.defaultLogLevel=off", "-Ddd.app.customlogmanager=true"] as String[]
|
|
, "" as String[]
|
|
, true) == 0
|
|
}
|
|
}
|