String getLastFunctionName(EmulatorTestRunner emuTestRunner, TestLogger logger,
			PCodeTestGroup activeGroup) {
		Address ptrStorageAddr = infoStructAddr.add(lastFuncOffset);
		Address ptrAddr = getMirroredDataAddress(emuTestRunner, ptrStorageAddr);
		long funcNameOffset = emuRead(emuTestRunner.getEmulatorHelper(), ptrAddr, pointerSize);
		Address strAddr = ptrAddr.getNewAddress(funcNameOffset, true);
		strAddr = getMirroredDataAddress(emuTestRunner, strAddr);
		String fnName = emuReadString(emuTestRunner.getEmulatorHelper(), strAddr);
		if ("none".equals(fnName)) {
			if (logger != null) {
				logger.log(activeGroup, "ERROR last executed function name pointer stored at " +
					ptrStorageAddr + " has not been set (reported as <NONE>)");
			}
			return INITIAL_FUNCTION_NAME;
		}
		String altName = null;
		if (!fnName.endsWith(PCodeTestGroupControlBlock.TEST_GROUP_FUNCTION_SUFFIX)) {
			altName = fnName + PCodeTestGroupControlBlock.TEST_GROUP_FUNCTION_SUFFIX;
		}
		if (activeGroup != null) {
			if (activeGroup.controlBlock.getFunctionInfo(fnName) != null) {
				return fnName;
			}
			if (altName != null && activeGroup.controlBlock.getFunctionInfo(altName) != null) {
				return fnName;
			}
		}
		if (logger != null) {
			logger.log(activeGroup,
				"ERROR last executed function name pointer stored at " + ptrStorageAddr +
					" was improperly set (reported as <UNKNOWN>, pointer=" + strAddr + ")");
		}
		return UNKNOWN_FUNCTION_NAME;
	}
Get the name of the last test function to be run
@param emuTestRunner
@return last test function name
Ghidra/Features/Base/src/main/java/ghidra/test/processors/support/PCodeTestControlBlock.java