[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