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=9cece276040de56af6bdaa965504cd9139bd0c8d;hb=HEAD;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..9cece27 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 @@ -18,37 +18,39 @@ package org.lttng.ust.agent.integration.events; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import java.lang.reflect.Field; +import java.util.Arrays; import java.util.List; import org.apache.log4j.Level; import org.apache.log4j.Logger; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; 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; +import org.lttng.ust.agent.utils.TestPrintExtension; /** * Enabled events test for the LTTng-UST Log4j log handler, using the legacy * API. */ -@RunWith(TestPrintRunner.class) +@ExtendWith(TestPrintExtension.class) @SuppressWarnings("deprecation") +@Tag("agent:log4j") +@Tag("domain:log4j") public class Log4jLegacyApiIT { private static final Domain DOMAIN = Domain.LOG4J; @@ -57,6 +59,7 @@ public class Log4jLegacyApiIT { private static final String EVENT_NAME_B = "EventB"; private ILttngSession session; + private LTTngAgent agent; private Logger loggerA; private Logger loggerB; @@ -64,30 +67,26 @@ 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(); + @BeforeAll + public static void log4jClassSetup() { + Log4jTestUtils.testClassSetup(); } /** * Class cleanup */ - @AfterClass - public static void classCleanup() { - LttngToolsHelper.deleteAllTraces(); + @AfterAll + public static void log4jClassCleanup() { + Log4jTestUtils.testClassCleanup(); } /** * Test setup */ - @Before + @BeforeEach public void setup() { loggerA = Logger.getLogger(EVENT_NAME_A); - LTTngAgent.getLTTngAgent(); + agent = LTTngAgent.getLTTngAgent(); loggerB = Logger.getLogger(EVENT_NAME_B); loggerA.setLevel(Level.ALL); @@ -99,11 +98,11 @@ public class Log4jLegacyApiIT { /** * Test cleanup */ - @After + @AfterEach public void tearDown() { session.close(); - LTTngAgent.dispose(); + agent.dispose(); loggerA = null; loggerB = null; @@ -171,6 +170,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.