Show coverage stats online via coveralls.io

Overview

Coveralls for Python

Test Status: https://img.shields.io/circleci/project/github/TheKevJames/coveralls-python/master.svg?style=flat-square&label=CircleCI https://img.shields.io/travis/TheKevJames/coveralls-python/master.svg?style=flat-square&label=TravisCI https://img.shields.io/github/workflow/status/TheKevJames/coveralls-python/coveralls/master?style=flat-square&label=Github%20Actions https://img.shields.io/coveralls/TheKevJames/coveralls-python/master.svg?style=flat-square&label=Coverage
Version Info: https://img.shields.io/conda/v/conda-forge/coveralls?style=flat-square&label=Conda https://img.shields.io/pypi/v/coveralls.svg?style=flat-square&label=PyPI https://img.shields.io/conda/dn/conda-forge/coveralls?label=Conda%20Downloads&style=flat-square https://img.shields.io/pypi/dm/coveralls.svg?style=flat-square&label=PyPI%20Downloads
Compatibility: https://img.shields.io/pypi/pyversions/coveralls.svg?style=flat-square&label=Python%20Versions https://img.shields.io/pypi/implementation/coveralls.svg?style=flat-square&label=Python%20Implementations
Misc: https://img.shields.io/docker/cloud/build/thekevjames/coveralls?style=flat-square&label=Docker https://img.shields.io/readthedocs/coveralls-python?style=flat-square&label=Docs

coveralls.io is a service for publishing your coverage stats online. This package provides seamless integration with coverage.py (and thus pytest, nosetests, etc...) in your Python projects:

pip install coveralls
coverage run --source=mypkg -m pytest tests/
coveralls

For more information and usage instructions, see our documentation.

Version Compatibility

As of version 2.0, we have dropped support for end-of-life'd versions of Python and particularly old version of coverage. Support for non-EOL'd environments is provided on a best-effort basis and will generally be removed once they make maintenance too difficult.

If you're running on an outdated environment with a new enough package manager to support version checks (see the PyPA docs), then installing the latest compatible version should do the trick. If you're even more outdated than that, please pin to coveralls<2.

If you're in an outdated environment and experiencing an issue, feel free to open a ticket -- but please mention your environment! I'm willing to backport fixes to the 1.x branch if need be.

Comments
  • Move repo to an organization

    Move repo to an organization

    For the sake of maintainability and also to enable easier control os CI services it would be much better to move this repo to a github organization

    Thoughts @TheKevJames and @coagulant ?

    I asked over https://github.com/lemurheavy/coveralls-public/issues/911

    If the answer is not positive, I just created an organization called, coveralls-clients

    If this does not already exists we could aggregate all other clients on this org.

    opened by goanpeca 13
  • Api.py will warn (no more silence) on ImportError

    Api.py will warn (no more silence) on ImportError

    Hello!

    I have added logging, when some modules are not installed. I have a pure Linux Mint installation (pyyaml is not installed), and I have a project. There is .coveralls.yml, but coveralls does not work:

    [email protected] ~/projects/project $ coveralls --verbose
    You have to provide either repo_token in .coveralls.yml, or launch via Travis or CircleCI
    

    I've spent a couple of hours, and found, that some exceptions were eaten in silence. It is bad. After patching:

    [email protected] ~/projects/project $ coveralls --verbose
    Seems, like some modules are not installed: No module named yaml
    You have to provide either repo_token in .coveralls.yml, or launch via Travis or CircleCI
    

    Changes

    log.warn added to exc.handler block. This code will just notify user on absence of some modules (in my case - yaml)

    Review on Reviewable

    opened by maxkoryukov 13
  • Could not submit coverage: 422 Client Error despite defining COVERALLS_REPO_TOKEN on GHA

    Could not submit coverage: 422 Client Error despite defining COVERALLS_REPO_TOKEN on GHA

    Despite $COVERALLS_REPO_TOKEN being correctly defined and passed in (via tox), getting a 422 error on GitHub Actions https://github.com/casperdcl/git-fame/runs/1383075434?check_suite_focus=true#step:5:62 (https://github.com/casperdcl/git-fame/commit/20b3f10f084d4f176ce041c7ec7abd1fa948fa3a)

     Could not submit coverage: 422 Client Error: Unprocessable Entity for url: coveralls.io/api/v1/jobs
    

    Note that codecov by comparison (using $CODECOV_TOKEN) works fine.

    opened by casperdcl 12
  • coveralls --finish not working as expected in Circle-CI

    coveralls --finish not working as expected in Circle-CI

    Thanks for this nice client.

    It looks like since the github api was introduced, the Circle-CI version seems broken. When I try putting having a run that finishes up a parallel go, the wrong build number is being used to notify the service

    (venv) [email protected]:~/project$ coveralls debug -v --finish
    Missing .coveralls.yml file. Using only env variables.
    Testing coveralls-python...
    {"source_files": [], "git": {"branch": "coveralls", "head": {"id": "fad6a2cc6ab84ef45d06bf2150a4d103c16e1a76", "author_name": "Stephen Roller", "author_email": "[email protected]", "committer_name": "Stephen Roller", "committer_email": "[email protected]", "message": "Hm."}, "remotes": [{"name": "origin", "url": "[email protected].
    com:facebookresearch/ParlAI.git"}]}, "config_file": ".coveragerc", "parallel": true, "repo_token": "[secure]", "service_name": "circle-ci", "service_job_id": "48529", "service_pull_request": "2950"}
    ==
    Reporting 0 files
    ==
    

    Here you see that the CIRCLE_BUILD_NUM value has been put into "service_job_id" field of the config. In

    However, the call to finish uses the "service_number" field instead:

    https://github.com/coveralls-clients/coveralls-python/blob/30e4815169b3db2616981939d55d2f4495816821/coveralls/api.py#L217-L218

    As such, when you try calling coveralls --finish you get the following error:

    $ coveralls -v --finish
    Missing .coveralls.yml file. Using only env variables.
    Finishing parallel jobs...
    Parallel finish failed: No build matching CI build number  found
    Traceback (most recent call last):
      File "/home/circleci/venv/lib/python3.7/site-packages/coveralls/cli.py", line 80, in main
        coverallz.parallel_finish()
      File "/home/circleci/venv/lib/python3.7/site-packages/coveralls/api.py", line 236, in parallel_finish
        raise CoverallsException('Parallel finish failed: {}'.format(e))
    coveralls.exception.CoverallsException: Parallel finish failed: No build matching CI build number  found
    

    Note that Circle always puts None into the service_number field:

    https://github.com/coveralls-clients/coveralls-python/blob/30e4815169b3db2616981939d55d2f4495816821/coveralls/api.py#L87

    https://github.com/coveralls-clients/coveralls-python/blob/30e4815169b3db2616981939d55d2f4495816821/coveralls/api.py#L52-L59

    opened by stephenroller 12
  • Update Github Actions support

    Update Github Actions support

    Github Actions, and the coveralls side of support for it, seem to have changed/evolved. This PR brings coveralls-python in line with the official github action, which is commonly used to finish parallel builds.

    Additionally, there is no need to manually provide your repo token anymore (though you still can, so existing setups should not be affected by this), since the native github support takes the automatically provided GITHUB_TOKEN instead, very similar to how things work on Travis. You do however have to export that GITHUB_TOKEN to an env var in your workflow.yml:

    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    
    opened by TimoRoth 12
  • Branch coverage

    Branch coverage

    Apparently, Coveralls now supports branch coverage.

    https://github.com/lemurheavy/coveralls-public/issues/31#issuecomment-284375195

    I don't see the changes to the web API documented yet, but I do see that the Node client seems to support it via the branches key. branches is a sibling of coverage in the dictionary the client submits to Coveralls.

    https://github.com/nickmerwin/node-coveralls/commit/15750503b69c3143b3020fa5d4fe4fc1d455356e https://coveralls.io/github/nickmerwin/node-coveralls?branch=master

    screen shot 2017-03-06 at 07 58 43

    opened by myint 12
  • Add support for coverage v5.0+

    Add support for coverage v5.0+

    Running coveralls or coveralls debug or coveralls debug --verbose gives me the following stack dump:

    Testing coveralls-python...
    Traceback (most recent call last):
      File "/tmp/ds/bin/coveralls", line 10, in <module>
        sys.exit(main())
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/cli.py", line 68, in main
        coverallz.wear(dry_run=True)
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/api.py", line 168, in wear
        json_string = self.create_report()
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/api.py", line 184, in create_report
        data = self.create_data()
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/api.py", line 238, in create_data
        self._data = {'source_files': self.get_coverage()}
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/api.py", line 260, in get_coverage
        return CoverallReporter(workman, workman.config).report()
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/reporter.py", line 47, in report
        self.parse_file(cu, analyzed)
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/reporter.py", line 158, in parse_file
        branches = self.get_arcs(analysis)
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/reporter.py", line 103, in get_arcs
        branch_lines = analysis.branch_lines()
    AttributeError: 'Analysis' object has no attribute 'branch_lines'
    

    This is with coverage 5.0a5 and coveralls 1.8.0. It looks to me like the coverage library recently changed branch_lines to _branch_lines in the Analysis class (see https://github.com/nedbat/coveragepy/commit/f869f4dfd7ccd2c9d4e6575d00ee3ad1a31757e3#diff-b696f62d55a35f1f75a13c5c7ecf2f68), and coveralls is still trying to access it under the old name. I think. Or maybe the issue is on my end; I don't know.

    opened by davidwagner 11
  • Error on CircleCI without setting COVERALLS_REPO_TOKEN

    Error on CircleCI without setting COVERALLS_REPO_TOKEN

    When trying to submit coverage on CircleCI I get the following error:

    Couldn't find a repository matching this job.
    'url'
    
    $ pip freeze | grep coveralls
    coveralls==1.1
    

    I'm on the latest version of coveralls and according to the docs I don't need to set COVERALLS_REPO_TOKEN for CircleCI, what am I doing wrong?

    opened by joshblum 11
  • Remove extra dependencies to speed up installation

    Remove extra dependencies to speed up installation

    Installation takes ~10 seconds per build

    Due to all coverall-python's dependencies, installation takes around 10 seconds. Probably most of that time is spend on compiling PyYAML, only for parsing a config file most users will not be using. Also installing requests (great lib!) for doing a single post only, seems somewhat overkill. Reducing the external dependencies allows for a faster install, and speeds up all builds.

    $ time pip install coveralls
    Downloading/unpacking coveralls
      Downloading coveralls-0.3.zip
      Running setup.py egg_info for package coveralls
    Downloading/unpacking PyYAML>=3.10 (from coveralls)
      Downloading PyYAML-3.10.tar.gz (241kB): 241kB downloaded
      Running setup.py egg_info for package PyYAML
    Downloading/unpacking docopt>=0.6.1 (from coveralls)
      Downloading docopt-0.6.1.tar.gz
      Running setup.py egg_info for package docopt
    Downloading/unpacking coverage>=3.6 (from coveralls)
      Downloading coverage-3.7.tar.gz (283kB): 283kB downloaded
      Running setup.py egg_info for package coverage
        warning: no previously-included files matching '*.pyc' found anywhere in distribution
    Downloading/unpacking requests>=1.0.0 (from coveralls)
      Downloading requests-2.0.1.tar.gz (412kB): 412kB downloaded
      Running setup.py egg_info for package requests
    Downloading/unpacking sh>=1.08 (from coveralls)
      Downloading sh-1.09.tar.gz
      Running setup.py egg_info for package sh
    Installing collected packages: coveralls, PyYAML, docopt, coverage, requests, sh
      Running setup.py install for coveralls
        Installing coveralls script to /home/travis/virtualenv/python2.6/bin
      Running setup.py install for PyYAML
        checking if libyaml is compilable
        gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c build/temp.linux-x86_64-2.6/check_libyaml.c -o build/temp.linux-x86_64-2.6/check_libyaml.o
        checking if libyaml is linkable
        gcc -pthread build/temp.linux-x86_64-2.6/check_libyaml.o -lyaml -o build/temp.linux-x86_64-2.6/check_libyaml
        building '_yaml' extension
        (...)
      Running setup.py install for docopt
      Running setup.py install for coverage
        building 'coverage.tracer' extension
        gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c coverage/tracer.c -o build/temp.linux-x86_64-2.6/coverage/tracer.o
        gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions build/temp.linux-x86_64-2.6/coverage/tracer.o -o build/lib.linux-x86_64-2.6/coverage/tracer.so
        warning: no previously-included files matching '*.pyc' found anywhere in distribution
        Installing coverage2 script to /home/travis/virtualenv/python2.6/bin
        Installing coverage-2.6 script to /home/travis/virtualenv/python2.6/bin
        Installing coverage script to /home/travis/virtualenv/python2.6/bin
      Running setup.py install for requests
      Running setup.py install for sh
    Successfully installed coveralls PyYAML docopt coverage requests sh
    Cleaning up...
    real    0m10.539s
    user    0m8.336s
    sys 0m0.781s
    

    Using --use-mirrors, the result is only worse:

    $ time pip install coveralls --use-mirrors
    real    1m44.662s
    user    0m10.684s
    sys 0m1.183s
    
    opened by Bouke 11
  • chore(dependencies): unpin pytest version, use pytest-runner

    chore(dependencies): unpin pytest version, use pytest-runner

    Fixes #139

    Forced an install of the latest pytest (3.0.6) and found no errors. We should wait until CI works again before merging this, just to be sure.

    opened by TheKevJames 10
  • .coveralls.yml has no effect

    .coveralls.yml has no effect

    I'm having troubles both locally and on travis-pro:

    Locally, coveralls appears to ignore my .coveralls.yml file

    $ coveralls
    You have to provide either repo_token in .coveralls.yml, or launch via Travis or CircleCI
    $ cat .coveralls.yml
    repo_token: abcdefghijklmnop
    

    and on travis-pro with .coveralls.yml set to

    service_name: travis-pro
    repo_token: abcdefghijklmnop
    

    the travis build logs tell me

    $ coveralls
    Submitting coverage to coveralls.io...
    Coverage submitted!
    Couldn't find a repository matching this job.
    'url'
    

    I've confirmed that the repo_token is equal to the token on the coveralls page. Am I missing a step? Options to debug this?

    opened by perrygeo 10
  • 3.3.1: pytest is failing in units which are uning `coverage.files` module (with `coverage` 7.0.1)

    3.3.1: pytest is failing in units which are uning `coverage.files` module (with `coverage` 7.0.1)

    I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

    • python3 -sBm build -w --no-isolation
    • because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
    • install .whl file in </install/prefix>
    • run pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>

    Here is list of installed modules in build env

    Package                       Version
    ----------------------------- -----------------
    alabaster                     0.7.12
    asn1crypto                    1.5.1
    attrs                         22.2.0
    Babel                         2.11.0
    bcrypt                        3.2.2
    build                         0.9.0
    cffi                          1.15.1
    charset-normalizer            3.0.1
    contourpy                     1.0.6
    coverage                      7.0.1
    cryptography                  38.0.4
    cycler                        0.11.0
    distro                        1.8.0
    docopt                        0.6.2
    docutils                      0.19
    exceptiongroup                1.0.0
    extras                        1.0.0
    fixtures                      4.0.0
    fonttools                     4.38.0
    gpg                           1.18.0-unknown
    idna                          3.4
    imagesize                     1.4.1
    importlib-metadata            5.1.0
    iniconfig                     1.1.1
    Jinja2                        3.1.2
    kiwisolver                    1.4.4
    libcomps                      0.1.19
    MarkupSafe                    2.1.1
    matplotlib                    3.6.2
    numpy                         1.24.1
    olefile                       0.46
    packaging                     21.3
    pbr                           5.9.0
    pep517                        0.13.0
    Pillow                        9.3.0
    pip                           22.3.1
    pluggy                        1.0.0
    ply                           3.11
    pyasn1                        0.4.8
    pyasn1-modules                0.2.8
    pycparser                     2.21
    Pygments                      2.13.0
    PyGObject                     3.42.2
    pyparsing                     3.0.9
    pytest                        7.2.0
    python-dateutil               2.8.2
    pytz                          2022.4
    PyYAML                        6.0
    requests                      2.28.1
    responses                     0.22.0
    rpm                           4.17.0
    setuptools                    65.6.3
    six                           1.16.0
    snowballstemmer               2.2.0
    Sphinx                        5.3.0
    sphinxcontrib-applehelp       1.0.2.dev20221204
    sphinxcontrib-devhelp         1.0.2.dev20221204
    sphinxcontrib-htmlhelp        2.0.0
    sphinxcontrib-jsmath          1.0.1.dev20221204
    sphinxcontrib-qthelp          1.0.3.dev20221204
    sphinxcontrib-serializinghtml 1.1.5
    testtools                     2.5.0
    toml                          0.10.2
    tomli                         2.0.1
    tpm2-pkcs11-tools             1.33.7
    tpm2-pytss                    1.1.0
    types-toml                    0.10.8
    urllib3                       1.26.12
    wheel                         0.38.4
    zipp                          3.11.0
    
    opened by kloczek 1
  • Tox test on Python 3.6 fails with assertion error

    Tox test on Python 3.6 fails with assertion error

    On Python 3.6, the tox test fails. On Python 3.5 and 3.7 or higher, it suceeds.

      py36-cov6-default run-test: commands[0] | coverage run --branch --source=coveralls -m pytest tests/
      ============================= test session starts ==============================
      platform linux -- Python 3.6.15, pytest-7.0.1, pluggy-1.0.0
      cachedir: .tox/py36-cov6-default/.pytest_cache
      rootdir: /home/runner/work/coveralls-python/coveralls-python
      collected 73 items
      
      tests/api_test.py .                                                      [  1%]
      tests/cli_test.py ..............                                         [ 20%]
      tests/git_test.py ........                                               [ 31%]
      tests/integration_test.py ...                                            [ 35%]
      tests/api/configuration_test.py s...................                     [ 63%]
      tests/api/encoding_test.py ..                                            [ 65%]
      tests/api/exception_test.py ...                                          [ 69%]
      tests/api/reporter_test.py .......F..                                    [ 83%]
      tests/api/wear_test.py ............                                      [100%]
      
      =================================== FAILURES ===================================
      ___________________ ReporterTest.test_reporter_with_branches ___________________
      
      self = <tests.api.reporter_test.ReporterTest testMethod=test_reporter_with_branches>
      
          def test_reporter_with_branches(self):
              subprocess.call(['coverage', 'run', '--branch', '--omit=**/.tox/*',
                               'runtests.py'], cwd=EXAMPLE_DIR)
              results = Coveralls(repo_token='xxx').get_coverage()
              assert len(results) == 2
          
              # Branches are expressed as four values each in a flat list
              assert not len(results[0]['branches']) % 4
              assert not len(results[1]['branches']) % 4
          
              expected_results = self.make_test_results(with_branches=True)
      >       assert_coverage(results[0], expected_results[0])
      
      /home/runner/work/coveralls-python/coveralls-python/tests/api/reporter_test.py:176: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      actual = {'branches': [5, 0, 6, 1, 5, 0, ...], 'coverage': [1, 1, None, None, 1, None, ...], 'name': 'project.py', 'source': 'd...1:\n        print(\'condition tested both ways\')\n    if cond2:\n        print(\'condition not tested both ways\')\n'}
      expected = {'branches': [13, 0, 14, 1, 13, 0, ...], 'coverage': [1, 1, None, None, 1, None, ...], 'name': 'project.py', 'source':...1:\n        print(\'condition tested both ways\')\n    if cond2:\n        print(\'condition not tested both ways\')\n'}
      
          def assert_coverage(actual, expected):
              assert actual['source'].strip() == expected['source'].strip()
              assert actual['name'] == expected['name']
              assert actual['coverage'] == expected['coverage']
      >       assert actual.get('branches') == expected.get('branches')
      E       assert [5, 0, 6, 1, 5, 0, ...] == [13, 0, 14, 1, 13, 0, ...]
      E         At index 0 diff: 5 != 13
      E         Left contains 8 more items, first extra item: 15
      E         Full diff:
      E         - [13, 0, 14, 1, 13, 0, 15, 1, 15, 0, 16, 1, 15, 0, 12, 0]
      E         + [5, 0, 6, 1, 5, 0, 9, 1, 13, 0, 14, 1, 13, 0, 15, 1, 15, 0, 16, 1, 15, 0, 12, 0]
      E         ?  ++++++++++++++++++++++++
      
      /home/runner/work/coveralls-python/coveralls-python/tests/api/reporter_test.py:16: AssertionError
      ----------------------------- Captured stdout call -----------------------------
      world
      condition not tested both ways
      condition tested both ways
      condition not tested both ways
      =========================== short test summary info ============================
      FAILED tests/api/reporter_test.py::ReporterTest::test_reporter_with_branches
      =================== 1 failed, 71 passed, 1 skipped in 4.23s ====================
      Error: ERROR: InvocationError for command /home/runner/work/coveralls-python/coveralls-python/.tox/py36-cov6-default/bin/coverage run --branch --source=coveralls -m pytest tests/ (exited with code 1)
    

    This is from run https://github.com/TheKevJames/coveralls-python/actions/runs/3765789223/jobs/6401619490

    opened by andy-maier 0
  • coveralls workflow fails on Python 3.5 and 3.6 with ubuntu-latest

    coveralls workflow fails on Python 3.5 and 3.6 with ubuntu-latest

    See for example here: https://github.com/TheKevJames/coveralls-python/actions/runs/3765678072

    This is caused by GitHub Actions having changed ubuntu-latest to now be Ubuntu 22.04, for which it no longer provides Python 3.5 and 3.6.

    This can be fixed by specifying the use of ubuntu-20.04 for Python 3.5 and 3.6.

    opened by andy-maier 1
  • chore(deps): update dependency coverage to v7

    chore(deps): update dependency coverage to v7

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | coverage | >=4.1,<7.0,!=6.0.*,!=6.1,!=6.1.1 -> >=7,<7.1,!=6.0,!=6.1,!=6.1.1 | age | adoption | passing | confidence |


    Release Notes

    nedbat/coveragepy

    v7.0.1

    Compare Source

    • When checking if a file mapping resolved to a file that exists, we weren't considering files in .whl files. This is now fixed, closing issue 1511_.

    • File pattern rules were too strict, forbidding plus signs and curly braces in directory and file names. This is now fixed, closing issue 1513_.

    • Unusual Unicode or control characters in source files could prevent reporting. This is now fixed, closing issue 1512_.

    • The PyPy wheel now installs on PyPy 3.7, 3.8, and 3.9, closing issue 1510_.

    .. _issue 1510:https://github.com/nedbat/coveragepy/issues/15100 .. _issue 1511https://github.com/nedbat/coveragepy/issues/151111 .. _issue 151https://github.com/nedbat/coveragepy/issues/1512512 .. _issue 15https://github.com/nedbat/coveragepy/issues/15131513

    .. _changes_7-0-0:

    v7.0.0

    Compare Source

    Nothing new beyond 7.0.0b1.

    .. _changes_7-0-0b1:


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • tox.rst: update passenv examples for tox3 and tox4

    tox.rst: update passenv examples for tox3 and tox4

    tox4 no longer allows space-separated passenv https://github.com/tox-dev/tox/issues/2615

    however tox3 doesn't support VAR, either

    so to support both versions of tox, use this funky space + comma separated syntax, which really does work.

    opened by masenf 0
Releases(3.3.1)
  • 3.3.1(Nov 11, 2021)

    Bug Fixes

    • correctly support parallel execution on CircleCI (#336) (2610885a)

    Internal

    • exclude a few incompatible coverage versions (#337)

    coverage versions v6.0.0 through v6.1.1 exhibited some incompatibilies with coveralls; we've updated our version compatibility ranges to exclude those versions.

    Source code(tar.gz)
    Source code(zip)
  • 3.3.0(Nov 4, 2021)

    Features

    • cli: add --srcdir option (#306) (4120c540)
    • deps: add support for coverage v6.x (#330) (372443dc, closes #326)

    Note this implicitly improves support for Python 3.10, as coverage v6.x includes some fixes for v3.10 of Python.

    Bug Fixes

    • env: fixup handling of default env service values (#314) (1a0fd9b3, closes #303)

    This solves some edge cases around duplicated / unmerged coverage results in parallel runs.

    Source code(tar.gz)
    Source code(zip)
  • 3.2.0(Jul 20, 2021)

  • 3.1.0(May 24, 2021)

  • 3.0.1(May 24, 2021)

  • 3.0.0(Jan 12, 2021)

    3.0.0 (2021-01-12)

    Features (BREAKING)

    • config: reorder configuration precedence (#249) (f4faa92d)

    We have reversed the order in which configurations are parsed. This means we are now following the following precedence (latest configured value is used):

    1. CI Config
    2. COVERALLS_* env vars
    3. .coveralls.yml file
    4. CLI flags

    If you have the same fields set in multiple of the above locations, please double-check them before upgrading to v3.

    The motivation for this change is allowing users to selectively fix values which may be automatically set to the wrong value. For example, Github Actions users may find that Github Actions expects you to use a different "service name" in various different cases. Now you can run, for example:

     coveralls --service=github
    

    In places where you need to override the default (which is github-actions).

    Bug Fixes

    • github: send null job_id to fix 422 (05b66aa0)
    • api: fixup retries for services without job IDs (6ebdc5e2)
    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(Nov 20, 2020)

    2.2.0 (2020-11-20)

    Features

    • api: add workaround allowing job resubmission (#241)

    Bug Fixes

    • integrations: fixup environment detection for Semaphore CI (#236)
    Source code(tar.gz)
    Source code(zip)
  • 2.1.2(Aug 12, 2020)

    2.1.2 (2020-08-12)

    Features

    • circleci: support parallel builds (#233) (5e05654c) Note: this is partially a fix for the --finish command introduced in v2.1.0, which did not seem to work for some CircleCI users.
    Source code(tar.gz)
    Source code(zip)
  • 2.1.1(Jul 8, 2020)

    2.1.1 (2020-07-08)

    Bug Fixes

    • fix unhashable CoverallsException (#230) (aa55335d) This fixes a regression introduced in v2.1.0 which affected (at least) any Python 3.5 installations.
    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Jul 7, 2020)

  • 2.0.0(Apr 7, 2020)

    2.0.0 (2020-04-07)

    Compatibility (BREAKING CHANGES)

    • We have now dropped support for End-Of-Life'd versions of Python and particularly old versions of the coverage library; if you are still using Python v2.7 or v3.4, or you are using coverage<4.1, this library will no longer be compatible starting from this release -- please pin to coveralls<2.0.0.
    Source code(tar.gz)
    Source code(zip)
  • 1.11.1(Feb 15, 2020)

    1.11.1 (2020-02-15)

    Bug Fixes

    • github: rename to github-actions (9e65a059) This fixes a regression introduced with v1.11.0, which may have prevented usage of this library on Github Actions.
    Source code(tar.gz)
    Source code(zip)
  • 1.11.0(Feb 12, 2020)

    1.11.0 (2020-02-12)

    Fixes

    • github: add service_number for github actions (9f93bd8e) This should fix support for parallel builds.

    Compatibility

    • Python 2.7 and 3.4 are now officially End-Of-Life'd. Consider them deprecated from the perspective of this package -- we'll remove them in an upcoming release (likely the first one which requires non-trivial work to continue supporting them!).
    Source code(tar.gz)
    Source code(zip)
  • 1.10.0(Dec 31, 2019)

  • 1.9.2(Dec 3, 2019)

  • 1.9.1(Dec 3, 2019)

    1.9.1 (2019-12-03)

    Compatibility

    • this release marks Python 3.8 as officially supported. Earlier versions probably supported Python 3.8 too, but now we're sure.
    Source code(tar.gz)
    Source code(zip)
  • 1.9.0(Dec 3, 2019)

    1.9.0 (2019-12-03)

    Features

    • support: support Github Actions CI (#207)

    Bug Fixes

    • compatibility: fixup coverage.__version__ comparisons (#208)
    Source code(tar.gz)
    Source code(zip)
  • 1.8.2(Jul 29, 2019)

  • 1.8.1(Jun 16, 2019)

    1.8.1 (2019-06-16)

    Bug Fixes

    • dependencies: pin coverage to < 5.0, since the current 5.0 alphas are introducing breaking changes. Once 5.0 is stable, we'll remove the pin.
    Source code(tar.gz)
    Source code(zip)
  • 1.8.0(Jun 2, 2019)

  • 1.7.0(Mar 20, 2019)

  • 1.6.0(Feb 18, 2019)

  • 1.5.1(Sep 28, 2018)

    1.5.1 (2018-09-28)

    Features

    • git: omit git info when git isn't installed (#187) (764956ea)
      • ... instead of erroring. The fixes the v1.4.0 release of "supporting non-git repos" when the git binary is not installed.
      • Note that commit info can still be set with env vars, even in non-git repositories -- see the docs for more info!

    Compatibility

    • python: include python 3.7 in matrix tests (023d474)
      • previous versions of coveralls-python should be compatible with Python 3.7, no code changes were required to make tests pass

    Internal

    • remove pytest-runner as a dependency (#185) (4cbbfcd)
    Source code(tar.gz)
    Source code(zip)
  • 1.5.0(Aug 31, 2018)

  • 1.4.0(Aug 24, 2018)

    1.4.0 (2018-08-24)

    Performance

    • git: call fallback git commands in fallback cases only (e42095b4)

    Features

    • env: support git env vars (#182) (a1918e89)
      • This change also adds support for non-git repos.
    • flags: add ability to add named job (#181) (f7ba07bf)

    Compatibility

    • python: drop support for Python 3.3 (dcb06fc1)
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0(Mar 2, 2018)

    1.3.0 (2018-03-02)

    Features

    • ci: add Travis PR support (#162) (baf683ee)
    • cli: allow service_name override from cli flag or env var (#167) (e8a98904)
    • coveralls-enterprise: add support for coveralls enterprise (#166) (7383f377)
    • git: silently omit git data when git is unavailable (#176) (f9db83cd)
    • jenkins:
      • add logic to parse CI_PULL_REQUEST env variable (#171) (34a037f5)
      • add support for jenkins (#160) (4e8cd9ec)
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Aug 16, 2017)

Test django schema and data migrations, including migrations' order and best practices.

django-test-migrations Features Allows to test django schema and data migrations Allows to test both forward and rollback migrations Allows to test th

wemake.services 382 Dec 27, 2022
Green is a clean, colorful, fast python test runner.

Green -- A clean, colorful, fast python test runner. Features Clean - Low redundancy in output. Result statistics for each test is vertically aligned.

Nathan Stocks 756 Dec 22, 2022
Command line driven CI frontend and development task automation tool.

tox automation project Command line driven CI frontend and development task automation tool At its core tox provides a convenient way to run arbitrary

tox development team 3.1k Jan 04, 2023
Test for generating stylized circuit traces from images

I test of an image processing idea to take an image and make neat circuit board art automatically. Inspired by this twitter post by @JackRhysider

Miller Hooks 3 Dec 12, 2022
CNE-OVS-SIT - OVS System Integration Test Suite

CNE-OVS-SIT - OVS System Integration Test Suite Introduction User guide Discussion Introduction CNE-OVS-SIT is a test suite for OVS end-to-end functio

4 Jan 09, 2022
A simple python script that uses selenium(chrome web driver),pyautogui,time and schedule modules to enter google meets automatically

A simple python script that uses selenium(chrome web driver),pyautogui,time and schedule modules to enter google meets automatically

3 Feb 07, 2022
This is a web test framework based on python+selenium

Basic thoughts for this framework There should have a BasePage.py to be the parent page and all the page object should inherit this class BasePage.py

Cactus 2 Mar 09, 2022
Just a small test with lists in cython

Test for lists in cython Algorithm create a list of 10^4 lists each with 10^4 floats values (namely: 0.1) - 2 nested for iterate each list and compute

Federico Simonetta 32 Jul 23, 2022
py.test fixture for benchmarking code

Overview docs tests package A pytest fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer. See c

Ionel Cristian Mărieș 1k Jan 03, 2023
The Good Old Days. | Testing Out A New Module-

The-Good-Old-Days. The Good Old Days. | Testing Out A New Module- Installation Asciimatics supports Python versions 2 & 3. For the precise list of tes

Syntax. 2 Jun 08, 2022
Sixpack is a language-agnostic a/b-testing framework

Sixpack Sixpack is a framework to enable A/B testing across multiple programming languages. It does this by exposing a simple API for client libraries

1.7k Dec 24, 2022
This is a simple software for fetching new changes to remote repositories automatically.

Git Autofetch Git Autofetch is a simple software for fetching new changes from a repo to local repositories after a set time interval. This program is

Shreyas Ashtamkar 10 Jul 21, 2022
Fidelipy - Semi-automated trading on fidelity.com

fidelipy fidelipy is a simple Python 3.7+ library for semi-automated trading on fidelity.com. The scope is limited to the Trade Stocks/ETFs simplified

Darik Harter 8 May 10, 2022
Automated tests for OKAY websites in Python (Selenium) - user friendly version

Okay Selenium Testy Aplikace určená k testování produkčních webů společnosti OKAY s.r.o. Závislosti K běhu aplikace je potřeba mít v počítači nainstal

Viktor Bem 0 Oct 01, 2022
Hypothesis is a powerful, flexible, and easy to use library for property-based testing.

Hypothesis Hypothesis is a family of testing libraries which let you write tests parametrized by a source of examples. A Hypothesis implementation the

Hypothesis 6.4k Jan 05, 2023
Selenium Page Object Model with Python

Page-object-model (POM) is a pattern that you can apply it to develop efficient automation framework.

Mohammad Ifran Uddin 1 Nov 29, 2021
This project is used to send a screenshot by email of your MyUMons schedule using Selenium python lib (headless mode)

MyUMonsSchedule Use MyUMonsSchedule python script to send a screenshot by email (Gmail) of your MyUMons schedule. If you use it on Windows, take care

Pierre-Louis D'Agostino 6 May 12, 2022
hCaptcha solver and bypasser for Python Selenium. Simple website to try to solve hCaptcha.

hCaptcha solver for Python Selenium. Many thanks to engageub for his hCaptcha solver userscript. This script is solely intended for the use of educati

Maxime Dréan 59 Dec 25, 2022
PENBUD is penetration testing buddy which helps you in penetration testing by making various important tools interactive.

penbud - Penetration Tester Buddy PENBUD is penetration testing buddy which helps you in penetration testing by making various important tools interac

Himanshu Shukla 15 Feb 01, 2022
XSSearch - A comprehensive reflected XSS tool built on selenium framework in python

XSSearch A Comprehensive Reflected XSS Scanner XSSearch is a comprehensive refle

Sathyaprakash Sahoo 49 Oct 18, 2022