coverage pre-commit pytest