def METHOD_NAME():
    should_fail_list = [
        "2020-10-01-test5/test16.elf",
        "2020-10-07-test5/test15.elf",
        "2020-10-07-test8/test46.elf"
    ]
    ignore_list = [
        # These access SP before writing to it
        "2020-10-01-test5/test44.elf",
        "2020-10-07-test5/test42.elf",
        # These use different sizes/registers/addresses for LDX/STX
        "2020-11-10-generated-tests/test-03-012.elf",
        "2020-11-10-tests/test-03-012.elf",
        "2020-11-10-generated-tests/test-04-023.elf",
        "2020-11-10-tests/test-04-023.elf",
        "2020-11-26-test-bundle/new-tests/test-ldxp-stlxp_r_cr_c-002.elf",
    ]
    # noinspection PyUnresolvedReferences
    tests_dir = pytest.morello_tests_dir  # type: Path
    assert tests_dir.is_dir()
    for root, dirs, files in os.walk(str(tests_dir)):
        # Only walk dirs that are named "*test*"
        # However, there is also "2021-02-06-exn-tests/bad-tests/" which
        # should probably not be run.
        dirs = [d for d in dirs if "test" in d]
        dirs.sort()
        if dirs:
            print("Test dirs=", dirs)
        # First, we ensure that all compressed .elf files are decompressed
        elf_files = set()  # type: set[Path]
        for file in files:
            if file.endswith('.elf.gz'):
                elf_files.add(Path(root, file[:-3]))
            elif file.endswith('.elf'):
                elf_files.add(Path(root, file))
        for elf_path in sorted(list(elf_files)):
            assert elf_path.name.endswith('.elf')
            fullpath = str(elf_path.absolute())
            dirname = elf_path.parent.name
            should_print_failed = dirname == "failing-tests"
            marks = ()  # type: typing.Any
            if dirname in ("failing-tests", "bad-tests"):
                # TODO: see which ones should pass
                marks = (pytest.mark.skip(reason="Inside " + dirname + "folder"),)
            elif any(fullpath.endswith(name) for name in ignore_list):
                marks = (pytest.mark.skip(),)
            elif any(fullpath.endswith(name) for name in should_fail_list):
                marks = (pytest.mark.xfail(strict=True),)
            yield pytest.param(elf_path, should_print_failed,
                               id=os.path.relpath(fullpath[:-4], tests_dir),
                               marks=marks)