From 2a1618718714ba77da6581953ebd0bc3f5e79ff2 Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Wed, 7 Oct 2020 11:59:19 -0700 Subject: [PATCH 01/14] testing rebin on integer inputs --- pydl/rebin.py | 9 +++-- pydl/tests/test_pydl.py | 80 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 2 deletions(-) diff --git a/pydl/rebin.py b/pydl/rebin.py index 4969da94..9e42c07d 100644 --- a/pydl/rebin.py +++ b/pydl/rebin.py @@ -72,8 +72,8 @@ def rebin(x, d, sample=False): sliceobj0 = [slice(None)]*len(d0) sliceobj1 = [slice(None)]*len(d0) sliceobj = [slice(None)]*len(d) - f = d0[k]/d[k] if d[k] > d0[k]: + f = d0[k]/d[k] for i in range(d[k]): p = f*i fp = int(floor(p)) @@ -97,6 +97,7 @@ def rebin(x, d, sample=False): sliceobj[k] = slice(i, i + 1) r[tuple(sliceobj)] = xx[tuple(sliceobj0)] else: + f = d0[k]//d[k] for i in range(d[k]): sliceobj[k] = slice(i, i + 1) if sample: @@ -106,6 +107,10 @@ def rebin(x, d, sample=False): else: sliceobj0[k] = slice(int(f*i), int(f*(i+1))) rshape = r[tuple(sliceobj)].shape - r[tuple(sliceobj)] = xx[tuple(sliceobj0)].sum(k).reshape(rshape)/f + rr = xx[tuple(sliceobj0)].sum(k).reshape(rshape) + if xx.dtype.kind == 'u' or xx.dtype.kind == 'i': + r[tuple(sliceobj)] = rr//f + else: + r[tuple(sliceobj)] = rr/f xx = r return r diff --git a/pydl/tests/test_pydl.py b/pydl/tests/test_pydl.py index 5a23a4d6..f1ca564e 100644 --- a/pydl/tests/test_pydl.py +++ b/pydl/tests/test_pydl.py @@ -162,6 +162,86 @@ def test_rebin(): assert np.allclose(r, rexpect) +@pytest.mark.xfail +def test_rebin_int(): + """Test rebin on integers. Comparing to IDL code similar to this:: + + IDL> seed = 100 + IDL> array = FIX(RANDOMN(seed, 10, 20) * 100, TYPE=1) ; UINT8 + IDL> array_rebin = REBIN(array, 5, 10) + """ + array = np.array([[188, 186, 25, 212, 34, 98, 3, 235, 155, 148], + [107, 166, 4, 41, 101, 190, 39, 154, 153, 239], + [135, 181, 92, 161, 213, 136, 35, 61, 80, 164], + [123, 248, 8, 157, 96, 118, 99, 1, 109, 246], + [226, 71, 183, 27, 46, 99, 8, 239, 66, 25], + [ 27, 219, 37, 130, 5, 81, 65, 250, 96, 14], + [ 71, 157, 156, 136, 47, 225, 247, 191, 49, 12], + [231, 133, 9, 38, 243, 2, 235, 145, 23, 22], + [146, 38, 49, 89, 42, 57, 220, 214, 135, 47], + [101, 116, 122, 209, 141, 37, 158, 224, 245, 82], + [ 15, 47, 51, 250, 207, 193, 209, 228, 110, 1], + [ 59, 232, 216, 224, 24, 118, 190, 10, 107, 27], + [ 84, 193, 112, 206, 113, 171, 138, 117, 244, 20], + [ 5, 31, 128, 214, 200, 119, 59, 27, 57, 10], + [226, 71, 177, 85, 0, 68, 54, 207, 141, 250], + [ 52, 119, 121, 177, 165, 99, 68, 29, 137, 200], + [172, 91, 181, 187, 87, 250, 45, 154, 58, 83], + [ 56, 175, 189, 35, 203, 223, 243, 187, 252, 97], + [186, 172, 207, 128, 61, 231, 89, 57, 131, 222], + [206, 96, 29, 60, 3, 8, 221, 55, 60, 17]], dtype=np.uint8) + array_rebin = np.array([[161, 70, 105, 107, 173], + [171, 104, 140, 49, 149], + [135, 94, 57, 140, 50], + [148, 84, 129, 204, 26], + [100, 117, 69, 204, 127], + [ 88, 185, 135, 159, 61], + [ 78, 165, 150, 85, 82], + [116, 140, 83, 89, 181], + [123, 148, 190, 157, 122], + [165, 105, 75, 105, 107]], dtype=np.uint8) + + ar = rebin(array, (10, 5)) + assert (array_rebin == ar).all() + + +def test_rebin_int_sample(): + """Similar to test_rebin_int(), but using the sample option. + """ + array = np.array([[188, 186, 25, 212, 34, 98, 3, 235, 155, 148], + [107, 166, 4, 41, 101, 190, 39, 154, 153, 239], + [135, 181, 92, 161, 213, 136, 35, 61, 80, 164], + [123, 248, 8, 157, 96, 118, 99, 1, 109, 246], + [226, 71, 183, 27, 46, 99, 8, 239, 66, 25], + [ 27, 219, 37, 130, 5, 81, 65, 250, 96, 14], + [ 71, 157, 156, 136, 47, 225, 247, 191, 49, 12], + [231, 133, 9, 38, 243, 2, 235, 145, 23, 22], + [146, 38, 49, 89, 42, 57, 220, 214, 135, 47], + [101, 116, 122, 209, 141, 37, 158, 224, 245, 82], + [ 15, 47, 51, 250, 207, 193, 209, 228, 110, 1], + [ 59, 232, 216, 224, 24, 118, 190, 10, 107, 27], + [ 84, 193, 112, 206, 113, 171, 138, 117, 244, 20], + [ 5, 31, 128, 214, 200, 119, 59, 27, 57, 10], + [226, 71, 177, 85, 0, 68, 54, 207, 141, 250], + [ 52, 119, 121, 177, 165, 99, 68, 29, 137, 200], + [172, 91, 181, 187, 87, 250, 45, 154, 58, 83], + [ 56, 175, 189, 35, 203, 223, 243, 187, 252, 97], + [186, 172, 207, 128, 61, 231, 89, 57, 131, 222], + [206, 96, 29, 60, 3, 8, 221, 55, 60, 17]], dtype=np.uint8) + array_sample = np.array([[188, 25, 34, 3, 155], + [135, 92, 213, 35, 80], + [226, 183, 46, 8, 66], + [ 71, 156, 47, 247, 49], + [146, 49, 42, 220, 135], + [ 15, 51, 207, 209, 110], + [ 84, 112, 113, 138, 244], + [226, 177, 0, 54, 141], + [172, 181, 87, 45, 58], + [186, 207, 61, 89, 131]], dtype=np.uint8) + ars = rebin(array, (10, 5), sample=True) + assert (array_sample == ars).all() + + def test_smooth(): test_data_file = get_pkg_data_filename('t/smooth_data.txt') noise = np.loadtxt(test_data_file, dtype='d') From 5c11040d9706d6439188757e96712b1dd5e27208 Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Wed, 7 Oct 2020 12:07:36 -0700 Subject: [PATCH 02/14] fix import --- pydl/tests/test_pydl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pydl/tests/test_pydl.py b/pydl/tests/test_pydl.py index f1ca564e..1a386888 100644 --- a/pydl/tests/test_pydl.py +++ b/pydl/tests/test_pydl.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- """Test the top-level pydl functions. """ -# import pytest +import pytest import numpy as np try: from astropy.tests.compat import assert_allclose From 6826834b18329d7c870c903e2d2ef23d64f3fe40 Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 15:46:41 -0700 Subject: [PATCH 03/14] transition to github actions --- .github/workflows/ci_cron_weekly.yml | 27 +++++++++ .github/workflows/ci_tests.yml | 86 ++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 .github/workflows/ci_cron_weekly.yml create mode 100644 .github/workflows/ci_tests.yml diff --git a/.github/workflows/ci_cron_weekly.yml b/.github/workflows/ci_cron_weekly.yml new file mode 100644 index 00000000..d2f5d06c --- /dev/null +++ b/.github/workflows/ci_cron_weekly.yml @@ -0,0 +1,27 @@ +# GitHub Actions workflow that runs on a cron schedule. + +name: Cron Scheduled CI Tests + +on: + schedule: + # run at 6am UTC on Mondays + - cron: '0 6 * * 1' + +jobs: + # Testing links in documents is a good example of something to run on a schedule + # to catch links that stop working for some reason. + doc_test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python to build docs with sphinx + uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Install base dependencies + run: | + python -m pip install --upgrade pip + python -m pip install tox + - name: Check links in docs using tox + run: | + tox -e linkcheck diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml new file mode 100644 index 00000000..a6163490 --- /dev/null +++ b/.github/workflows/ci_tests.yml @@ -0,0 +1,86 @@ +# GitHub Actions workflow for testing and continuous integration. +# +# This file performs testing using tox and tox.ini to define and configure the test environments. + +name: CI Tests + +on: + push: + branches: + - master # GitHub now defaults to 'main' as the name of the primary branch. Change this as needed. + # tags: # run CI if specific tags are pushed + pull_request: + # branches: # only build on PRs against 'main' if you need to further limit when CI is run. + # - main + +jobs: + # Github Actions supports ubuntu, windows, and macos virtual environments: + # https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners + ci_tests: + name: ${{ matrix.name }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - name: Code style checks + os: ubuntu-latest + python: 3.x + toxenv: codestyle + + - name: Python 3.7 with minimal dependencies + os: ubuntu-latest + python: 3.7 + toxenv: py37-test + + - name: Python 3.8 with all optional dependencies and coverage checking + os: ubuntu-latest + python: 3.8 + toxenv: py38-test-alldeps-cov + + - name: OS X - Python 3.8 with all optional dependencies + os: macos-latest + python: 3.8 + toxenv: py38-test-alldeps + + - name: Windows - Python 3.8 with all optional dependencies + os: windows-latest + python: 3.8 + toxenv: py38-test-alldeps + + # - name: Python 3.7 with oldest supported version of all dependencies + # os: ubuntu-16.04 + # python: 3.7 + # toxenv: py37-test-oldestdeps + + # - name: Python 3.8 with latest dev versions of key dependencies + # os: ubuntu-latest + # python: 3.8 + # toxenv: py38-test-devdeps + + - name: Test building of Sphinx docs + os: ubuntu-latest + python: 3.8 + toxenv: build_docs + + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up python ${{ matrix.python }} on ${{ matrix.os }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: Install base dependencies + run: | + python -m pip install --upgrade pip + python -m pip install tox codecov + - name: Test with tox + run: | + tox -e ${{ matrix.toxenv }} + # This is an example of how to upload coverage to codecov + # - name: Upload coverage to codecov + # if: "contains(matrix.toxenv, '-cov')" + # uses: codecov/codecov-action@v1 + # with: + # file: ./coverage.xml From 3fee4bf0eb79966d6f257f501962f174cdc0d1d7 Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 15:55:43 -0700 Subject: [PATCH 04/14] install graphviz --- .github/workflows/ci_tests.yml | 3 +++ .gitignore | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index a6163490..a0610b42 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -75,6 +75,9 @@ jobs: run: | python -m pip install --upgrade pip python -m pip install tox codecov + - name: Install graphviz dependency + if: "endsWith(matrix.tox_env, 'build_docs')" + run: sudo apt-get -y install graphviz - name: Test with tox run: | tox -e ${{ matrix.toxenv }} diff --git a/.gitignore b/.gitignore index c5a94961..b0663e1c 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,9 @@ docs/_build .floo .flooignore +# Visual Studio Code project files +.vscode + # Packages/installer info *.egg *.egg-info From 75e0ed7af7474957130edb61751e97236b826a42 Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 15:59:09 -0700 Subject: [PATCH 05/14] fix environment name --- .github/workflows/ci_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index a0610b42..0279fec1 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -76,7 +76,7 @@ jobs: python -m pip install --upgrade pip python -m pip install tox codecov - name: Install graphviz dependency - if: "endsWith(matrix.tox_env, 'build_docs')" + if: "endsWith(matrix.toxenv, 'build_docs')" run: sudo apt-get -y install graphviz - name: Test with tox run: | From 23cf7fce7291811d0161355461b19e983b92a234 Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 16:05:44 -0700 Subject: [PATCH 06/14] add warning section --- pydl/rebin.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pydl/rebin.py b/pydl/rebin.py index 9e42c07d..a311ee9b 100644 --- a/pydl/rebin.py +++ b/pydl/rebin.py @@ -35,6 +35,15 @@ def rebin(x, d, sample=False): :exc:`ValueError` If the new dimensions are incompatible with the algorithm. + Warnings + -------- + This function may not be 100% compatible with the IDL version + *for integer inputs*. It is not possible at present to examine the details + of the IDL code to determine the exact type manipulation that are used. + For further discussion see Issue `#60`_. + + .. _`#60`: https://github.com/weaverba137/pydl/issues/60 + References ---------- http://www.harrisgeospatial.com/docs/rebin.html From acd9625ded60a3544b3dde2f9e85f69581c5201e Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 16:13:20 -0700 Subject: [PATCH 07/14] add coveralls stage --- .github/workflows/ci_tests.yml | 14 +++++++++----- docs/changes.rst | 5 ++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 0279fec1..607e7a11 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -82,8 +82,12 @@ jobs: run: | tox -e ${{ matrix.toxenv }} # This is an example of how to upload coverage to codecov - # - name: Upload coverage to codecov - # if: "contains(matrix.toxenv, '-cov')" - # uses: codecov/codecov-action@v1 - # with: - # file: ./coverage.xml + - name: Upload coverage to Coveralls + if: "contains(matrix.toxenv, '-cov')" + env: + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: coveralls + # uses: codecov/codecov-action@v1 + # with: + # file: ./coverage.xml diff --git a/docs/changes.rst b/docs/changes.rst index 6e9bdf23..e85b4ce1 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -5,7 +5,10 @@ PyDL Changelog 1.0.0rc2 (unreleased) --------------------- -* No changes yet. +* Document behavior of :func:`pydl.rebin` for integer inputs; begin migration + to GitHub Actions for CI. (PR `#61`_) + +.. _`#61`: https://github.com/weaverba137/pydl/pull/61 1.0.0rc1 (2020-04-28) --------------------- From 915d24d91723e2a7a7c0ce175f56ada4e5be077d Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 16:15:33 -0700 Subject: [PATCH 08/14] install coveralls --- .github/workflows/ci_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 607e7a11..2dc29502 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -74,7 +74,7 @@ jobs: - name: Install base dependencies run: | python -m pip install --upgrade pip - python -m pip install tox codecov + python -m pip install tox coveralls - name: Install graphviz dependency if: "endsWith(matrix.toxenv, 'build_docs')" run: sudo apt-get -y install graphviz From 6ebef044bbf13cf9153feeac24e4f95d632affee Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 16:25:25 -0700 Subject: [PATCH 09/14] try coveralls inside tox --- .github/workflows/ci_tests.yml | 12 ++++++------ tox.ini | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 2dc29502..fcceca4b 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -82,12 +82,12 @@ jobs: run: | tox -e ${{ matrix.toxenv }} # This is an example of how to upload coverage to codecov - - name: Upload coverage to Coveralls - if: "contains(matrix.toxenv, '-cov')" - env: - COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: coveralls + # - name: Upload coverage to Coveralls + # if: "contains(matrix.toxenv, '-cov')" + # env: + # COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # run: coveralls # uses: codecov/codecov-action@v1 # with: # file: ./coverage.xml diff --git a/tox.ini b/tox.ini index 58140ac3..574a660b 100644 --- a/tox.ini +++ b/tox.ini @@ -23,7 +23,7 @@ isolated_build = true pypi_filter = https://raw.githubusercontent.com/astropy/ci-helpers/master/pip_pinnings.txt # Pass through the following environment variables which may be needed for the CI -passenv = HOME WINDIR LC_ALL LC_CTYPE CC CI TRAVIS +passenv = HOME WINDIR LC_ALL LC_CTYPE CC CI GITHUB_* COVERALLS_* # Run the tests in a temporary directory to make sure that we don't import # this package from the source tree @@ -52,6 +52,7 @@ description = # The following provides some specific pinnings for key packages deps = + cov: coveralls numpy116: numpy==1.16.* numpy117: numpy==1.17.* @@ -73,6 +74,7 @@ commands = pip freeze !cov: pytest --pyargs pydl {toxinidir}/docs {posargs} cov: pytest --pyargs pydl {toxinidir}/docs --cov pydl --cov-config={toxinidir}/setup.cfg {posargs} + cov: coveralls [testenv:astropy20] description = run tests with astropy2.0.* From 423735a1512c3e562c506daec8f6f11c6bcef33a Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 16:28:18 -0700 Subject: [PATCH 10/14] fix env variables --- .github/workflows/ci_tests.yml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index fcceca4b..7e89e003 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -79,15 +79,8 @@ jobs: if: "endsWith(matrix.toxenv, 'build_docs')" run: sudo apt-get -y install graphviz - name: Test with tox + env: + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | tox -e ${{ matrix.toxenv }} - # This is an example of how to upload coverage to codecov - # - name: Upload coverage to Coveralls - # if: "contains(matrix.toxenv, '-cov')" - # env: - # COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # run: coveralls - # uses: codecov/codecov-action@v1 - # with: - # file: ./coverage.xml From 4d87e88eab4a7cb24ef7526eb4fa167a29d157ca Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 16:39:23 -0700 Subject: [PATCH 11/14] coveralls options --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 574a660b..2b5bfdc4 100644 --- a/tox.ini +++ b/tox.ini @@ -74,7 +74,7 @@ commands = pip freeze !cov: pytest --pyargs pydl {toxinidir}/docs {posargs} cov: pytest --pyargs pydl {toxinidir}/docs --cov pydl --cov-config={toxinidir}/setup.cfg {posargs} - cov: coveralls + cov: coveralls --verbose --rcfile={toxinidir}/setup.cfg --base_dir={toxinidir} [testenv:astropy20] description = run tests with astropy2.0.* From 61531c44537e97682927ff7c3d4754684a9c3800 Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 16:42:40 -0700 Subject: [PATCH 12/14] coveralls options --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 2b5bfdc4..62c4abab 100644 --- a/tox.ini +++ b/tox.ini @@ -74,7 +74,7 @@ commands = pip freeze !cov: pytest --pyargs pydl {toxinidir}/docs {posargs} cov: pytest --pyargs pydl {toxinidir}/docs --cov pydl --cov-config={toxinidir}/setup.cfg {posargs} - cov: coveralls --verbose --rcfile={toxinidir}/setup.cfg --base_dir={toxinidir} + cov: coveralls --verbose --config_file={toxinidir}/setup.cfg --base_dir={toxinidir} [testenv:astropy20] description = run tests with astropy2.0.* From 9f2c44bb1533a0a21cfd1fab82f3571b735a8f1b Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 16:47:37 -0700 Subject: [PATCH 13/14] coveralls debug --- setup.cfg | 1 + tox.ini | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index d9cb4256..86c705a8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -65,6 +65,7 @@ text_file_format = rst addopts = --doctest-rst [coverage:run] +relative_files = True omit = pydl/_astropy_init* pydl/conftest.py diff --git a/tox.ini b/tox.ini index 62c4abab..e2da9304 100644 --- a/tox.ini +++ b/tox.ini @@ -74,7 +74,7 @@ commands = pip freeze !cov: pytest --pyargs pydl {toxinidir}/docs {posargs} cov: pytest --pyargs pydl {toxinidir}/docs --cov pydl --cov-config={toxinidir}/setup.cfg {posargs} - cov: coveralls --verbose --config_file={toxinidir}/setup.cfg --base_dir={toxinidir} + cov: coveralls debug [testenv:astropy20] description = run tests with astropy2.0.* From 0a76669414f3e8660d41b0aa31f905ad2f0b9532 Mon Sep 17 00:00:00 2001 From: Benjamin Alan Weaver Date: Mon, 22 Mar 2021 16:59:51 -0700 Subject: [PATCH 14/14] coveralls debug --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index e2da9304..574a660b 100644 --- a/tox.ini +++ b/tox.ini @@ -74,7 +74,7 @@ commands = pip freeze !cov: pytest --pyargs pydl {toxinidir}/docs {posargs} cov: pytest --pyargs pydl {toxinidir}/docs --cov pydl --cov-config={toxinidir}/setup.cfg {posargs} - cov: coveralls debug + cov: coveralls [testenv:astropy20] description = run tests with astropy2.0.*