view tests/hghaveaddon.py @ 6899:43b1fcb4055c mercurial-6.7

test-compat: merge mercurial-6.8 into mercurial-6.7
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 24 Oct 2024 17:57:11 +0400
parents 090834ff8209
children
line wrap: on
line source

import hghave

@hghave.check("docgraph-ext", "Extension to generate graph from repository")
def docgraph():
    try:
        import hgext.docgraph
        hgext.docgraph.cmdtable # trigger import
    except ImportError:
        try:
            import hgext3rd.docgraph
            hgext3rd.docgraph.cmdtable # trigger import
        except ImportError:
            return False
    return True

@hghave.check("flake8", "Flake8 python linter")
def has_flake8():
    try:
        import flake8

        flake8.__version__
    except ImportError:
        return False
    else:
        return True

@hghave.check("check-manifest", "check-manifest MANIFEST.in checking tool")
def has_check_manifest():
    return hghave.matchoutput('check-manifest --version 2>&1',
                              br'check-manifest version')

@hghave.check("twine", "twine utility for publishing Python packages")
def has_twine():
    return hghave.matchoutput('twine --help 2>&1',
                              br'usage: twine .*\bcheck\b')

@hghave.check("default-cg3", "changegroup3 by default")
def has_default_changegroup3():
    from mercurial import configitems

    try:
        return configitems.coreitems[b'experimental'][b'changegroup3'].default
    except (AttributeError, KeyError):
        return False