def METHOD_NAME(self, report, not_supported=None, missing_features_or_bugs=None, fail_if_missing=True):
    if not_supported:
        report.update(not_supported)
        for s in not_supported.keys():
            print("IGNORING {0}".format(s))
    if missing_features_or_bugs:
        report.update(missing_features_or_bugs)
        for s in missing_features_or_bugs.keys():
            print("PENDING {0}".format(s))
    failed = [k for k, v in report.items() if v == 0]
    for s in failed:
        print("FAILED TO EXECUTE {0}".format(s))
    total_tests = len(report)
    warnings.warn ("The test coverage is {0}/{1}.".format(total_tests - len(failed), total_tests))
    if fail_if_missing:
        assert 0 == len(failed)