39 lines
1 KiB
Python
39 lines
1 KiB
Python
from __future__ import absolute_import
|
|
import six
|
|
import time
|
|
import random
|
|
from six.moves import range
|
|
import unittest
|
|
|
|
from koji.context import context
|
|
|
|
|
|
class TestContext(unittest.TestCase):
|
|
|
|
def test_context(self):
|
|
context.foo = 1
|
|
|
|
def test():
|
|
foo = random.random()
|
|
context.foo = foo
|
|
time.sleep(0.5 + random.random())
|
|
print(context)
|
|
self.assertEqual(context.foo, foo)
|
|
context._threadclear()
|
|
self.assertFalse(hasattr(context, 'foo'))
|
|
|
|
for x in range(1, 10):
|
|
six.moves._thread.start_new_thread(test, ())
|
|
|
|
time.sleep(0.5)
|
|
for i in range(10):
|
|
time.sleep(0.2 + random.random())
|
|
self.assertEqual(context.foo, 1)
|
|
|
|
context.foo = 2
|
|
context.bar = 3
|
|
self.assertEqual(context.foo, 2)
|
|
self.assertEqual(context.bar, 3)
|
|
context._threadclear()
|
|
self.assertFalse(hasattr(context, 'foo'))
|
|
self.assertFalse(hasattr(context, 'bar'))
|