Add multi-session tests
[lttng-ust-java-tests.git] / src / org / lttng / ust / agent / integration / log4j / Log4jMultiSessionTest.java
1 package org.lttng.ust.agent.integration.log4j;
2
3 import static org.junit.Assume.assumeTrue;
4
5 import java.io.IOException;
6
7 import org.apache.log4j.Appender;
8 import org.apache.log4j.Level;
9 import org.apache.log4j.Logger;
10 import org.junit.After;
11 import org.junit.AfterClass;
12 import org.junit.Before;
13 import org.junit.BeforeClass;
14 import org.lttng.ust.agent.integration.common.MultiSessionTest;
15 import org.lttng.ust.agent.log4j.LttngLogAppender;
16 import org.lttng.ust.agent.utils.LttngSession;
17 import org.lttng.ust.agent.utils.LttngSession.Domain;
18 import org.lttng.ust.agent.utils.TestUtils;
19
20 public class Log4jMultiSessionTest extends MultiSessionTest {
21
22 private static final Domain DOMAIN = Domain.LOG4J;
23
24 private Logger loggerA;
25 private Logger loggerB;
26 private Logger loggerC;
27 private Logger loggerD;
28
29 @BeforeClass
30 public static void log4jClassSetup() {
31 /* Skip tests if we can't find the JNI library or lttng-tools */
32 assumeTrue(TestUtils.checkForLog4jLibrary());
33 assumeTrue(TestUtils.checkForLttngTools(Domain.LOG4J));
34
35 LttngSession.destroyAllSessions();
36 }
37
38 @AfterClass
39 public static void log4jClassCleanup() {
40 LttngSession.deleteAllTracee();
41 }
42
43 @Before
44 public void log4jSetup() throws SecurityException, IOException {
45 // TODO Wipe all existing LTTng sessions?
46
47 loggerA = Logger.getLogger(EVENT_NAME_A);
48 loggerB = Logger.getLogger(EVENT_NAME_B);
49 loggerC = Logger.getLogger(EVENT_NAME_C);
50 loggerD = Logger.getLogger(EVENT_NAME_D);
51
52 loggerA.setLevel(Level.ALL);
53 loggerB.setLevel(Level.ALL);
54 loggerC.setLevel(Level.ALL);
55 loggerD.setLevel(Level.ALL);
56
57 handlerA = new LttngLogAppender();
58 handlerB = new LttngLogAppender();
59 handlerC = new LttngLogAppender();
60 handlerD = new LttngLogAppender();
61
62 loggerA.addAppender((Appender) handlerA);
63 loggerB.addAppender((Appender) handlerB);
64 loggerC.addAppender((Appender) handlerC);
65 loggerD.addAppender((Appender) handlerD);
66 }
67
68 @After
69 public void log4jTeardown() {
70 loggerA.removeAppender((Appender) handlerA);
71 loggerB.removeAppender((Appender) handlerB);
72 loggerC.removeAppender((Appender) handlerC);
73 loggerD.removeAppender((Appender) handlerD);
74
75 loggerA = null;
76 loggerB = null;
77 loggerC = null;
78 loggerD = null;
79 }
80
81 @Override
82 protected Domain getDomain() {
83 return DOMAIN;
84 }
85
86 @Override
87 protected void sendEventsToLoggers() {
88 Log4jTestUtils.send10Events(loggerA);
89 Log4jTestUtils.send10Events(loggerB);
90 Log4jTestUtils.send10Events(loggerC);
91 Log4jTestUtils.send10Events(loggerD);
92 }
93 }
This page took 0.031517 seconds and 4 git commands to generate.