Compatibility with python 3.13 (#3246)

- fix unit tests (logging now uses time.time_ns() instead of time.time())
- update setup.py
- update tox.ini
- enable unix and behave tests with 3.13

Close https://github.com/patroni/patroni/issues/3243
This commit is contained in:
Alexander Kukushkin
2025-01-20 08:58:12 +01:00
committed by GitHub
parent 3938bb9a16
commit 7db7dfd3c5
5 changed files with 26 additions and 11 deletions
+2 -1
View File
@@ -196,7 +196,8 @@ class TestConsul(unittest.TestCase):
self.assertTrue(self.c.update_leader(cluster, 12345, failsafe={'foo': 'bar'}))
with patch.object(KV, 'put', Mock(side_effect=ConsulException)):
self.assertFalse(self.c.update_leader(cluster, 12345))
with patch('time.time', Mock(side_effect=[0, 0, 0, 0, 100, 200, 300])):
mock_time = Mock(side_effect=[0, 0, 0, 0, 100, 200, 300])
with patch('time.time', mock_time), patch('time.time_ns', mock_time):
self.assertRaises(ConsulError, self.c.update_leader, cluster, 12345)
with patch('time.time', Mock(side_effect=[0, 100, 200, 300])):
self.assertRaises(ConsulError, self.c.update_leader, cluster, 12345)
+2 -1
View File
@@ -425,7 +425,8 @@ class TestKubernetesEndpoints(BaseTestKubernetes):
mock_patch.side_effect = [k8s_client.rest.ApiException(409, ''),
k8s_client.rest.ApiException(409, ''), mock_namespaced_kind()]
mock_read.return_value.metadata.resource_version = '2'
with patch('time.time', Mock(side_effect=[0, 0, 100, 200, 0, 0, 0, 0, 0, 100, 200])):
mock_time = Mock(side_effect=[0, 0, 100, 200, 0, 0, 0, 0, 0, 100, 200])
with patch('time.time', mock_time), patch('time.time_ns', mock_time):
self.assertFalse(self.k.update_leader(cluster, '123'))
self.assertFalse(self.k.update_leader(cluster, '123'))
mock_patch.side_effect = k8s_client.rest.ApiException(409, '')