Rev 3173: Start implementing a test list saving/loading facility. in file:///v/home/vila/src/bzr/experimental/selftest/

Vincent Ladeuil v.ladeuil+lp at free.fr
Thu Jan 10 10:14:50 GMT 2008


At file:///v/home/vila/src/bzr/experimental/selftest/

------------------------------------------------------------
revno: 3173
revision-id:v.ladeuil+lp at free.fr-20080110101445-zgxudx4bq2q41352
parent: pqm at pqm.ubuntu.com-20080110025628-6tl4b9cmdn335suw
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: selftest
timestamp: Thu 2008-01-10 11:14:45 +0100
message:
  Start implementing a test list saving/loading facility.
  
  * bzrlib/tests/test_selftest.py:
  (TestSelftestLoader): Tests for saving/loading test lists.
  
  * bzrlib/tests/__init__.py:
  (save_test_list, load_test_list): Fake implementations.
modified:
  bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
  bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
-------------- next part --------------
=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py	2007-12-19 09:32:56 +0000
+++ b/bzrlib/tests/__init__.py	2008-01-10 10:14:45 +0000
@@ -2748,6 +2748,23 @@
     return suite
 
 
+def save_test_list(suite, file_name):
+    ftest = open(file_name, 'wb')
+    ftest.close()
+
+
+def load_test_list(file_name):
+    suite = TestUtil.TestSuite()
+    try:
+        ftest = open(file_name, 'rb')
+    except IOError, e:
+        if e.errno != errno.ENOENT:
+            raise
+        else:
+            raise errors.NoSuchFile(file_name)
+    ftest.close()
+    return suite
+
 def multiply_scenarios(scenarios_left, scenarios_right):
     """Multiply two sets of scenarios.
 

=== modified file 'bzrlib/tests/test_selftest.py'
--- a/bzrlib/tests/test_selftest.py	2008-01-03 19:12:30 +0000
+++ b/bzrlib/tests/test_selftest.py	2008-01-10 10:14:45 +0000
@@ -32,6 +32,7 @@
     osutils,
     repository,
     symbol_versioning,
+    tests,
     )
 from bzrlib.progress import _BaseProgressBar
 from bzrlib.repofmt import weaverepo
@@ -1842,3 +1843,35 @@
         module.__class__.load_tests = load_tests
         self.assertEqual(2, loader.loadTestsFromModule(module).countTestCases())
 
+
+class TestSelftestLoader(TestCaseInTempDir):
+    """Tests for saving/loading test lists."""
+
+    def _create_test_list(self):
+        suite = tests.TestSuite()
+
+        class Stub(TestCase):
+            def test_foo(self):
+                pass
+
+        test = Stub('test_foo')
+        suite.addTest(test)
+        return suite
+
+    def test_save_test_list(self):
+        suite = self._create_test_list()
+        test_list_fname = 'test.list'
+        tests.save_test_list(suite, test_list_fname)
+        self.failUnlessExists(test_list_fname)
+
+    def test_load_test_list_unknown(self):
+        self.assertRaises(errors.NoSuchFile,
+                          tests.load_test_list, 'i_do_not_exist')
+
+    def test_load_test_list(self):
+        suite = self._create_test_list()
+        test_list_fname = 'test.list'
+        tests.save_test_list(suite, test_list_fname)
+
+        suite = tests.load_test_list(test_list_fname)
+        self.assertIsInstance(suite, TestSuite)



More information about the bazaar-commits mailing list