From 249ff3aa317a5ca246c2d3e06833f9f720a315be Mon Sep 17 00:00:00 2001 From: Tomaz Muraus Date: Mon, 31 Jul 2023 18:49:51 +0200 Subject: [PATCH] Enable pytest colors without script -c -e "" wrapper. --- .github/workflows/integration-tests.yml | 7 ++++++- .github/workflows/main.yml | 15 ++++++++++----- tox.ini | 8 ++++---- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 1183e7bd04..9f61f1ba3a 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -16,6 +16,11 @@ permissions: actions: write # Needed for skip-duplicate-jobs job contents: read +env: + # Needed if we want colors in pytest output without tty and script -e -c wrapper + PY_COLORS: "1" + FORCE_COLOR: "1" + jobs: # Special job which skips duplicate jobs pre_job: @@ -80,7 +85,7 @@ jobs: - name: Run tox target run: | - script -e -c "tox -e integration-storage" + tox -e integration-storage env: AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e3f70249b6..cf03c62dda 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,6 +14,11 @@ permissions: actions: write # Needed for skip-duplicate-jobs job contents: read +env: + # Needed if we want colors in pytest output without tty and script -e -c wrapper + PY_COLORS: "1" + FORCE_COLOR: "1" + jobs: # Special job which skips duplicate jobs pre_job: @@ -167,7 +172,7 @@ jobs: - name: Run Checks run: | - script -e -c "tox -e coverage-ci" + tox -e coverage-ci - name: Upload Coverage to codecov.io uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 @@ -215,7 +220,7 @@ jobs: - name: Run Checks run: | - script -e -c "tox -e black-check,isort-check,pyupgrade,checks,import-timings,lint,pylint" + tox -e black-check,isort-check,pyupgrade,checks,import-timings,lint,pylint build_test_docker_image: name: Build and Verify Docker Image @@ -311,7 +316,7 @@ jobs: - name: Run Bandit Check run: | - script -e -c "tox -e bandit" + tox -e bandit micro-benchmarks: name: Micro Benchmarks @@ -353,7 +358,7 @@ jobs: - name: Run Micro Benchmarks run: | - script -e -c "tox -e micro-benchmarks" + tox -e micro-benchmarks docs: name: Build and upload Documentation @@ -400,7 +405,7 @@ jobs: - name: Build Docs run: | - script -e -c "tox -e docs-ci" + tox -e docs-ci - name: Trigger ReadTheDocs build env: diff --git a/tox.ini b/tox.ini index 125cb44ea4..4ceeee4e0c 100644 --- a/tox.ini +++ b/tox.ini @@ -39,7 +39,7 @@ setenv = # python setup.py test # for pytest-xdist, we want to distribute tests by file aka --dist loadfile commands = cp libcloud/test/secrets.py-dist libcloud/test/secrets.py - pytest -rsx -vvv --capture=tee-sys -o log_cli=True --durations=10 --timeout=15 -n auto --dist loadfile --ignore libcloud/test/benchmarks/ --ignore-glob "*test_list_objects_filtering_performance*" + pytest --color=yes -rsx -vvv --capture=tee-sys -o log_cli=True --durations=10 --timeout=15 -n auto --dist loadfile --ignore libcloud/test/benchmarks/ --ignore-glob "*test_list_objects_filtering_performance*" [testenv:py3.6-dist] # Verify library installs without any dependencies when using python setup.py @@ -320,7 +320,7 @@ setenv = deps = -r{toxinidir}/requirements-tests.txt -r{toxinidir}/integration/storage/requirements.txt -commands = pytest -rsx -vvv --capture=tee-sys -o log_cli=True --durations=10 integration/storage +commands = pytest --color=yes -rsx -vvv --capture=tee-sys -o log_cli=True --durations=10 integration/storage [testenv:coverage] deps = @@ -387,8 +387,8 @@ commands = [testenv:micro-benchmarks] commands = cp libcloud/test/secrets.py-dist libcloud/test/secrets.py - pytest -s -v --timeout 60 --benchmark-only --benchmark-name=short --benchmark-columns=min,max,mean,stddev,median,ops,rounds --benchmark-histogram=benchmark_histograms/benchmark --benchmark-group-by=group,param:sort_objects libcloud/test/benchmarks/test_list_objects_filtering_performance.py - pytest -s -v --timeout 60 --benchmark-only --benchmark-name=short --benchmark-columns=min,max,mean,stddev,median,ops,rounds --benchmark-histogram=benchmark_histograms/benchmark --benchmark-group-by=group,func,param:read_in_chunks_func libcloud/test/benchmarks/test_read_in_chunks.py + pytest --color=yes -s -v --timeout 60 --benchmark-only --benchmark-name=short --benchmark-columns=min,max,mean,stddev,median,ops,rounds --benchmark-histogram=benchmark_histograms/benchmark --benchmark-group-by=group,param:sort_objects libcloud/test/benchmarks/test_list_objects_filtering_performance.py + pytest --color=yes -s -v --timeout 60 --benchmark-only --benchmark-name=short --benchmark-columns=min,max,mean,stddev,median,ops,rounds --benchmark-histogram=benchmark_histograms/benchmark --benchmark-group-by=group,func,param:read_in_chunks_func libcloud/test/benchmarks/test_read_in_chunks.py [testenv:import-timings] setenv =