1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package io.earcam.instrumental.agent.junit.extension;
20
21 import static io.earcam.instrumental.agent.junit.AbstractAgentJarTest.AGENT_ARGUMENTS;
22 import static org.hamcrest.MatcherAssert.assertThat;
23 import static org.hamcrest.Matchers.containsInAnyOrder;
24 import static org.hamcrest.Matchers.instanceOf;
25 import static org.hamcrest.Matchers.is;
26
27 import java.lang.instrument.Instrumentation;
28
29 import org.junit.jupiter.api.AfterAll;
30 import org.junit.jupiter.api.Test;
31
32 import com.acme.StubAgent;
33 import com.acme.StubAgentState;
34
35 @AgentClass(value = StubAgent.class, arguments = AGENT_ARGUMENTS)
36 public class DuplicateAgentClassTest {
37
38 public static final String SECOND_AGENT_ARGS = "-AsomethingCompletely=differentAltogether";
39
40
41 @AfterAll
42 public static void reset()
43 {
44 StubAgentState.initialize();
45 }
46
47
48 @AgentClass(value = StubAgent.class, arguments = SECOND_AGENT_ARGS)
49 @Test
50 public void test()
51 {
52 assertThat(StubAgentState.agentMainInvocations(), is(1));
53 assertThat(StubAgentState.isPreMainInvoked(), is(false));
54 assertThat(StubAgentState.instrumentation(), is(instanceOf(Instrumentation.class)));
55 assertThat(StubAgentState.arguments(), containsInAnyOrder(AGENT_ARGUMENTS));
56 }
57 }