def METHOD_NAME(self, cmd_line, e_rc, e_ntests, terminated_tests):
    os.chdir(BASEDIR)
    result = process.run(cmd_line, ignore_status=True)
    output = result.stdout_text
    xml_output = os.path.join(self.tmpdir.name, "latest", "results.xml")
    self.assertEqual(
        result.exit_status, e_rc, f"Avocado did not return rc {e_rc}:\n{result}"
    )
    try:
        xunit_doc = xml.dom.minidom.parse(xml_output)
    except Exception as detail:
        raise ParseXMLError(f"Failed to parse content: {detail}\n" f"{xml_output}")
    testsuite_list = xunit_doc.getElementsByTagName("testsuite")
    self.assertEqual(len(testsuite_list), 1, "More than one testsuite tag")
    testsuite_tag = testsuite_list[0]
    self.assertEqual(
        len(testsuite_tag.attributes),
        7,
        (f"The testsuite tag does not have 7 attributes. " f"XML:\n{xml_output}"),
    )
    n_tests = int(testsuite_tag.attributes["tests"].value)
    self.assertEqual(
        n_tests,
        e_ntests,
        (f"Unexpected number of executed tests, XML:\n" f"{xml_output}"),
    )
    n_failures = int(testsuite_tag.attributes["failures"].value)
    self.assertEqual(
        n_failures,
        0,
        (f"Unexpected number of test failures, XML:\n" f"{xml_output}"),
    )
    e_skip = e_ntests - output.count("STARTED")
    n_skip = int(testsuite_tag.attributes["skipped"].value)
    self.assertEqual(
        n_skip,
        e_skip,
        (f"Unexpected number of test skips, XML:\n" f"{xml_output}"),
    )
    for terminated_test in terminated_tests:
        self.assertTrue(
            f"{terminated_test}:  INTERRUPTED: Test interrupted: Timeout reached"
            in output,
            f"Test {terminated_test} was not in {output}.",
        )