def METHOD_NAME(args):
    config = parse_config(args.config_file)
    if pathlib.Path(args.coverage_output_dir).exists():
        shutil.rmtree(args.coverage_output_dir)
    for part in config['parts']:
        for file in part['files']:
            for group in file['groups']:
                full_name = pathlib.PurePath(args.path_to_test_dir, part['path'], file['name'])
                output_file = pathlib.PurePath(args.output_dir, f"utbot_tests_{part['path'].replace('/', '_')}_{file['name']}.py")
                coverage_output_file = pathlib.PurePath(args.coverage_output_dir, f"coverage_{part['path'].replace('/', '_')}_{file['name']}.json")
                generate_tests(
                    args.java,
                    args.jar,
                    [args.path_to_test_dir],
                    args.python_path,
                    str(full_name),
                    group['timeout'],
                    str(output_file),
                    str(coverage_output_file),
                    group['classes'],
                    group['methods']
                )