public static final Test buildEmulatorTestSuite(Class<?> emulatorTestClass) {

		// Method currently only gets invoked when running all test groups
		// For now lets limit dumping of execution state to single
		// test only, unless the property was give on command line.

		if (System.getProperty(EMULATOR_TRACE_DISABLE_PROPERTY) == null) {
			traceDisabled = true;
		}

		if (!emulatorTestClass.getSimpleName().endsWith(EMULATOR_TEST_SUFFIX)) {
			return getTestFailure(emulatorTestClass,
				"Invalid emulator test classname, must end with '" + EMULATOR_TEST_SUFFIX + "'",
				null);
		}

		if (!ProcessorEmulatorTestAdapter.class.isAssignableFrom(emulatorTestClass)) {
			return getTestFailure(emulatorTestClass,
				"Test class does not extend " + ProcessorEmulatorTestAdapter.class.getSimpleName(),
				null);
		}

		Constructor<?> constructor;
		try {
			constructor = emulatorTestClass.getConstructor(String.class);
		}
		catch (NoSuchMethodException e) {
			return getTestFailure(emulatorTestClass,
				"Class has no public constructor TestCase(String name)", null);
		}

		ProcessorEmulatorTestAdapter instance = null;
		try {
			instance = (ProcessorEmulatorTestAdapter) constructor.newInstance((String) null);
		}
		catch (Exception e) {
			return getTestFailure(emulatorTestClass, "Cannot instantiate test class", e);
		}

		try {
			instance.setUp();
			if (instance.testGroupMap == null || instance.testGroupMap.size() == 0) {
				return getTestFailure(emulatorTestClass, "No test binaries found", null);
			}
			ArrayList<PCodeTestGroup> testGroups = new ArrayList<>(instance.testGroupMap.values());
			Collections.sort(testGroups);
// TODO: May need custom test suite and implement
// public void run(TestResult result) -- which can do something after invoking super.run
			TestSuite suite = new EmulationTestSuite();
			for (PCodeTestGroup testGroup : testGroups) {
				// TODO: HACK! must prefix each test name with "test" to allow for
				// running single test within Eclipse
				suite.addTest(
					TestSuite.createTest(emulatorTestClass, TEST_PREFIX + testGroup.testGroupName));
			}
			return suite;
		}
		catch (Exception e) {
			e.printStackTrace();
			return getTestFailure(emulatorTestClass, "Exception during trial test setup", e);
		}
		finally {
			try {
				instance.tearDown();
			}
			catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
Create TestSuite based upon available test groups contained within binary
test files associated with target processor.
@param emulatorTestClass test which extends <code>ProcessorEmulatorTestAdapter</code>
and whose name ends with "EmulatorTest".
@return test suite
Ghidra/Features/Base/src/main/java/ghidra/test/processors/support/ProcessorEmulatorTestAdapter.java