@Test
	public void testEvaluate() throws Exception {
		try (JshellAndConnection conn = startAndConnectJshell()) {
			conn.executeCapture(null);
			List<String> res = conn.executeCapture("3+4*2;");
			conn.execute("/exit");
			assertTrue(res.get(0).contains("11"));
		}
	}
Because we control the target artifact, we know the steps precisely. NOTE: This must be the
same at least for step_into and step_over, otherwise, we can't know for sure step_over
actually behaves any differently than step_into. By matching with step_into, we can assure
ourselves that step_over actually encountered an invoke* bytecode instruction, because if it
didn't then step_into ought to fail.
Ghidra/Test/DebuggerIntegrationTest/src/test.slow/java/agent/java/rmi/JavaMethodsTest.java