home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 July / maximum-cd-2011-07.iso / DiscContents / LibO_3.3.2_Win_x86_install_multi.exe / libreoffice1.cab / test_imp.py < prev    next >
Encoding:
Python Source  |  2011-03-15  |  1.7 KB  |  72 lines

  1. import imp
  2. import unittest
  3. from test import test_support
  4.  
  5.  
  6. class LockTests(unittest.TestCase):
  7.  
  8.     """Very basic test of import lock functions."""
  9.  
  10.     def verify_lock_state(self, expected):
  11.         self.failUnlessEqual(imp.lock_held(), expected,
  12.                              "expected imp.lock_held() to be %r" % expected)
  13.     def testLock(self):
  14.         LOOPS = 50
  15.  
  16.         # The import lock may already be held, e.g. if the test suite is run
  17.         # via "import test.autotest".
  18.         lock_held_at_start = imp.lock_held()
  19.         self.verify_lock_state(lock_held_at_start)
  20.  
  21.         for i in range(LOOPS):
  22.             imp.acquire_lock()
  23.             self.verify_lock_state(True)
  24.  
  25.         for i in range(LOOPS):
  26.             imp.release_lock()
  27.  
  28.         # The original state should be restored now.
  29.         self.verify_lock_state(lock_held_at_start)
  30.  
  31.         if not lock_held_at_start:
  32.             try:
  33.                 imp.release_lock()
  34.             except RuntimeError:
  35.                 pass
  36.             else:
  37.                 self.fail("release_lock() without lock should raise "
  38.                             "RuntimeError")
  39.  
  40. class ReloadTests(unittest.TestCase):
  41.  
  42.     """Very basic tests to make sure that imp.reload() operates just like
  43.     reload()."""
  44.  
  45.     def test_source(self):
  46.         import os
  47.         imp.reload(os)
  48.  
  49.     def test_extension(self):
  50.         import time
  51.         imp.reload(time)
  52.  
  53.     def test_builtin(self):
  54.         import marshal
  55.         imp.reload(marshal)
  56.  
  57.  
  58. def test_main():
  59.     tests = [
  60.         ReloadTests,
  61.     ]
  62.     try:
  63.         import thread
  64.     except ImportError:
  65.         pass
  66.     else:
  67.         tests.append(LockTests)
  68.     test_support.run_unittest(*tests)
  69.  
  70. if __name__ == "__main__":
  71.     test_main()
  72.