[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [ooni-probe/master] Add scheduler tests to ensure that lock is properly managed
commit 2dab7a2bcaf9930ffda5a11a2b0569ca12922b18
Author: Leonid Evdokimov <leon@xxxxxxxxxxxx>
Date: Thu Sep 29 18:52:43 2016 +0300
Add scheduler tests to ensure that lock is properly managed
---
ooni/tests/test_scheduler.py | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/ooni/tests/test_scheduler.py b/ooni/tests/test_scheduler.py
index 1350dde..a9501c0 100644
--- a/ooni/tests/test_scheduler.py
+++ b/ooni/tests/test_scheduler.py
@@ -20,6 +20,7 @@ class TestScheduler(unittest.TestCase):
self.assertEqual(scheduled_task.should_run, True)
self.assertFailure(scheduled_task.run(), NotImplementedError)
self.assertEqual(scheduled_task.should_run, True)
+ self.assertFalse(os.path.islink(os.path.join(scheduler_directory, identifier + '.lock')))
shutil.rmtree(scheduler_directory)
@defer.inlineCallbacks
@@ -31,8 +32,9 @@ class TestScheduler(unittest.TestCase):
scheduler_directory = tempfile.mkdtemp()
spam_path = os.path.join(scheduler_directory, 'spam.txt')
class DummyST(ScheduledTask):
- def task(self):
- with open(spam_path, 'w') as out_file:
+ def task(subself):
+ self.assertTrue(os.path.islink(os.path.join(scheduler_directory, subself.identifier + '.lock')))
+ with open(spam_path, 'a') as out_file:
out_file.write("I ran\n")
schedule = "@daily"
@@ -59,6 +61,8 @@ class TestScheduler(unittest.TestCase):
lock = FileSystemlockAndMutex(lock_path)
+ os.symlink(str(2**30), lock_path) # that's non-existend PID for sure
+
lock_count = 100
unlock_count = 0
dl = []
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits