3 commits - pykolab/format
Jeroen van Meeuwen
vanmeeuwen at kolabsys.com
Wed Feb 22 19:40:02 CET 2012
pykolab/format/tests/test-thread_safety.py | 47 +++++++++++++++++++++++------
1 file changed, 38 insertions(+), 9 deletions(-)
New commits:
commit f2c239d5723fb07732adc3ab252af169198243fc
Merge: 6465b07 cd59ca1
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Wed Feb 22 18:39:52 2012 +0000
Merge branch 'master' of ssh://git.kolab.org/git/libkolabxml
commit 6465b07078dd307be16df08b1b4bb72ee6781e32
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Wed Feb 22 18:39:22 2012 +0000
Split them back up again, so we get all errors, and not just one-by-one.
diff --git a/pykolab/format/tests/test-thread_safety.py b/pykolab/format/tests/test-thread_safety.py
index bd6bb3f..7bcb210 100644
--- a/pykolab/format/tests/test-thread_safety.py
+++ b/pykolab/format/tests/test-thread_safety.py
@@ -42,17 +42,50 @@ class TestThreadSafety(unittest.TestCase):
self.thread2 = ThreadEvent()
self.thread2.start()
- def test_thread_safety(self):
- self.create_threads()
-
+ # Serialize the two events in order.
self.thread1.write()
self.uid1 = self.thread1.uid()
self.thread2.write()
self.uid2 = self.thread2.uid()
+ # Both threads should now have events with a different uid, contained
+ # within the (local) uid1 and uid2 variables.
+
+ # Now that we've serialized the event in thread #2, let's see if we can
+ # get back to the uid used for the event in thread #1.
self.uid3 = self.thread1.uid()
- self.assertNotEqual(self.uid1, self.uid2, "<uid> for event #1 is the same as the <uid> for event #2")
- self.assertNotEqual(self.uid3, self.uid2, "<uid> for event #1 (3) is the same as the <uid> for event #2, after serializing event #2 in a different thread.")
- self.assertEqual(self.uid1, self.uid3, "<uid> for event #1 is not the same <uid> for event #1 after serializing event #2 in a different thread.")
+ def test_thread_safety_uid1_ne_uid2(self):
+ self.create_threads()
+
+ # The uid for the event in thread #1 cannot be the same as the uid for
+ # the event in thread #2.
+ self.assertNotEqual(
+ self.uid1,
+ self.uid2,
+ "The <uid> for the event in thread #1 is the same as the " + \
+ "<uid> for the event in thread #2."
+ )
+
+ def test_thread_safety_uid3_ne_uid2(self):
+ self.create_threads()
+
+ self.assertNotEqual(
+ self.uid3,
+ self.uid2,
+ "After serializing the event in thread #2, the uid method " + \
+ "on thread #1 returns the same uid for the event in thread #1."
+ )
+
+ def test_thread_safety_uid1_eq_uid3(self):
+ self.create_threads()
+
+ self.assertEqual(
+ self.uid1,
+ self.uid3,
+ "After serializing the event in thread #2, the uid method " + \
+ "on thread #1 returns a different uid for the event " + \
+ "in thread #1, than was the original for the event in " + \
+ "thread #1."
+ )
commit 050300075548aa0f9d5e0528968b125f0111374e
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Wed Feb 22 18:26:52 2012 +0000
Put all tests back in one call, and use the msg=None parameter to assertEqual/assertNotEqual
diff --git a/pykolab/format/tests/test-thread_safety.py b/pykolab/format/tests/test-thread_safety.py
index 531398e..bd6bb3f 100644
--- a/pykolab/format/tests/test-thread_safety.py
+++ b/pykolab/format/tests/test-thread_safety.py
@@ -28,6 +28,7 @@ class ThreadEvent(threading.Thread):
self.myevent.setDescription("Celebrate new years eve with some champagne, family and friends")
def write(self):
+ self.create_event()
writeEvent(self.myevent)
def uid(self):
@@ -52,11 +53,6 @@ class TestThreadSafety(unittest.TestCase):
self.uid3 = self.thread1.uid()
- def test_thread_uno_uid_does_not_match_thread_dos_uid(self):
- self.assertNotEqual(self.uid1, self.uid2)
-
- def test_thread_uno_uid_after_thread_dos_write_does_not_match_thread_dos_uid(self):
- self.assertNotEqual(uid3, uid2)
-
- def test_thread_uno_uid_after_thread_dos_write_matches_thread_uno_uid(self):
- self.assertEqual(uid1, uid3)
+ self.assertNotEqual(self.uid1, self.uid2, "<uid> for event #1 is the same as the <uid> for event #2")
+ self.assertNotEqual(self.uid3, self.uid2, "<uid> for event #1 (3) is the same as the <uid> for event #2, after serializing event #2 in a different thread.")
+ self.assertEqual(self.uid1, self.uid3, "<uid> for event #1 is not the same <uid> for event #1 after serializing event #2 in a different thread.")
More information about the commits
mailing list