@Test
	public void testUnsetNoReturn() throws Exception {
		// 0x01004132 Inline			"undefined FUN_01004132()"
		// 0x010041fc NoReturn			"undefined FUN_010041fc()"
		// 0x0100476b Inline & NoReturn	"undefined FUN_0100476b()"
		// 0x01004a15 Inline			"undefined FUN_01004a15()"
		// 0x01004bc0 NoReturn			"undefined FUN_01004bc0()"
		// 0x01004c1d Inline & NoReturn	"undefined FUN_01004c1d()"

		mtf.initialize("notepad.exe_3.1_w_DotDotDot", new ProgramModifierListener() {

			@Override
			public void modifyLatest(ProgramDB program) {
				Function func;
				func = getFunction(program, "0x010041fc");
				func.setNoReturn(false);
				func = getFunction(program, "0x0100476b");
				func.setNoReturn(false);
			}

			@Override
			public void modifyPrivate(ProgramDB program) {
				Function func;
				func = getFunction(program, "0x01004bc0");
				func.setNoReturn(false);
				func = getFunction(program, "0x0100476b");
				func.setNoReturn(false);
			}
		});

		Function func;
		originalProgram = mtf.getOriginalProgram();

		func = getFunction(originalProgram, "0x010041fc");
		assertEquals(true, func.hasNoReturn());
		func = getFunction(originalProgram, "0x01004bc0");
		assertEquals(true, func.hasNoReturn());
		func = getFunction(originalProgram, "0x0100476b");
		assertEquals(true, func.hasNoReturn());

		executeMerge(ASK_USER);
		waitForMergeCompletion();

		func = getFunction(resultProgram, "0x010041fc");
		assertEquals(false, func.hasNoReturn());
		func = getFunction(resultProgram, "0x01004bc0");
		assertEquals(false, func.hasNoReturn());
		func = getFunction(resultProgram, "0x0100476b");
		assertEquals(false, func.hasNoReturn());
	}
Test the merge of the versioned program's listing.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/FunctionMergeManager2Test.java