package org.lttng.ust.agent.integration.context;
-import static org.junit.Assert.assertFalse;
-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.assertFalse;
+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.io.IOException;
import java.util.List;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+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.ust.agent.ILttngHandler;
import org.lttng.ust.agent.context.ContextInfoManager;
-import org.lttng.ust.agent.utils.TestPrintRunner;
+import org.lttng.ust.agent.utils.TestPrintExtension;
/**
* Base abstract class to implement all sorts of integration tests verifying the
* presence of enabled application contexts in resulting traces.
*/
-@RunWith(TestPrintRunner.class)
+@ExtendWith(TestPrintExtension.class)
public abstract class AppContextITBase {
protected static final String EVENT_NAME = "EventName";
protected abstract Domain getDomain();
+ protected abstract boolean closeHandlers();
+
protected abstract void sendEventsToLoggers();
/**
* Base test setup
*/
- @Before
+ @BeforeEach
public void testSetup() {
try {
cim = ContextInfoManager.getInstance();
/**
* Base test teardown
*/
- @After
+ @AfterEach
public void testTeardown() {
session.close();
- logHandler.close();
+ if (closeHandlers()) {
+ logHandler.close();
+ }
logHandler = null;
/* In case some tests fail or forget to unregister their retrievers */
assertFalse(output.isEmpty());
/* Test that context name is there but value is not */
- testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME, "{ none = { } } }");
+ testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME, "{ { } } }");
}
/**
/* Test that context name + value are present */
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ string = \"" + ContextInfoRetrieverStubs.STRING_VALUE + "\" }");
+ "{ \"" + ContextInfoRetrieverStubs.STRING_VALUE + "\" }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
/* Test that only retriever-name-2 is present, with no value */
testContextNotPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME);
- testContextPresentInTrace(output, RETRIEVER_NAME_2, CONTEXT_NAME, "{ none = { } } }");
+ testContextPresentInTrace(output, RETRIEVER_NAME_2, CONTEXT_NAME, "{ { } } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
/* Test that only retriever-name-1 is present, name + value */
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ string = \"" + ContextInfoRetrieverStubs.STRING_VALUE + "\" }");
+ "{ \"" + ContextInfoRetrieverStubs.STRING_VALUE + "\" }");
testContextNotPresentInTrace(output, RETRIEVER_NAME_2, CONTEXT_NAME);
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
/* Test that both contexts are present, but only retriever-1's has a value */
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ string = \"" + ContextInfoRetrieverStubs.STRING_VALUE + "\" }");
- testContextPresentInTrace(output, RETRIEVER_NAME_2, CONTEXT_NAME, "{ none = { } } }");
+ "{ \"" + ContextInfoRetrieverStubs.STRING_VALUE + "\" }");
+ testContextPresentInTrace(output, RETRIEVER_NAME_2, CONTEXT_NAME, "{ { } } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
assertTrue(cim.registerContextInfoRetriever(RETRIEVER_NAME_1, ContextInfoRetrieverStubs.NULL_RETRIEVER));
List<String> output = enableContextAndTrace();
- testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME, "{ none = { } } }");
+ testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME, "{ { } } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
List<String> output = enableContextAndTrace();
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ int32 = " + ContextInfoRetrieverStubs.INTEGER_VALUE + " } }");
+ "{ " + ContextInfoRetrieverStubs.INTEGER_VALUE + " } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
List<String> output = enableContextAndTrace();
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ int64 = " + ContextInfoRetrieverStubs.LONG_VALUE + " } }");
+ "{ " + ContextInfoRetrieverStubs.LONG_VALUE + " } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
List<String> output = enableContextAndTrace();
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ double = " + ContextInfoRetrieverStubs.DOUBLE_VALUE + " } }");
+ "{ " + ContextInfoRetrieverStubs.DOUBLE_VALUE + " } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
List<String> output = enableContextAndTrace();
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ string = \"" + ContextInfoRetrieverStubs.CHARACTER_VALUE + "\" } }");
+ "{ \"" + ContextInfoRetrieverStubs.CHARACTER_VALUE + "\" } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
List<String> output = enableContextAndTrace();
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ float = " + ContextInfoRetrieverStubs.FLOAT_VALUE + " } }");
+ "{ " + ContextInfoRetrieverStubs.FLOAT_VALUE + " } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
List<String> output = enableContextAndTrace();
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ int8 = " + ContextInfoRetrieverStubs.BYTE_VALUE + " } }");
+ "{ " + ContextInfoRetrieverStubs.BYTE_VALUE + " } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
List<String> output = enableContextAndTrace();
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ int16 = " + ContextInfoRetrieverStubs.SHORT_VALUE + " } }");
+ "{ " + ContextInfoRetrieverStubs.SHORT_VALUE + " } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
assertTrue(cim.registerContextInfoRetriever(RETRIEVER_NAME_1, ContextInfoRetrieverStubs.BOOLEAN_TRUE_RETRIEVER));
List<String> output = enableContextAndTrace();
- testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME, "{ int8 = 1 } }");
+ testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME, "{ 1 } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
assertTrue(cim.registerContextInfoRetriever(RETRIEVER_NAME_1, ContextInfoRetrieverStubs.BOOLEAN_FALSE_RETRIEVER));
List<String> output = enableContextAndTrace();
- testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME, "{ int8 = 0 } }");
+ testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME, "{ 0 } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
List<String> output = enableContextAndTrace();
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ string = \"" + ContextInfoRetrieverStubs.STRING_VALUE + "\" } }");
+ "{ \"" + ContextInfoRetrieverStubs.STRING_VALUE + "\" } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
List<String> output = enableContextAndTrace();
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ string = \"" + ContextInfoRetrieverStubs.OBJECT_VALUE.toString() + "\" } }");
+ "{ \"" + ContextInfoRetrieverStubs.OBJECT_VALUE.toString() + "\" } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}
assertFalse(output.isEmpty());
testContextPresentInTrace(output, RETRIEVER_NAME_1, CONTEXT_NAME,
- "{ string = \"" + ContextInfoRetrieverStubs.STRING_VALUE + "\" } }");
+ "{ \"" + ContextInfoRetrieverStubs.STRING_VALUE + "\" } }");
assertTrue(cim.unregisterContextInfoRetriever(RETRIEVER_NAME_1));
}