X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=lttng-ust-java-tests-log4j%2Fsrc%2Ftest%2Fjava%2Forg%2Flttng%2Fust%2Fagent%2Fintegration%2Fevents%2FLog4jLegacyApiIT.java;h=2630101d94ce94b52becef5f4e68c6d6b28908f8;hb=eca1a136dbd9c6beb63258f8d1ee20590a81fa77;hp=af46cf4dd5c011d0c1b02b523d6911adc593700e;hpb=65a36bff2c5a362152e6448d7891e94f008e4a8b;p=lttng-ust-java-tests.git diff --git a/lttng-ust-java-tests-log4j/src/test/java/org/lttng/ust/agent/integration/events/Log4jLegacyApiIT.java b/lttng-ust-java-tests-log4j/src/test/java/org/lttng/ust/agent/integration/events/Log4jLegacyApiIT.java index af46cf4..2630101 100644 --- a/lttng-ust-java-tests-log4j/src/test/java/org/lttng/ust/agent/integration/events/Log4jLegacyApiIT.java +++ b/lttng-ust-java-tests-log4j/src/test/java/org/lttng/ust/agent/integration/events/Log4jLegacyApiIT.java @@ -24,6 +24,7 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.lang.reflect.Field; +import java.util.Arrays; import java.util.List; import org.apache.log4j.Level; @@ -36,11 +37,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.lttng.tools.ILttngSession; import org.lttng.tools.ILttngSession.Domain; -import org.lttng.tools.LttngToolsHelper; import org.lttng.ust.agent.ILttngHandler; import org.lttng.ust.agent.LTTngAgent; import org.lttng.ust.agent.utils.Log4jTestUtils; -import org.lttng.ust.agent.utils.LttngUtils; import org.lttng.ust.agent.utils.TestPrintRunner; /** @@ -57,6 +56,7 @@ public class Log4jLegacyApiIT { private static final String EVENT_NAME_B = "EventB"; private ILttngSession session; + private LTTngAgent agent; private Logger loggerA; private Logger loggerB; @@ -65,20 +65,16 @@ public class Log4jLegacyApiIT { * Class setup */ @BeforeClass - public static void classSetup() { - /* Make sure we can find the JNI library and lttng-tools */ - assertTrue(Log4jTestUtils.checkForLog4jLibrary()); - assertTrue(LttngUtils.checkForLttngTools(Domain.LOG4J)); - - LttngToolsHelper.destroyAllSessions(); + public static void log4jClassSetup() { + Log4jTestUtils.testClassSetup(); } /** * Class cleanup */ @AfterClass - public static void classCleanup() { - LttngToolsHelper.deleteAllTraces(); + public static void log4jClassCleanup() { + Log4jTestUtils.testClassCleanup(); } /** @@ -87,7 +83,7 @@ public class Log4jLegacyApiIT { @Before public void setup() { loggerA = Logger.getLogger(EVENT_NAME_A); - LTTngAgent.getLTTngAgent(); + agent = LTTngAgent.getLTTngAgent(); loggerB = Logger.getLogger(EVENT_NAME_B); loggerA.setLevel(Level.ALL); @@ -103,7 +99,7 @@ public class Log4jLegacyApiIT { public void tearDown() { session.close(); - LTTngAgent.dispose(); + agent.dispose(); loggerA = null; loggerB = null; @@ -171,6 +167,26 @@ public class Log4jLegacyApiIT { assertEquals(10, handler.getEventCount()); } + /** + * Test that the "lttng list" commands lists the expected events. + */ + @Test + public void testListEvents() { + List enabledEvents = session.listEvents(); + List expectedEvents = Arrays.asList(EVENT_NAME_A, EVENT_NAME_B); + + /* + * It doesn't seem possible to forcibly remove Loggers with log4j 1.2. + * This, coupled with the way the legacy agent works, makes it so + * loggers defined in other tests will always "leak" into this one when + * running the whole test suite. + * + * For this test, simply check that the expected names are present, and + * let pass the case where other loggers may the present too. + */ + expectedEvents.forEach(event -> assertTrue(enabledEvents.contains(event))); + } + /** * Get the singleton Log4j Handler currently managed by the LTTngAgent. It * is not public, so we need reflection to access it.