def METHOD_NAME(args):
    if args.suite not in tests:
        raise ConfigError(f"Well, the test suite '{args.suite}' is not something anvi'o knows about :/ Here is a list "
                          f"of tests available if you would like to try again: {', '.join(list(tests.keys()))}.")
    tests_dir_path = os.path.dirname(anvio.tests.__file__)
    test_files_found = [os.path.basename(p) for p in glob.glob(os.path.join(tests_dir_path, '*.sh'))]
    for test in list(itertools.chain(*list(tests.values()))):
        if test not in test_files_found:
            raise FilesNPathsError(f"Anvi'o failed to locate the test file for '{test}' ('{tests[test]}')... What a "
                                   f"terrible start :( (it was looking for it under the directory '{tests_dir_path}').")
    if args.output_dir:
        output_dir = os.path.abspath(args.output_dir)
        filesnpaths.check_output_directory(output_dir)
        filesnpaths.gen_output_directory(output_dir)
    else:
        output_dir = filesnpaths.get_temp_directory_path()
    os.chdir(tests_dir_path)
    try:
        for test in tests[args.suite]:
            command = f'./{test} {output_dir} {"no_interactive" if args.no_interactive else ""}'
            exitcode = subprocess.call(command, shell=True)
            if exitcode != 0:
                raise ConfigError(f"According to the exit code ('{exitcode}'), anvi'o suspects that something may have gone wrong while "
                                  f"running your tests :/ We hope that the reason is clear to you from the lines above. But if you "
                                  f"don't see anything obvious, and especially if the test ended up running until the end with "
                                  f"reasonable looking final results, you shouldn't worry too much about this error. Life "
                                  f"is short and we all can worry just a bit less.")
    except KeyboardInterrupt:
        pass
    if args.output_dir:
        run.info_single(f"The self-test is done, and all the files anvi'o generated are stored in {args.output_dir}", nl_after=1)
    else:
        shutil.rmtree(output_dir)
        run.info_single("Anvi'o's self-test is done, and the temporary files are all gone.", nl_after=1)