Hello community,

here is the log from the commit of package python-ZODB for openSUSE:Leap:15.2 
checked in at 2020-05-06 20:41:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/python-ZODB (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.python-ZODB.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-ZODB"

Wed May  6 20:41:17 2020 rev:12 rq:800689 version:5.5.1

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/python-ZODB/python-ZODB.changes        
2020-03-09 18:01:56.300715434 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.python-ZODB.new.2738/python-ZODB.changes      
2020-05-06 20:41:23.588769757 +0200
@@ -1,0 +2,6 @@
+Mon May  4 10:50:45 UTC 2020 - Tomáš Chvátal <tchva...@suse.com>
+
+- Add patch to work with transaction 3.x:
+  * transaction3.patch
+
+-------------------------------------------------------------------

New:
----
  transaction3.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-ZODB.spec ++++++
--- /var/tmp/diff_new_pack.Xk8AYh/_old  2020-05-06 20:41:24.220771065 +0200
+++ /var/tmp/diff_new_pack.Xk8AYh/_new  2020-05-06 20:41:24.224771074 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-ZODB
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 # Copyright (c) 2013 LISA GmbH, Bingen, Germany.
 #
 # All modifications and additions to the file contributed by third parties
@@ -23,9 +23,9 @@
 Release:        0
 Summary:        Zope Object Database: object database and persistence
 License:        ZPL-2.1
-Group:          Development/Libraries/Python
 URL:            https://github.com/zopefoundation/ZODB
 Source:         
https://files.pythonhosted.org/packages/source/Z/ZODB/ZODB-%{version}.tar.gz
+Patch0:         transaction3.patch
 BuildRequires:  %{python_module BTrees >= 4.2.0}
 BuildRequires:  %{python_module ZConfig}
 BuildRequires:  %{python_module manuel}
@@ -63,7 +63,6 @@
 
 %package     -n %{name}-doc
 Summary:        Zope Object Database: object database and persistence
-Group:          Development/Libraries/Python
 Provides:       %{python_module ZODB-doc = %{version}}
 
 %description -n %{name}-doc
@@ -71,6 +70,7 @@
 
 %prep
 %setup -q -n ZODB-%{version}
+%patch0 -p1
 # delete backup files
 find . -name "*~" -print -delete
 # remove unwanted shebang

++++++ transaction3.patch ++++++
>From 0adcc6877f690186c97cc5da7e13788946d5e0df Mon Sep 17 00:00:00 2001
From: Jason Madden <jamad...@gmail.com>
Date: Wed, 11 Dec 2019 10:24:00 -0600
Subject: [PATCH] Fix tests with transaction 3.0.

Only test changes were required, no production code changes.
---
 src/ZODB/tests/testZODB.py                |   7 +-
 src/ZODB/tests/test_datamanageradapter.py | 242 ----------------------
 3 files changed, 6 insertions(+), 245 deletions(-)
 delete mode 100644 src/ZODB/tests/test_datamanageradapter.py

diff --git a/src/ZODB/tests/testZODB.py b/src/ZODB/tests/testZODB.py
index c5f7949e9..2ec6c5af7 100644
--- a/src/ZODB/tests/testZODB.py
+++ b/src/ZODB/tests/testZODB.py
@@ -290,8 +290,9 @@ def checkFailingCommitSticks(self):
         rt['a'] = 1
 
         # Arrange for commit to fail during tpc_vote.
-        poisoned = PoisonedObject(PoisonedJar(break_tpc_vote=True))
-        transaction.get().register(poisoned)
+        poisoned_jar = PoisonedJar(break_tpc_vote=True)
+        poisoned = PoisonedObject(poisoned_jar)
+        transaction.get().join(poisoned_jar)
 
         self.assertRaises(PoisonedError, transaction.get().commit)
         # Trying to commit again fails too.
@@ -314,7 +315,7 @@ def checkFailingCommitSticks(self):
 
         # Cleaning up via begin() should also work.
         rt['a'] = 2
-        transaction.get().register(poisoned)
+        transaction.get().join(poisoned_jar)
         self.assertRaises(PoisonedError, transaction.commit)
         self.assertRaises(TransactionFailedError, transaction.commit)
         # The change to rt['a'] is lost.
diff --git a/src/ZODB/tests/test_datamanageradapter.py 
b/src/ZODB/tests/test_datamanageradapter.py
deleted file mode 100644
index cfeb40bf3..000000000
--- a/src/ZODB/tests/test_datamanageradapter.py
+++ /dev/null
@@ -1,242 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2003 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-import unittest
-from doctest import DocTestSuite
-from transaction._transaction import DataManagerAdapter
-from ZODB.tests.sampledm import DataManager
-
-def test_normal_commit():
-    """
-    So, we have a data manager:
-
-    >>> dm = DataManager()
-
-    and we do some work that modifies uncommited state:
-
-    >>> dm.inc()
-    >>> dm.state, dm.delta
-    (0, 1)
-
-    Now we'll commit the changes.  When the data manager joins a transaction,
-    the transaction will create an adapter.
-
-    >>> dma = DataManagerAdapter(dm)
-
-    and register it as a modified object. At commit time, the
-    transaction will get the "jar" like this:
-
-    >>> jar = getattr(dma, '_p_jar', dma)
-
-    and, of course, the jar and the adapter will be the same:
-
-    >>> jar is dma
-    True
-
-    The transaction will call tpc_begin:
-
-    >>> t1 = '1'
-    >>> jar.tpc_begin(t1)
-
-    Then the transaction will call commit on the jar:
-
-    >>> jar.commit(t1)
-
-    This doesn't actually do anything. :)
-
-    >>> dm.state, dm.delta
-    (0, 1)
-
-    The transaction will then call tpc_vote:
-
-    >>> jar.tpc_vote(t1)
-
-    This prepares the data manager:
-
-    >>> dm.state, dm.delta
-    (1, 1)
-    >>> dm.prepared
-    True
-
-    Finally, tpc_finish is called:
-
-    >>> jar.tpc_finish(t1)
-
-    and the data manager finishes the two-phase commit:
-
-    >>> dm.state, dm.delta
-    (1, 0)
-    >>> dm.prepared
-    False
-    """
-
-def test_abort():
-    """
-    So, we have a data manager:
-
-    >>> dm = DataManager()
-
-    and we do some work that modifies uncommited state:
-
-    >>> dm.inc()
-    >>> dm.state, dm.delta
-    (0, 1)
-
-    When the data manager joins a transaction,
-    the transaction will create an adapter.
-
-    >>> dma = DataManagerAdapter(dm)
-
-    and register it as a modified object.
-
-    Now we'll abort the transaction. The transaction will get the
-    "jar" like this:
-
-    >>> jar = getattr(dma, '_p_jar', dma)
-
-    and, of course, the jar and the adapter will be the same:
-
-    >>> jar is dma
-    True
-
-    Then the transaction will call abort on the jar:
-
-    >>> t1 = '1'
-    >>> jar.abort(t1)
-
-    Which aborts the changes in the data manager:
-
-    >>> dm.state, dm.delta
-    (0, 0)
-    """
-
-def test_tpc_abort_phase1():
-    """
-    So, we have a data manager:
-
-    >>> dm = DataManager()
-
-    and we do some work that modifies uncommited state:
-
-    >>> dm.inc()
-    >>> dm.state, dm.delta
-    (0, 1)
-
-    Now we'll commit the changes.  When the data manager joins a transaction,
-    the transaction will create an adapter.
-
-    >>> dma = DataManagerAdapter(dm)
-
-    and register it as a modified object. At commit time, the
-    transaction will get the "jar" like this:
-
-    >>> jar = getattr(dma, '_p_jar', dma)
-
-    and, of course, the jar and the adapter will be the same:
-
-    >>> jar is dma
-    True
-
-    The transaction will call tpc_begin:
-
-    >>> t1 = '1'
-    >>> jar.tpc_begin(t1)
-
-    Then the transaction will call commit on the jar:
-
-    >>> jar.commit(t1)
-
-    This doesn't actually do anything. :)
-
-    >>> dm.state, dm.delta
-    (0, 1)
-
-    At this point, the transaction decides to abort. It calls tpc_abort:
-
-    >>> jar.tpc_abort(t1)
-
-    Which causes the state of the data manager to be restored:
-
-    >>> dm.state, dm.delta
-    (0, 0)
-    """
-
-def test_tpc_abort_phase2():
-    """
-    So, we have a data manager:
-
-    >>> dm = DataManager()
-
-    and we do some work that modifies uncommited state:
-
-    >>> dm.inc()
-    >>> dm.state, dm.delta
-    (0, 1)
-
-    Now we'll commit the changes.  When the data manager joins a transaction,
-    the transaction will create an adapter.
-
-    >>> dma = DataManagerAdapter(dm)
-
-    and register it as a modified object. At commit time, the
-    transaction will get the "jar" like this:
-
-    >>> jar = getattr(dma, '_p_jar', dma)
-
-    and, of course, the jar and the adapter will be the same:
-
-    >>> jar is dma
-    True
-
-    The transaction will call tpc_begin:
-
-    >>> t1 = '1'
-    >>> jar.tpc_begin(t1)
-
-    Then the transaction will call commit on the jar:
-
-    >>> jar.commit(t1)
-
-    This doesn't actually do anything. :)
-
-    >>> dm.state, dm.delta
-    (0, 1)
-
-    The transaction calls vote:
-
-    >>> jar.tpc_vote(t1)
-
-    This prepares the data manager:
-
-    >>> dm.state, dm.delta
-    (1, 1)
-    >>> dm.prepared
-    True
-
-    At this point, the transaction decides to abort. It calls tpc_abort:
-
-    >>> jar.tpc_abort(t1)
-
-    Which causes the state of the data manager to be restored:
-
-    >>> dm.state, dm.delta
-    (0, 0)
-    >>> dm.prepared
-    False
-    """
-
-def test_suite():
-    return DocTestSuite()
-
-if __name__ == '__main__':
-    unittest.main()

Reply via email to