nti.testing 4.2.0.post0__tar.gz → 4.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/.readthedocs.yml +1 -1
  2. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/CHANGES.rst +15 -0
  3. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/PKG-INFO +41 -6
  4. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/setup.py +11 -6
  5. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/layers/postgres.py +6 -4
  6. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/tests/test_base.py +8 -2
  7. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/tests/test_main.py +13 -7
  8. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/tests/test_zodb.py +23 -5
  9. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti.testing.egg-info/PKG-INFO +41 -6
  10. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti.testing.egg-info/requires.txt +14 -4
  11. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/tox.ini +6 -0
  12. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/.coveragerc +0 -0
  13. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/.isort.cfg +0 -0
  14. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/.nti_cover_package +0 -0
  15. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/.pylintrc +0 -0
  16. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/.travis.yml +0 -0
  17. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/COPYRIGHT.txt +0 -0
  18. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/INSTALL +0 -0
  19. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/LICENSE +0 -0
  20. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/MANIFEST.in +0 -0
  21. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/README.rst +0 -0
  22. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/TODO +0 -0
  23. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/doc-requirements.txt +0 -0
  24. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/docs/_static/custom.css +0 -0
  25. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/docs/api.rst +0 -0
  26. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/docs/base.rst +0 -0
  27. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/docs/changelog.rst +0 -0
  28. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/docs/conf.py +0 -0
  29. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/docs/index.rst +0 -0
  30. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/docs/layers.rst +0 -0
  31. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/docs/matchers.rst +0 -0
  32. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/docs/time.rst +0 -0
  33. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/docs/zodb.rst +0 -0
  34. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/pyproject.toml +0 -0
  35. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/setup.cfg +0 -0
  36. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/__init__.py +0 -0
  37. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/__init__.py +0 -0
  38. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/base.py +0 -0
  39. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/layers/__init__.py +0 -0
  40. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/layers/cleanup.py +0 -0
  41. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/layers/tests/__init__.py +0 -0
  42. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/layers/tests/test_postgres.py +0 -0
  43. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/layers/zope.py +0 -0
  44. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/matchers.py +0 -0
  45. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/mock.py +0 -0
  46. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/tests/__init__.py +0 -0
  47. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/tests/test_component_cleanup_broken.txt +0 -0
  48. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/tests/test_layers.py +0 -0
  49. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/tests/test_matchers.py +0 -0
  50. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/tests/test_time.py +0 -0
  51. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/time.py +0 -0
  52. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti/testing/zodb.py +0 -0
  53. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti.testing.egg-info/SOURCES.txt +0 -0
  54. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti.testing.egg-info/dependency_links.txt +0 -0
  55. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti.testing.egg-info/top_level.txt +0 -0
  56. {nti_testing-4.2.0.post0 → nti_testing-4.4.0}/src/nti.testing.egg-info/zip-safe +0 -0
@@ -24,7 +24,7 @@ build:
24
24
  # os is required for some reason
25
25
  os: ubuntu-22.04
26
26
  tools:
27
- python: "3.11"
27
+ python: "3.12"
28
28
 
29
29
  python:
30
30
  install:
@@ -2,6 +2,21 @@
2
2
  Changes
3
3
  =========
4
4
 
5
+ 4.4.0 (2025-11-14)
6
+ ==================
7
+
8
+ - Move ZODB and related dependencies to the optional 'zodb' extra.
9
+ - Add support for Python 3.14.
10
+
11
+
12
+ 4.3.0 (2025-04-22)
13
+ ==================
14
+
15
+ - Support and require testgres version 1.11. This version refactored
16
+ some internals, breaking the monkey-patches that ``DatabaseLayer``
17
+ applies.
18
+
19
+
5
20
  4.2.0.post0 (2024-11-08)
6
21
  ========================
7
22
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: nti.testing
3
- Version: 4.2.0.post0
3
+ Version: 4.4.0
4
4
  Summary: Support for testing code
5
5
  Home-page: https://github.com/OpenNTI/nti.testing
6
6
  Author: Jason Madden
@@ -18,13 +18,13 @@ Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
20
  Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
21
22
  Classifier: Programming Language :: Python :: Implementation :: CPython
22
23
  Classifier: Programming Language :: Python :: Implementation :: PyPy
23
24
  Classifier: Topic :: Software Development :: Testing
24
25
  Classifier: Framework :: Zope3
25
26
  Requires-Python: >=3.10
26
27
  License-File: LICENSE
27
- Requires-Dist: ZODB>=5.6.0
28
28
  Requires-Dist: zope.interface>=5.4.0
29
29
  Requires-Dist: pyhamcrest
30
30
  Requires-Dist: six
@@ -35,18 +35,38 @@ Requires-Dist: zope.dottedname
35
35
  Requires-Dist: zope.exceptions
36
36
  Requires-Dist: zope.schema
37
37
  Requires-Dist: zope.testing
38
+ Provides-Extra: zodb
39
+ Requires-Dist: ZODB>=5.6.0; extra == "zodb"
38
40
  Provides-Extra: test
39
41
  Requires-Dist: Acquisition; extra == "test"
40
- Requires-Dist: zope.site; extra == "test"
41
42
  Requires-Dist: zope.testrunner; extra == "test"
42
- Requires-Dist: testgres>=1.10; extra == "test"
43
+ Requires-Dist: testgres>=1.11; extra == "test"
43
44
  Requires-Dist: psycopg2-binary; platform_python_implementation != "PyPy" and extra == "test"
45
+ Provides-Extra: test-zodb
46
+ Requires-Dist: zope.site; extra == "test-zodb"
44
47
  Provides-Extra: docs
45
48
  Requires-Dist: Sphinx; extra == "docs"
46
49
  Requires-Dist: furo; extra == "docs"
50
+ Requires-Dist: Acquisition; extra == "docs"
51
+ Requires-Dist: zope.testrunner; extra == "docs"
52
+ Requires-Dist: testgres>=1.11; extra == "docs"
53
+ Requires-Dist: psycopg2-binary; platform_python_implementation != "PyPy" and extra == "docs"
47
54
  Provides-Extra: testgres
48
- Requires-Dist: testgres>=1.10; extra == "testgres"
55
+ Requires-Dist: testgres>=1.11; extra == "testgres"
49
56
  Requires-Dist: psycopg2-binary; platform_python_implementation != "PyPy" and extra == "testgres"
57
+ Dynamic: author
58
+ Dynamic: author-email
59
+ Dynamic: classifier
60
+ Dynamic: description
61
+ Dynamic: home-page
62
+ Dynamic: keywords
63
+ Dynamic: license
64
+ Dynamic: license-file
65
+ Dynamic: project-url
66
+ Dynamic: provides-extra
67
+ Dynamic: requires-dist
68
+ Dynamic: requires-python
69
+ Dynamic: summary
50
70
 
51
71
  =============
52
72
  nti.testing
@@ -302,6 +322,21 @@ ZODB in `nti.testing.zodb`. See the API documentation for details.
302
322
  Changes
303
323
  =========
304
324
 
325
+ 4.4.0 (2025-11-14)
326
+ ==================
327
+
328
+ - Move ZODB and related dependencies to the optional 'zodb' extra.
329
+ - Add support for Python 3.14.
330
+
331
+
332
+ 4.3.0 (2025-04-22)
333
+ ==================
334
+
335
+ - Support and require testgres version 1.11. This version refactored
336
+ some internals, breaking the monkey-patches that ``DatabaseLayer``
337
+ applies.
338
+
339
+
305
340
  4.2.0.post0 (2024-11-08)
306
341
  ========================
307
342
 
@@ -6,16 +6,15 @@ from setuptools import setup
6
6
  from setuptools import find_namespace_packages
7
7
 
8
8
 
9
- version = '4.2.0.post0'
9
+ version = '4.4.0'
10
10
 
11
11
  entry_points = {
12
12
  }
13
13
 
14
14
  TESTS_REQUIRE = [
15
15
  'Acquisition',
16
- 'zope.site',
17
16
  'zope.testrunner',
18
- 'testgres >= 1.10',
17
+ 'testgres >= 1.11',
19
18
  'psycopg2-binary; python_implementation != "PyPy"',
20
19
  ]
21
20
 
@@ -47,6 +46,7 @@ setup(
47
46
  'Programming Language :: Python :: 3.11',
48
47
  'Programming Language :: Python :: 3.12',
49
48
  'Programming Language :: Python :: 3.13',
49
+ 'Programming Language :: Python :: 3.14',
50
50
  'Programming Language :: Python :: Implementation :: CPython',
51
51
  'Programming Language :: Python :: Implementation :: PyPy',
52
52
  'Topic :: Software Development :: Testing',
@@ -56,7 +56,6 @@ setup(
56
56
  packages=find_namespace_packages(where='src'),
57
57
  package_dir={'': 'src'},
58
58
  install_requires=[
59
- 'ZODB >= 5.6.0',
60
59
  # Error messages changed in 5.1, reprs changed <= 5.4
61
60
  'zope.interface >= 5.4.0',
62
61
  'pyhamcrest',
@@ -72,13 +71,19 @@ setup(
72
71
  entry_points=entry_points,
73
72
  include_package_data=True,
74
73
  extras_require={
74
+ 'zodb': [
75
+ 'ZODB >= 5.6.0',
76
+ ],
75
77
  'test': TESTS_REQUIRE,
78
+ 'test-zodb': [
79
+ 'zope.site',
80
+ ],
76
81
  'docs': [
77
82
  'Sphinx',
78
83
  'furo',
79
- ],
84
+ ] + TESTS_REQUIRE,
80
85
  'testgres': [
81
- 'testgres >= 1.10',
86
+ 'testgres >= 1.11',
82
87
  'psycopg2-binary; python_implementation != "PyPy"',
83
88
  ],
84
89
  },
@@ -82,8 +82,10 @@ def patched_get_pg_version(*args, **kwargs):
82
82
  # We patch this in testgres.node, so its ok to import
83
83
  # the original. In version 1.10, they changed the signature
84
84
  # of this function, so be sure to accept whatever it does and
85
- # pass it on.
86
- from testgres.utils import get_pg_version
85
+ # pass it on. In version 1.11, this was replaced with
86
+ # get_pg_version2, which does the same thing just takes
87
+ # more arguments.
88
+ from testgres.utils import get_pg_version2
87
89
  from testgres.node import PgVer
88
90
  from packaging.version import InvalidVersion
89
91
 
@@ -94,7 +96,7 @@ def patched_get_pg_version(*args, **kwargs):
94
96
  # "15.3-0+". If it can't be parsed, then return a fake.
95
97
 
96
98
  try:
97
- version = get_pg_version(*args, **kwargs)
99
+ version = get_pg_version2(*args, **kwargs)
98
100
  PgVer(version)
99
101
  except InvalidVersion:
100
102
  print('testgres: Got invalid postgres version', version)
@@ -145,7 +147,7 @@ class DatabaseLayer(object):
145
147
  def setUp(cls):
146
148
  testgres.configure_testgres()
147
149
 
148
- with patch('testgres.node.get_pg_version', new=patched_get_pg_version):
150
+ with patch('testgres.node.get_pg_version2', new=patched_get_pg_version):
149
151
  node = cls.postgres_node = testgres.get_new_node()
150
152
 
151
153
  # init takes about about 2 -- 3 seconds
@@ -89,7 +89,10 @@ class TestBase(unittest.TestCase):
89
89
 
90
90
 
91
91
  def test_configuring_base(self):
92
- import zope.traversing.tests.test_traverser
92
+ try:
93
+ import zope.traversing.tests.test_traverser
94
+ except ModuleNotFoundError:
95
+ self.skipTest('zope.traversing not installed')
93
96
  class MyTest(base.ConfiguringTestBase):
94
97
  set_up_packages = ('zope.component',
95
98
  ('configure.zcml', 'zope.component'),
@@ -104,7 +107,10 @@ class TestBase(unittest.TestCase):
104
107
  mt.tearDown() # pylint:disable=no-value-for-parameter
105
108
 
106
109
  def test_shared_configuring_base(self):
107
- import zope.traversing.tests.test_traverser
110
+ try:
111
+ import zope.traversing.tests.test_traverser
112
+ except ModuleNotFoundError:
113
+ self.skipTest('zope.traversing not installed')
108
114
  class MyTest(base.SharedConfiguringTestBase):
109
115
  layer = None # replaced by metaclass
110
116
  set_up_packages = ('zope.component',
@@ -32,16 +32,22 @@ def test_suite():
32
32
  here = os.path.dirname(__file__)
33
33
 
34
34
  suite = unittest.defaultTestLoader.loadTestsFromName(__name__)
35
- suite.addTest(doctest.DocFileSuite(
36
- 'test_component_cleanup_broken.txt'))
35
+ try:
36
+ import zope.site as has_zope_site
37
+ except ModuleNotFoundError:
38
+ has_zope_site = None
39
+ else:
40
+ suite.addTest(doctest.DocFileSuite(
41
+ 'test_component_cleanup_broken.txt'))
37
42
 
38
43
  readmedir = here
39
44
  while not os.path.exists(os.path.join(readmedir, 'setup.py')):
40
45
  readmedir = os.path.dirname(readmedir)
41
46
  readme = os.path.join(readmedir, 'README.rst')
42
- suite.addTest(doctest.DocFileSuite(
43
- readme,
44
- module_relative=False,
45
- optionflags=doctest.ELLIPSIS,
46
- ))
47
+ if has_zope_site:
48
+ suite.addTest(doctest.DocFileSuite(
49
+ readme,
50
+ module_relative=False,
51
+ optionflags=doctest.ELLIPSIS,
52
+ ))
47
53
  return suite
@@ -14,7 +14,13 @@ import unittest
14
14
  import transaction
15
15
  from transaction.interfaces import NoTransaction
16
16
  from zope import interface
17
- from nti.testing import zodb
17
+ try:
18
+ from nti.testing import zodb
19
+ base_mock_db_trans = zodb.mock_db_trans
20
+ except ModuleNotFoundError as ex:
21
+ assert ex.name == 'ZODB'
22
+ zodb = None
23
+ base_mock_db_trans = object
18
24
 
19
25
  # pylint:disable=protected-access,pointless-string-statement
20
26
 
@@ -41,7 +47,7 @@ class MockConn(object):
41
47
  self.minimized = True
42
48
 
43
49
 
44
- class MockDBTrans(zodb.mock_db_trans):
50
+ class MockDBTrans(base_mock_db_trans):
45
51
 
46
52
  def __init__(self, db=None):
47
53
  if db is None:
@@ -52,6 +58,8 @@ class MockDBTrans(zodb.mock_db_trans):
52
58
  class TestMockDBTrans(unittest.TestCase):
53
59
 
54
60
  def setUp(self):
61
+ if zodb is None:
62
+ self.skipTest("ZODB not installed")
55
63
  self._was_explicit = transaction.manager.explicit
56
64
  transaction.manager.explicit = False
57
65
 
@@ -226,7 +234,7 @@ class TestMockDBTrans(unittest.TestCase):
226
234
  class MyMock(MockDBTrans):
227
235
  seen_tx = None
228
236
  aborted = False
229
- def on_connection_opened(self, conn):
237
+ def on_connection_opened(self, _conn):
230
238
  # pylint:disable=no-member
231
239
  self.seen_tx = self._mock_db_trans__current_transaction
232
240
  abort = self.seen_tx.abort
@@ -255,7 +263,13 @@ class TestMockDBTrans(unittest.TestCase):
255
263
 
256
264
  class TestZODBLayer(unittest.TestCase):
257
265
 
258
- layer = zodb.ZODBLayer
266
+ if zodb is not None:
267
+ layer = zodb.ZODBLayer
268
+
269
+ def setUp(self):
270
+ super().setUp()
271
+ if zodb is None:
272
+ self.skipTest("ZODB not installed")
259
273
 
260
274
  def test_registration(self):
261
275
  from ZODB.interfaces import IDatabase
@@ -288,10 +302,14 @@ class Object(object):
288
302
  pass
289
303
 
290
304
  class TestResetDbCaches(unittest.TestCase):
291
- layer = zodb.ZODBLayer
305
+
306
+ if zodb is not None:
307
+ layer = zodb.ZODBLayer
292
308
 
293
309
  def setUp(self):
294
310
  super().setUp()
311
+ if zodb is None:
312
+ self.skipTest("ZODB not installed")
295
313
  gc.disable()
296
314
 
297
315
  def tearDown(self):
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: nti.testing
3
- Version: 4.2.0.post0
3
+ Version: 4.4.0
4
4
  Summary: Support for testing code
5
5
  Home-page: https://github.com/OpenNTI/nti.testing
6
6
  Author: Jason Madden
@@ -18,13 +18,13 @@ Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
20
  Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
21
22
  Classifier: Programming Language :: Python :: Implementation :: CPython
22
23
  Classifier: Programming Language :: Python :: Implementation :: PyPy
23
24
  Classifier: Topic :: Software Development :: Testing
24
25
  Classifier: Framework :: Zope3
25
26
  Requires-Python: >=3.10
26
27
  License-File: LICENSE
27
- Requires-Dist: ZODB>=5.6.0
28
28
  Requires-Dist: zope.interface>=5.4.0
29
29
  Requires-Dist: pyhamcrest
30
30
  Requires-Dist: six
@@ -35,18 +35,38 @@ Requires-Dist: zope.dottedname
35
35
  Requires-Dist: zope.exceptions
36
36
  Requires-Dist: zope.schema
37
37
  Requires-Dist: zope.testing
38
+ Provides-Extra: zodb
39
+ Requires-Dist: ZODB>=5.6.0; extra == "zodb"
38
40
  Provides-Extra: test
39
41
  Requires-Dist: Acquisition; extra == "test"
40
- Requires-Dist: zope.site; extra == "test"
41
42
  Requires-Dist: zope.testrunner; extra == "test"
42
- Requires-Dist: testgres>=1.10; extra == "test"
43
+ Requires-Dist: testgres>=1.11; extra == "test"
43
44
  Requires-Dist: psycopg2-binary; platform_python_implementation != "PyPy" and extra == "test"
45
+ Provides-Extra: test-zodb
46
+ Requires-Dist: zope.site; extra == "test-zodb"
44
47
  Provides-Extra: docs
45
48
  Requires-Dist: Sphinx; extra == "docs"
46
49
  Requires-Dist: furo; extra == "docs"
50
+ Requires-Dist: Acquisition; extra == "docs"
51
+ Requires-Dist: zope.testrunner; extra == "docs"
52
+ Requires-Dist: testgres>=1.11; extra == "docs"
53
+ Requires-Dist: psycopg2-binary; platform_python_implementation != "PyPy" and extra == "docs"
47
54
  Provides-Extra: testgres
48
- Requires-Dist: testgres>=1.10; extra == "testgres"
55
+ Requires-Dist: testgres>=1.11; extra == "testgres"
49
56
  Requires-Dist: psycopg2-binary; platform_python_implementation != "PyPy" and extra == "testgres"
57
+ Dynamic: author
58
+ Dynamic: author-email
59
+ Dynamic: classifier
60
+ Dynamic: description
61
+ Dynamic: home-page
62
+ Dynamic: keywords
63
+ Dynamic: license
64
+ Dynamic: license-file
65
+ Dynamic: project-url
66
+ Dynamic: provides-extra
67
+ Dynamic: requires-dist
68
+ Dynamic: requires-python
69
+ Dynamic: summary
50
70
 
51
71
  =============
52
72
  nti.testing
@@ -302,6 +322,21 @@ ZODB in `nti.testing.zodb`. See the API documentation for details.
302
322
  Changes
303
323
  =========
304
324
 
325
+ 4.4.0 (2025-11-14)
326
+ ==================
327
+
328
+ - Move ZODB and related dependencies to the optional 'zodb' extra.
329
+ - Add support for Python 3.14.
330
+
331
+
332
+ 4.3.0 (2025-04-22)
333
+ ==================
334
+
335
+ - Support and require testgres version 1.11. This version refactored
336
+ some internals, breaking the monkey-patches that ``DatabaseLayer``
337
+ applies.
338
+
339
+
305
340
  4.2.0.post0 (2024-11-08)
306
341
  ========================
307
342
 
@@ -1,4 +1,3 @@
1
- ZODB>=5.6.0
2
1
  zope.interface>=5.4.0
3
2
  pyhamcrest
4
3
  six
@@ -13,18 +12,29 @@ zope.testing
13
12
  [docs]
14
13
  Sphinx
15
14
  furo
15
+ Acquisition
16
+ zope.testrunner
17
+ testgres>=1.11
18
+
19
+ [docs:platform_python_implementation != "PyPy"]
20
+ psycopg2-binary
16
21
 
17
22
  [test]
18
23
  Acquisition
19
- zope.site
20
24
  zope.testrunner
21
- testgres>=1.10
25
+ testgres>=1.11
26
+
27
+ [test-zodb]
28
+ zope.site
22
29
 
23
30
  [test:platform_python_implementation != "PyPy"]
24
31
  psycopg2-binary
25
32
 
26
33
  [testgres]
27
- testgres>=1.10
34
+ testgres>=1.11
28
35
 
29
36
  [testgres:platform_python_implementation != "PyPy"]
30
37
  psycopg2-binary
38
+
39
+ [zodb]
40
+ ZODB>=5.6.0
@@ -4,6 +4,8 @@ envlist = py38,py39,py310,py311,py312,pypy3,coverage,docs
4
4
  [testenv]
5
5
  extras =
6
6
  test
7
+ zodb
8
+ test-zodb
7
9
  commands =
8
10
  zope-testrunner --test-path=src --auto-color --auto-progress [] # substitute with tox positional args
9
11
  setenv =
@@ -20,6 +22,10 @@ commands =
20
22
  deps =
21
23
  coverage
22
24
 
25
+ [testenv:py314]
26
+ extras =
27
+ test
28
+
23
29
  [testenv:docs]
24
30
  commands =
25
31
  sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html
File without changes
File without changes
File without changes
File without changes
File without changes