def METHOD_NAME(caplog, signature_file):
    rules = YARA_RULE_META_REGEX.findall(signature_file.read_text())
    assert rules, f'no rules found in {signature_file}'
    for rule_name, meta_data in rules:
        if rule_name == 'SHORT_NAME_OF_SOFTWARE':  # ignore demo rule
            continue
        yara_output_form = ','.join(
            meta_data.replace('    ', '').replace('\t', '').replace(' = ', '=').replace("'", "\\'").splitlines()
        ).strip(',')
        with caplog.at_level(logging.WARNING):
            output = _parse_meta_data(yara_output_form)
            assert all(
                'Malformed meta' not in m for m in caplog.messages
            ), f'meta of rule {rule_name} cannot be parsed: {caplog.messages[-1]}'
            assert any(key in output for key in ('description', 'desc', 'author')), f'wrong output: {output}'