BIND 10 trac1704_2, updated. 2e95197a4b47847b4ec85e83bdb1fb5edf685cd0 [1704] Test remove_lock_files()

BIND 10 source code commits bind10-changes at lists.isc.org
Fri May 25 06:30:10 UTC 2012


The branch, trac1704_2 has been updated
       via  2e95197a4b47847b4ec85e83bdb1fb5edf685cd0 (commit)
       via  7c1277b0a6750ab51611971adf77a9c2740511cc (commit)
      from  994827bfe0a9b77d3bf724768a2403965cb8ad57 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2e95197a4b47847b4ec85e83bdb1fb5edf685cd0
Author: Mukund Sivaraman <muks at isc.org>
Date:   Fri May 25 11:59:29 2012 +0530

    [1704] Test remove_lock_files()

commit 7c1277b0a6750ab51611971adf77a9c2740511cc
Author: Mukund Sivaraman <muks at isc.org>
Date:   Fri May 25 11:06:19 2012 +0530

    [1704] Use B10_FROM_BUILD instead of B10_FROM_SOURCE (contd.)

-----------------------------------------------------------------------

Summary of changes:
 src/bin/bind10/bind10_src.py.in        |    4 +++-
 src/bin/bind10/tests/Makefile.am       |    1 +
 src/bin/bind10/tests/bind10_test.py.in |   37 ++++++++++++++++++++++++++++++++
 src/lib/util/tests/run_unittests.cc    |    2 +-
 4 files changed, 42 insertions(+), 2 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/bin/bind10/bind10_src.py.in b/src/bin/bind10/bind10_src.py.in
index 6b6bd64..0091eac 100755
--- a/src/bin/bind10/bind10_src.py.in
+++ b/src/bin/bind10/bind10_src.py.in
@@ -1138,7 +1138,9 @@ def remove_lock_files():
         lpath = os.environ["B10_FROM_SOURCE_LOCALSTATEDIR"]
 
     for f in lockfiles:
-        os.unlink(lpath + '/' + f)
+        fname = lpath + '/' + f
+        if os.path.isfile(fname):
+            os.unlink(fname)
 
     return
 
diff --git a/src/bin/bind10/tests/Makefile.am b/src/bin/bind10/tests/Makefile.am
index d54ee56..82958af 100644
--- a/src/bin/bind10/tests/Makefile.am
+++ b/src/bin/bind10/tests/Makefile.am
@@ -23,6 +23,7 @@ endif
 	chmod +x $(abs_builddir)/$$pytest ; \
 	$(LIBRARY_PATH_PLACEHOLDER) \
 	PYTHONPATH=$(COMMON_PYTHON_PATH):$(abs_top_srcdir)/src/bin:$(abs_top_builddir)/src/bin/bind10:$(abs_top_builddir)/src/lib/util/io/.libs \
+	LOCKFILE_TESTPATH=$(abs_top_builddir)/src/bin/bind10/tests/lockfile_test \
 	BIND10_MSGQ_SOCKET_FILE=$(abs_top_builddir)/msgq_socket \
 		$(PYCOVERAGE_RUN) $(abs_builddir)/$$pytest || exit ; \
 	done
diff --git a/src/bin/bind10/tests/bind10_test.py.in b/src/bin/bind10/tests/bind10_test.py.in
index 84a9da9..345e053 100644
--- a/src/bin/bind10/tests/bind10_test.py.in
+++ b/src/bin/bind10/tests/bind10_test.py.in
@@ -1463,6 +1463,43 @@ class SocketSrvTest(unittest.TestCase):
         self.assertEqual({}, self.__boss._unix_sockets)
         self.assertTrue(sock.closed)
 
+class TestFunctions(unittest.TestCase):
+    def test_remove_lock_files(self):
+        if not os.path.isdir(os.environ["LOCKFILE_TESTPATH"]):
+            os.mkdir(os.environ["LOCKFILE_TESTPATH"])
+
+        if "B10_FROM_BUILD" in os.environ:
+            oldenv = os.environ["B10_FROM_BUILD"]
+        else:
+            oldenv = None
+
+        os.environ["B10_FROM_BUILD"] = os.environ["LOCKFILE_TESTPATH"]
+
+        # create lockfiles for the testcase
+        lockfiles = ["logger_lockfile"]
+        for f in lockfiles:
+            fname = os.environ["B10_FROM_BUILD"] + '/' + f
+            if not os.path.isfile(fname):
+                open(fname, "w").close()
+
+        # first call should clear up all the lockfiles
+        bind10_src.remove_lock_files()
+
+        # check if the lockfiles exist
+        for f in lockfiles:
+            fname = os.environ["B10_FROM_BUILD"] + '/' + f
+            self.assertFalse(os.path.isfile(fname))
+
+        # second call should not assert anyway
+        bind10_src.remove_lock_files()
+
+        os.rmdir(os.environ["LOCKFILE_TESTPATH"])
+
+        if oldenv is not None:
+            os.environ["B10_FROM_BUILD"] = oldenv
+        else:
+            os.environ.pop("B10_FROM_BUILD")
+
 if __name__ == '__main__':
     # store os.environ for test_unchanged_environment
     original_os_environ = copy.deepcopy(os.environ)
diff --git a/src/lib/util/tests/run_unittests.cc b/src/lib/util/tests/run_unittests.cc
index 0be7247..a5d8b44 100644
--- a/src/lib/util/tests/run_unittests.cc
+++ b/src/lib/util/tests/run_unittests.cc
@@ -20,6 +20,6 @@ int
 main(int argc, char* argv[]) {
     ::testing::InitGoogleTest(&argc, argv);
 
-    setenv("B10_FROM_SOURCE", TEST_DATA_TOPBUILDDIR, 1);
+    setenv("B10_FROM_BUILD", TEST_DATA_TOPBUILDDIR, 1);
     return (isc::util::unittests::run_all());
 }



More information about the bind10-changes mailing list