def is_xfailed()

in project_future.py [0:0]


def is_xfailed(xfail_args, compatible_version, platform, swift_branch, build_config, job_type):
    """Return whether the specified swift version/platform/branch/configuration/job is xfailed."""
    if isinstance(xfail_args, dict):
        xfail_args = [xfail_args]

    def is_or_contains(spec, arg):
        return arg in spec if isinstance(spec, list) else spec == arg
    
    def matches(spec):
        issue = spec['issue'].split()[0]
        current = {
            'compatibility': compatible_version,
            'branch': swift_branch,
            'platform': platform,
            'job': job_type,
        }
        if 'configuration' in spec:
          if build_config is None:
            raise common.Unreachable("'xfail' entry contains 'configuration' "
                "but none supplied via '--build-config' or the containing "
                "action's 'configuration' field.")
          current['configuration'] = build_config.lower()
        for key, value in current.iteritems():
          if key in spec and not is_or_contains(spec[key], value):
            return None
        return issue

    for spec in xfail_args:
        issue = matches(spec)
        if issue is not None:
            return issue
    return None