diff --git a/.github/workflows/dev-test.yml b/.github/workflows/dev-test.yml index c7fd7e5..6eecfbd 100644 --- a/.github/workflows/dev-test.yml +++ b/.github/workflows/dev-test.yml @@ -36,13 +36,13 @@ jobs: - name: Test with pytest run: | - python -m pytest -vv --cov=. --cov-report=xml + python -m pytest -vv --cov=. --cov-report=json - name: Upload coverage report uses: actions/upload-artifact@v4 with: name: coverage-${{ matrix.os }}-${{ matrix.python-version }} - path: coverage.xml + path: coverage.json coverage: needs: tests @@ -55,11 +55,5 @@ jobs: with: path: coverage-reports - - name: Install lcov - run: sudo apt-get install lcov - - - name: Merge coverage reports - run: 'lcov $(find coverage-reports -name "*xml" | while read -r F ; do echo -a $F ; done) -o coverage-merged.info' - - name: Check coverage - run: lcov --summary coverage-merged.info + run: python3 check_coverage_reports.py --inp-dir coverage-reports --max-allowed-num-uncovered-lines 0 diff --git a/tests/test_core.py b/tests/test_core.py index dd1ce80..d5ec577 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -17,6 +17,31 @@ def check_(**kwargs): return check_ +def test_replace(): + fmt = Format( + max_value_str_len=1, + objects_details=1, + ellipsis_rel_pos=0.5, + max_exc_str_len=1, + ellipsis_='.', + before=1, + after=1, + color_scheme=None, + skip_files_except=[], + brief_files_except=[], + custom_var_printers=[], + ) + fmt2 = fmt.replace( + before=2, + skip_files_except=['f1', 'f2'], + ) + assert fmt.max_value_str_len == fmt.max_value_str_len + assert fmt2.before == 2 + assert fmt.before == 1 + assert fmt2.skip_files_except == ['f1', 'f2'] + assert fmt.skip_files_except == [] + + def test_setattr(): fmt = Format() fmt.max_value_str_len = 1