[svn] commit: r2926 - in /branches/trac191-rebased/src/bin/stats: run_b10-stats.sh.in run_b10-stats_stub.sh.in stats.py.in stats_stub.py.in tests/Makefile.am tests/b10-stats_stub_test.py tests/b10-stats_test.py tests/stats_test.in

BIND 10 source code commits bind10-changes at lists.isc.org
Wed Sep 15 03:35:27 UTC 2010


Author: naokikambe
Date: Wed Sep 15 03:35:27 2010
New Revision: 2926

Log:
changes related to environment variables:
- fix ''PYTHONPATH''
- rename ''B10_FROM_SOURCE'' to ''B10_FROM_BUILD''
- fix ''TEST_PATH''

''b10-stats_test.py'':
- add more test related to command ''command_increase''

''stats.py.in'':
- fix arguments in ''Callback'' class
- fix in ''command_increase'' method
--- put ''args['stats_data']'' in argument of internal function ''__increase_data()'' instead of calling ''stats_data.update()'' above

Modified:
    branches/trac191-rebased/src/bin/stats/run_b10-stats.sh.in
    branches/trac191-rebased/src/bin/stats/run_b10-stats_stub.sh.in
    branches/trac191-rebased/src/bin/stats/stats.py.in
    branches/trac191-rebased/src/bin/stats/stats_stub.py.in
    branches/trac191-rebased/src/bin/stats/tests/Makefile.am
    branches/trac191-rebased/src/bin/stats/tests/b10-stats_stub_test.py
    branches/trac191-rebased/src/bin/stats/tests/b10-stats_test.py
    branches/trac191-rebased/src/bin/stats/tests/stats_test.in

Modified: branches/trac191-rebased/src/bin/stats/run_b10-stats.sh.in
==============================================================================
--- branches/trac191-rebased/src/bin/stats/run_b10-stats.sh.in (original)
+++ branches/trac191-rebased/src/bin/stats/run_b10-stats.sh.in Wed Sep 15 03:35:27 2010
@@ -18,11 +18,11 @@
 PYTHON_EXEC=${PYTHON_EXEC:- at PYTHON@}
 export PYTHON_EXEC
 
-PYTHONPATH=@abs_top_builddir@/src/lib/python:@abs_top_builddir@/src/bin
+PYTHONPATH=@abs_top_builddir@/src/lib/python
 export PYTHONPATH
 
-B10_FROM_SOURCE=@abs_top_srcdir@
-export B10_FROM_SOURCE
+B10_FROM_BUILD=@abs_top_builddir@
+export B10_FROM_BUILD
 
 STATS_PATH=@abs_top_builddir@/src/bin/stats
 

Modified: branches/trac191-rebased/src/bin/stats/run_b10-stats_stub.sh.in
==============================================================================
--- branches/trac191-rebased/src/bin/stats/run_b10-stats_stub.sh.in (original)
+++ branches/trac191-rebased/src/bin/stats/run_b10-stats_stub.sh.in Wed Sep 15 03:35:27 2010
@@ -18,11 +18,11 @@
 PYTHON_EXEC=${PYTHON_EXEC:- at PYTHON@}
 export PYTHON_EXEC
 
-PYTHONPATH=@abs_top_builddir@/src/lib/python:@abs_top_builddir@/src/bin
+PYTHONPATH=@abs_top_builddir@/src/lib/python
 export PYTHONPATH
 
-B10_FROM_SOURCE=@abs_top_srcdir@
-export B10_FROM_SOURCE
+B10_FROM_BUILD=@abs_top_srcdir@
+export B10_FROM_BUILD
 
 STATS_PATH=@abs_top_builddir@/src/bin/stats
 

Modified: branches/trac191-rebased/src/bin/stats/stats.py.in
==============================================================================
--- branches/trac191-rebased/src/bin/stats/stats.py.in (original)
+++ branches/trac191-rebased/src/bin/stats/stats.py.in Wed Sep 15 03:35:27 2010
@@ -34,7 +34,7 @@
     except ImportError:					#@@REMOVED@@
         pass						#@@REMOVED@@
 
-# If B10_FROM_SOURCE is set in the environment, we use data files
+# If B10_FROM_BUILD is set in the environment, we use data files
 # from a directory relative to that, otherwise we use the ones
 # installed on the system
 if "B10_FROM_BUILD" in os.environ:
@@ -73,19 +73,19 @@
     """
     A Callback handler class
     """
-    def __init__(self, name, callback=None, *args, **kwargs):
-        self.name=name
-        self.callback=callback
-        self.args=args
-        self.kwargs=kwargs
+    def __init__(self, name=None, callback=None, args=(), kwargs={}):
+        self.name = name
+        self.callback = callback
+        self.args = args
+        self.kwargs = kwargs
 
     def __call__(self, *args, **kwargs):
-        if args:
-            self.args = args
-        if kwargs:
-            self.kwargs.update(kwargs)
+        if not args:
+            args = self.args
+        if not kwargs:
+            kwargs = self.kwargs
         if self.callback:
-            return self.callback(*self.args, **self.kwargs)
+            return self.callback(*args, **kwargs)
 
 class Subject():
     """
@@ -204,7 +204,7 @@
                 name = "command_" + cmd["command_name"]
                 callback = eval("self." + name)
                 kwargs = self.initialize_data(cmd["command_args"])
-                self.add_event(Callback(name, callback, **kwargs))
+                self.add_event(Callback(name=name, callback=callback, args=(), kwargs=kwargs))
             except AttributeError as ae:
                 sys.stderr.write("[b10-stats] Caught undefined command while parsing spec file: "
                                  +str(cmd["command_name"])+"\n")
@@ -285,9 +285,6 @@
         """
         if self.verbose:
             sys.stdout.write("[b10-stats] 'increase' command received, args: "+str(args)+"\n")
-
-        # 'args' must be dictionary type
-        stats_data.update(args['stats_data'])
 
         # A internal private function increase for each element, which
         # is called recursively
@@ -311,7 +308,8 @@
             return data
 
         # call the internal function
-        self.stats_data = __increase_data(self.stats_data, stats_data)
+        # 'args' must be dictionary type
+        self.stats_data = __increase_data(self.stats_data, args['stats_data'])
 
         # overwrite "stats.LastUpdateTime"
         self.stats_data['stats.last_update_time'] = get_datetime()

Modified: branches/trac191-rebased/src/bin/stats/stats_stub.py.in
==============================================================================
--- branches/trac191-rebased/src/bin/stats/stats_stub.py.in (original)
+++ branches/trac191-rebased/src/bin/stats/stats_stub.py.in Wed Sep 15 03:35:27 2010
@@ -26,7 +26,7 @@
 from isc.cc import Session, SessionError
 from stats import get_datetime
 
-# If B10_FROM_SOURCE is set in the environment, we use data files
+# If B10_FROM_BUILD is set in the environment, we use data files
 # from a directory relative to that, otherwise we use the ones
 # installed on the system
 if "B10_FROM_BUILD" in os.environ:

Modified: branches/trac191-rebased/src/bin/stats/tests/Makefile.am
==============================================================================
--- branches/trac191-rebased/src/bin/stats/tests/Makefile.am (original)
+++ branches/trac191-rebased/src/bin/stats/tests/Makefile.am Wed Sep 15 03:35:27 2010
@@ -9,6 +9,6 @@
 	for pytest in $(PYTESTS) ; do \
 	echo Running test: $$pytest ; \
 	env PYTHONPATH=$(abs_top_srcdir)/src/lib/python:$(abs_top_builddir)/src/lib/python:$(abs_top_builddir)/src/bin/stats \
-	B10_FROM_SOURCE=$(abs_top_srcdir) \
+	B10_FROM_BUILD=$(abs_top_builddir) \
 	$(PYCOVERAGE) $(abs_srcdir)/$$pytest ; \
 	done

Modified: branches/trac191-rebased/src/bin/stats/tests/b10-stats_stub_test.py
==============================================================================
--- branches/trac191-rebased/src/bin/stats/tests/b10-stats_stub_test.py (original)
+++ branches/trac191-rebased/src/bin/stats/tests/b10-stats_stub_test.py Wed Sep 15 03:35:27 2010
@@ -103,13 +103,13 @@
 
     def test_osenv(self):
         """
-        test for not having environ "B10_FROM_SOURCE"
+        test for not having environ "B10_FROM_BUILD"
         """
-        if "B10_FROM_SOURCE" in os.environ:
-            path = os.environ["B10_FROM_SOURCE"]
-            os.environ.pop("B10_FROM_SOURCE")
+        if "B10_FROM_BUILD" in os.environ:
+            path = os.environ["B10_FROM_BUILD"]
+            os.environ.pop("B10_FROM_BUILD")
             imp.reload(stats_stub)
-            os.environ["B10_FROM_SOURCE"] = path
+            os.environ["B10_FROM_BUILD"] = path
             imp.reload(stats_stub)
 
 if __name__ == "__main__":

Modified: branches/trac191-rebased/src/bin/stats/tests/b10-stats_test.py
==============================================================================
--- branches/trac191-rebased/src/bin/stats/tests/b10-stats_test.py (original)
+++ branches/trac191-rebased/src/bin/stats/tests/b10-stats_test.py Wed Sep 15 03:35:27 2010
@@ -129,6 +129,8 @@
         """
         # test set command
         self.stats_data['auth.queries.udp'] = 54321
+        self.assertEqual(self.stats_data['auth.queries.udp'], 54321)
+        self.assertEqual(self.stats_data['auth.queries.tcp'], 0)
         self.session.group_sendmsg({ "command": [
                                       "set", {
                                           'stats_data': {'auth.queries.udp': 54321 }
@@ -150,6 +152,8 @@
 
         # test set command 2
         self.stats_data['auth.queries.udp'] = 0
+        self.assertEqual(self.stats_data['auth.queries.udp'], 0)
+        self.assertEqual(self.stats_data['auth.queries.tcp'], 0)
         self.session.group_sendmsg({ "command": [ "set", {'stats_data': {'auth.queries.udp': 0}} ]},
                                    "Stats")
         self.assertEqual(len(self.session.message_queue), 1)
@@ -166,6 +170,29 @@
         self.assertEqual(result_ok(0, self.stats_data), result_data)
         self.assertEqual(len(self.session.message_queue), 0)
 
+        # test set command 3
+        self.stats_data['auth.queries.tcp'] = 54322
+        self.assertEqual(self.stats_data['auth.queries.udp'], 0)
+        self.assertEqual(self.stats_data['auth.queries.tcp'], 54322)
+        self.session.group_sendmsg({ "command": [
+                                      "set", {
+                                          'stats_data': {'auth.queries.tcp': 54322 }
+                                      } ] },
+                                   "Stats")
+        self.assertEqual(len(self.session.message_queue), 1)
+        self.subject.check()
+        self.assertEqual(result_ok(),
+                         self.session.get_message("Stats", None))
+        self.assertEqual(len(self.session.message_queue), 0)
+
+        # test show command 3
+        self.session.group_sendmsg({"command": [ "show", None ]}, "Stats")
+        self.assertEqual(len(self.session.message_queue), 1)
+        self.subject.check()
+        result_data = self.session.get_message("Stats", None)
+        self.assertEqual(result_ok(0, self.stats_data), result_data)
+        self.assertEqual(len(self.session.message_queue), 0)
+
     def test_increase_command(self):
         """
         Test for increase command
@@ -173,8 +200,52 @@
         """
         # test increase command
         self.stats_data['auth.queries.udp'] = self.stats_data['auth.queries.udp'] + int(1)
+        self.assertEqual(self.stats_data['auth.queries.udp'], 1)
+        self.assertEqual(self.stats_data['auth.queries.tcp'], 0)
         self.session.group_sendmsg({"command": [
                                       "increase", {'stats_data': {'auth.queries.udp': int(1) }} ]},
+                                   "Stats")
+        self.assertEqual(len(self.session.message_queue), 1)
+        self.subject.check()
+        self.assertEqual(result_ok(),
+                         self.session.get_message("Stats", None))
+        self.assertEqual(len(self.session.message_queue), 0)
+
+        # test show command
+        self.session.group_sendmsg({"command": [ "show", None ]}, "Stats")
+        self.assertEqual(len(self.session.message_queue), 1)
+        self.subject.check()
+        result_data = self.session.get_message("Stats", None)
+        self.assertEqual(result_ok(0, self.stats_data), result_data)
+        self.assertEqual(len(self.session.message_queue), 0)
+
+        # test increase command
+        self.stats_data['auth.queries.udp'] = self.stats_data['auth.queries.udp'] + int(1)
+        self.assertEqual(self.stats_data['auth.queries.udp'], 2)
+        self.assertEqual(self.stats_data['auth.queries.tcp'], 0)
+        self.session.group_sendmsg({"command": [
+                                      "increase", {'stats_data': {'auth.queries.udp': int(1) }} ]},
+                                   "Stats")
+        self.assertEqual(len(self.session.message_queue), 1)
+        self.subject.check()
+        self.assertEqual(result_ok(),
+                         self.session.get_message("Stats", None))
+        self.assertEqual(len(self.session.message_queue), 0)
+
+        # test show command
+        self.session.group_sendmsg({"command": [ "show", None ]}, "Stats")
+        self.assertEqual(len(self.session.message_queue), 1)
+        self.subject.check()
+        result_data = self.session.get_message("Stats", None)
+        self.assertEqual(result_ok(0, self.stats_data), result_data)
+        self.assertEqual(len(self.session.message_queue), 0)
+
+        # test increase command
+        self.stats_data['auth.queries.tcp'] = self.stats_data['auth.queries.tcp'] + int(1)
+        self.assertEqual(self.stats_data['auth.queries.udp'], 2)
+        self.assertEqual(self.stats_data['auth.queries.tcp'], 1)
+        self.session.group_sendmsg({"command": [
+                                      "increase", {'stats_data': {'auth.queries.tcp': int(1) }} ]},
                                    "Stats")
         self.assertEqual(len(self.session.message_queue), 1)
         self.subject.check()
@@ -589,9 +660,9 @@
         Test for specfile
         
         """
-        if "B10_FROM_SOURCE" in os.environ:
+        if "B10_FROM_BUILD" in os.environ:
             self.assertEqual(stats.SPECFILE_LOCATION,
-                             os.environ["B10_FROM_SOURCE"] + "/src/bin/stats/stats.spec")
+                             os.environ["B10_FROM_BUILD"] + "/src/bin/stats/stats.spec")
         imp.reload(stats)
         # change path of SPECFILE_LOCATION
         stats.SPECFILE_LOCATION = TEST_SPECFILE_LOCATION
@@ -685,13 +756,13 @@
 
     def test_osenv(self):
         """
-        test for not having environ "B10_FROM_SOURCE"
-        """
-        if "B10_FROM_SOURCE" in os.environ:
-            path = os.environ["B10_FROM_SOURCE"]
-            os.environ.pop("B10_FROM_SOURCE")
+        test for not having environ "B10_FROM_BUILD"
+        """
+        if "B10_FROM_BUILD" in os.environ:
+            path = os.environ["B10_FROM_BUILD"]
+            os.environ.pop("B10_FROM_BUILD")
             imp.reload(stats)
-            os.environ["B10_FROM_SOURCE"] = path
+            os.environ["B10_FROM_BUILD"] = path
             imp.reload(stats)
 
 def result_ok(*args):

Modified: branches/trac191-rebased/src/bin/stats/tests/stats_test.in
==============================================================================
--- branches/trac191-rebased/src/bin/stats/tests/stats_test.in (original)
+++ branches/trac191-rebased/src/bin/stats/tests/stats_test.in Wed Sep 15 03:35:27 2010
@@ -18,13 +18,14 @@
 PYTHON_EXEC=${PYTHON_EXEC:- at PYTHON@}
 export PYTHON_EXEC
 
-PYTHONPATH=@abs_top_srcdir@/src/lib/python:@abs_top_srcdir@/src/bin/stats
+PYTHONPATH=@abs_top_builddir@/src/lib/python:@abs_top_srcdir@/src/bin/stats
 export PYTHONPATH
 
-B10_FROM_SOURCE=@abs_top_srcdir@
-export B10_FROM_SOURCE
+B10_FROM_BUILD=@abs_top_builddir@
+export B10_FROM_BUILD
 
-cd ${BIND10_PATH}
-${PYTHON_EXEC} -O ${STATS_PATH}/b10-stats_test.py $*
+TEST_PATH=@abs_top_srcdir@/src/bin/stats/tests
 
-${PYTHON_EXEC} -O ${STATS_PATH}/b10-stats_stub_test.py $*
+cd ${TEST_PATH}
+${PYTHON_EXEC} -O b10-stats_test.py $*
+${PYTHON_EXEC} -O b10-stats_stub_test.py $*




More information about the bind10-changes mailing list