diff --git a/.github/workflows/test-changes.yml b/.github/workflows/test-changes.yml index dc921e42..802dbceb 100644 --- a/.github/workflows/test-changes.yml +++ b/.github/workflows/test-changes.yml @@ -37,8 +37,7 @@ jobs: steps: - name: Determine what scope of testing is available on ${{ matrix.os }} if: | - matrix.python >= '3.6' && matrix.python != '3.9' && matrix.python != '3.10' && - (matrix.os != 'windows-latest' || matrix.python == '3.8') + (matrix.python >= '3.' ) && ( matrix.os != 'windows-latest' ) run: | echo 'testing=full' >> $GITHUB_ENV @@ -59,7 +58,7 @@ jobs: - name: Install test dependencies run: | python -m pip install --upgrade pip - python -m pip install -r requirements-tests.txt + python -m pip install --prefer-binary -r requirements-tests.txt - name: Setup environment variables for remote filesystem testing if: matrix.os == 'ubuntu-latest' && matrix.python == '3.8' @@ -69,7 +68,7 @@ jobs: echo "Setup SFTP environment variable to trigger testing in Petl" echo 'PETL_TEST_SFTP=sftp://petl:test@localhost:2244/public/' >> $GITHUB_ENV echo "::group::Install remote test dependencies" - python -m pip install -r requirements-remote.txt + python -m pip install --prefer-binary -r requirements-remote.txt echo "::endgroup::" - name: Install optinal test dependencies for mode ${{ env.testing }} @@ -105,7 +104,7 @@ jobs: docker run -it --name postgres -p 5432:5432 -e POSTGRES_DB=petl -e POSTGRES_USER=petl -e POSTGRES_PASSWORD=test -d postgres:latest echo "::endgroup::" echo "::group::Install database test dependencies" - python -m pip install -r requirements-database.txt + python -m pip install --prefer-binary -r requirements-database.txt echo "::endgroup::" - name: Setup petl package @@ -119,10 +118,10 @@ jobs: if: env.testing == 'full' run: | echo "::group::Install extra packages test dependencies" - python -m pip install -r requirements-formats.txt + python -m pip install --prefer-binary -r requirements-formats.txt echo "::endgroup::" - echo "::group::Perform doc test execution with coverage" - pytest --cov=petl petl + echo "::group::Perform doctest-modules execution with coverage" + pytest --doctest-modules --ignore-glob='*_py2.py' --ignore-glob='petl/io/db.py' --cov=petl petl echo "::endgroup::" - name: Coveralls @@ -154,7 +153,7 @@ jobs: - name: Install doc generation dependencies run: | - python -m pip install -r requirements-docs.txt + python -m pip install --prefer-binary -r requirements-docs.txt - name: Setup petl package run: python setup.py build diff --git a/pytest.ini b/pytest.ini index a8ca65f4..f9f044da 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,2 +1,3 @@ [pytest] log_level=DEBUG +doctest_optionflags = NORMALIZE_WHITESPACE ALLOW_UNICODE diff --git a/requirements-formats.txt b/requirements-formats.txt index 4480827d..767d87ea 100644 --- a/requirements-formats.txt +++ b/requirements-formats.txt @@ -5,6 +5,7 @@ intervaltree==3.0.2 lxml==4.6.5 openpyxl==2.6.2 pandas<=1.1.2,>=0.24.2 ; python_version < '3.9' +pandas ; python_version >= '3.9' tables Whoosh==2.7.4 xlrd==2.0.1