Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run the latest meta/config template #205

Merged
merged 3 commits into from
Aug 27, 2024

Conversation

dataflake
Copy link
Member

No description provided.

@dataflake dataflake requested review from icemac and tseaver August 26, 2024 12:55
@dataflake dataflake self-assigned this Aug 26, 2024
Copy link
Member

@tseaver tseaver left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While I don't object to the changes per se, I'd really like us not to make blanket changes adding new linting (the autoupgrade / teyit ones) while "substantive" PRs (e.g., #204) remain open: ISTM that the "burden of compilance" for new linting stuff should be on the PR adding the rules.

@dataflake
Copy link
Member Author

I understand what you mean, but I can't help with #204 myself and can't compel others like @davisagli to do the review. I don't know how to solve that. At the same time PRs that take long to get attention shouldn't stand in the way of other work.

@icemac
Copy link
Member

icemac commented Aug 27, 2024

I see no interferences with the other open PR: that one only changes C code, this one only changes Python code and config, so there should not be any conflicts.

@dataflake dataflake merged commit 91013f9 into master Aug 27, 2024
53 checks passed
@dataflake dataflake deleted the config-with-c-code-template-9e2b2911 branch August 27, 2024 07:05
@tseaver
Copy link
Member

tseaver commented Aug 27, 2024

There are conflicts at the line level and then conflicts in the testing regime: in particular, merging this change breaks coverage under tox:

$ git status
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
$ git fetch origin && git pull
Already up to date.
$ tox -re coverage
  Set up zope.testrunner.layer.UnitTests in 0.000 seconds.
  Running:
/home/tseaver/projects/Zope/ZODB/persistent/.tox/coverage/lib/python3.12/site-packages/persistent/tests/test_mapping.py:319: DeprecationWarning: PersistentDict is deprecated. `persistent.dict.PersistentDict` is deprecated. Use `persistent.mapping.PersistentMapping` instead. This backward compatibility shim will be removed in persistent version 6.
  from persistent.dict import PersistentDict
...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
  Ran 771 tests with 0 failures, 0 errors, 245 skipped in 0.668 seconds.
Tearing down left over layers:
/home/tseaver/projects/Zope/ZODB/persistent/.tox/coverage/lib/python3.12/site-packages/coverage/control.py:894: CoverageWarning: No data was collected. (no-data-collected)
  self._warn("No data was collected.", slug="no-data-collected")
  Tear down zope.testrunner.layer.UnitTests in 0.000 seconds.
coverage: commands[2]> python -c 'import os, subprocess; subprocess.check_call("coverage run -a -m zope.testrunner --test-path=src", env=dict(os.environ, PURE_PYTHON="0"), shell=True)'
Running zope.testrunner.layer.UnitTests tests:
  Set up zope.testrunner.layer.UnitTests in 0.000 seconds.
/home/tseaver/projects/Zope/ZODB/persistent/.tox/coverage/lib/python3.12/site-packages/persistent/tests/test_mapping.py:319: DeprecationWarning: PersistentDict is deprecated. `persistent.dict.PersistentDict` is deprecated. Use `persistent.mapping.PersistentMapping` instead. This backward compatibility shim will be removed in persistent version 6.
  from persistent.dict import PersistentDict
/opt/Python-3.12.4/lib/python3.12/unittest/case.py:690: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method PickleCacheTestMixin.test___delitem___w_persistent_class of <persistent.tests.test_picklecache.CPickleCacheTests testMethod=test___delitem___w_persistent_class>>)
  return self.run(*args, **kwds)
/opt/Python-3.12.4/lib/python3.12/unittest/case.py:690: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method PickleCacheTestMixin.test___setitem___ghost of <persistent.tests.test_picklecache.CPickleCacheTests testMethod=test___setitem___ghost>>)
  return self.run(*args, **kwds)
/opt/Python-3.12.4/lib/python3.12/unittest/case.py:690: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method PickleCacheTestMixin.test_debug_info_w_ghost of <persistent.tests.test_picklecache.CPickleCacheTests testMethod=test_debug_info_w_ghost>>)
  return self.run(*args, **kwds)
/opt/Python-3.12.4/lib/python3.12/unittest/case.py:690: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method PickleCacheTestMixin.test_debug_info_w_normal_object of <persistent.tests.test_picklecache.CPickleCacheTests testMethod=test_debug_info_w_normal_object>>)
  return self.run(*args, **kwds)
/opt/Python-3.12.4/lib/python3.12/unittest/case.py:690: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method PickleCacheTestMixin.test_debug_info_w_persistent_class of <persistent.tests.test_picklecache.CPickleCacheTests testMethod=test_debug_info_w_persistent_class>>)
  return self.run(*args, **kwds)
/opt/Python-3.12.4/lib/python3.12/unittest/case.py:690: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method PickleCacheTestMixin.test_new_ghost_obj_already_in_cache of <persistent.tests.test_picklecache.CPickleCacheTests testMethod=test_new_ghost_obj_already_in_cache>>)
  return self.run(*args, **kwds)
/opt/Python-3.12.4/lib/python3.12/unittest/case.py:690: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method PickleCacheTestMixin.test_new_ghost_w_pclass_ghost of <persistent.tests.test_picklecache.CPickleCacheTests testMethod=test_new_ghost_w_pclass_ghost>>)
  return self.run(*args, **kwds)
/opt/Python-3.12.4/lib/python3.12/unittest/case.py:690: DeprecationWarning: It is deprecated to return a value that is not None from a test case (<bound method PickleCacheTestMixin.test_new_ghost_w_pclass_non_ghost of <persistent.tests.test_picklecache.CPickleCacheTests testMethod=test_new_ghost_w_pclass_non_ghost>>)
  return self.run(*args, **kwds)
  Ran 771 tests with 0 failures, 0 errors and 6 skipped in 1.143 seconds.
Tearing down left over layers:
  Tear down zope.testrunner.layer.UnitTests in 0.000 seconds.
coverage: commands[3]> coverage html -i
Wrote HTML report to parts/htmlcov/index.html
coverage: commands[4]> coverage report -i -m --fail-under=99.8
Name                                         Stmts   Miss   Cover   Missing
---------------------------------------------------------------------------
src/persistent/__init__.py                      15     15   0.00%   19-51
src/persistent/_compat.py                       58     58   0.00%   15-204
src/persistent/dict.py                           2      2   0.00%   14-17
src/persistent/interfaces.py                    58     58   0.00%   17-572
src/persistent/list.py                          61     61   0.00%   16-141
src/persistent/mapping.py                       55     55   0.00%   16-152
src/persistent/persistence.py                  368    368   0.00%   14-629
src/persistent/picklecache.py                  244    244   0.00%   14-506
src/persistent/ring.py                          73     73   0.00%   15-188
src/persistent/tests/__init__.py                 0      0 100.00%
src/persistent/tests/attrhooks.py               36     36   0.00%   19-126
src/persistent/tests/cucumbers.py               63     63   0.00%   16-112
src/persistent/tests/test__compat.py            50     50   0.00%   19-107
src/persistent/tests/test_compile_flags.py       9      9   0.00%   14-29
src/persistent/tests/test_docs.py               23     23   0.00%   19-64
src/persistent/tests/test_list.py              261    261   0.00%   17-391
src/persistent/tests/test_mapping.py           205    205   0.00%   14-324
src/persistent/tests/test_persistence.py      1624   1624   0.00%   15-2225
src/persistent/tests/test_picklecache.py       916    916   0.00%   14-1341
src/persistent/tests/test_ring.py               79     79   0.00%   14-126
src/persistent/tests/test_timestamp.py         278    278   0.00%   14-430
src/persistent/tests/test_wref.py              277    277   0.00%   14-346
src/persistent/tests/utils.py                   57     57   0.00%   1-110
src/persistent/timestamp.py                    110    110   0.00%   14-208
src/persistent/wref.py                          67     67   0.00%   17-129
---------------------------------------------------------------------------
TOTAL                                         4989   4989   0.00%
Coverage failure: total of 0.00 is less than fail-under=99.80

Note that the tests all run and pass, but the files in src/persistent show as uncovered because 3be40d8 dropped usedevelop = true for all test environments (a good thing for most) breaks the coverage environment. This patch makes them happy:

$ git stash show -v
diff --git a/tox.ini b/tox.ini
index 4f36d846..ee84623a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -33,6 +33,7 @@ extras =
     docs
 
 [testenv:coverage]
+usedevelop = true
 basepython = python3
 allowlist_externals =
     mkdir

@dataflake
Copy link
Member Author

Coverage fail fixed in 149c88e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants