@checks.Check('Specification is valid')
def check(user_configuration, repository_configuration, commit_message):

    logger = output.get_sub_logger('commit-msg', 'specification')
    logger.debug('Starting specification check...')
    logger.debug('Commit Message: %s', commit_message.message)

    if commit_message.message.startswith('Merge'):
        logger.debug("Commit is a merge, ignoring.")
        raise checks.CheckIgnore

    check_options = repository_configuration.get('specification', {})
    allowed_schemes = check_options.get('allowed_schemes', ['https', 'offline'])
    allowed_formats = check_options.get('allowed_formats', {'uri'})
    logger.debug("Allowed schemes: %s", allowed_schemes)

    result = checks.CheckResult()
    specification = specifications.get_specification(commit_message.message, allowed_formats, allowed_schemes)
    is_valid_uri = specification.valid

    logger.debug('Specification: %s', specification)
    logger.debug("Specification is valid: %s", is_valid_uri)

    result.successful = is_valid_uri
    if not is_valid_uri:
        result.add_detail('{spec} is not a valid specification.'.format(spec=specification))

    return result
This function tests that linear, sigmoid and softmax layers are
dataset/ETHPy150Open zalando/turnstile/turnstile/checks/commit_msg/specification.py/check--crossover with--dataset/ETHPy150Open lisa-lab/pylearn2/pylearn2/models/tests/test_mlp.py/test_flattener_layer