[svn] commit: r3136 - in /branches/trac362: ./ src/bin/bind10/tests/ src/bin/bindctl/tests/ src/bin/cmdctl/tests/ src/bin/msgq/tests/ src/bin/xfrin/tests/ src/bin/xfrout/tests/ src/bin/zonemgr/tests/ src/lib/python/isc/cc/tests/ src/lib/python/isc/config/tests/ src/lib/python/isc/notify/tests/

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Oct 7 17:30:21 UTC 2010


Author: jreed
Date: Thu Oct  7 17:30:20 2010
New Revision: 3136

Log:
Add  --with-pycoverage option to configure.
This will run Python "coverage" tool instead of Python itself
for the python test scripts.

Then "make check" will create python coverage data which
can make a report.
I will also add make targets for creating reports later.

Modified:
    branches/trac362/configure.ac
    branches/trac362/src/bin/bind10/tests/Makefile.am
    branches/trac362/src/bin/bindctl/tests/Makefile.am
    branches/trac362/src/bin/cmdctl/tests/Makefile.am
    branches/trac362/src/bin/msgq/tests/Makefile.am
    branches/trac362/src/bin/xfrin/tests/Makefile.am
    branches/trac362/src/bin/xfrout/tests/Makefile.am
    branches/trac362/src/bin/zonemgr/tests/Makefile.am
    branches/trac362/src/lib/python/isc/cc/tests/Makefile.am
    branches/trac362/src/lib/python/isc/config/tests/Makefile.am
    branches/trac362/src/lib/python/isc/notify/tests/Makefile.am

Modified: branches/trac362/configure.ac
==============================================================================
--- branches/trac362/configure.ac (original)
+++ branches/trac362/configure.ac Thu Oct  7 17:30:20 2010
@@ -253,6 +253,16 @@
         [AC_MSG_RESULT(yes)
         AC_DEFINE(HAVE_SA_LEN, 1, [Define to 1 if sockaddr has a sa_len member, and corresponding sin_len and sun_len])],
         AC_MSG_RESULT(no))
+
+AC_ARG_WITH(pycoverage,
+[  --with-pycoverage[=PROGRAM]         enable python code coverage using the specified coverage], pycoverage="$withval", pycoverage="no")
+if test "$pycoverage" != "no" ; then
+	PYCOVERAGE="coverage run --branch --append"
+else
+	PYCOVERAGE="${PYTHON}"
+fi
+AM_CONDITIONAL(ENABLE_PYTHON_COVERAGE, test x$pycoverage != xno)
+AC_SUBST(PYCOVERAGE)
 
 AC_ARG_WITH(lcov,
 [  --with-lcov[=PROGRAM]         enable gtest and coverage target using the specified lcov], lcov="$withval", lcov="no")
@@ -605,7 +615,7 @@
 
 Developer:
   Google Tests:  $gtest_path
-  Code Coverage: $USE_LCOV
+  C++ Code Coverage: $USE_LCOV
   Generate Manuals:  $enable_man
 
 END

Modified: branches/trac362/src/bin/bind10/tests/Makefile.am
==============================================================================
--- branches/trac362/src/bin/bind10/tests/Makefile.am (original)
+++ branches/trac362/src/bin/bind10/tests/Makefile.am Thu Oct  7 17:30:20 2010
@@ -1,10 +1,15 @@
+PYCOVERAGE = @PYCOVERAGE@
+#PYTESTS = args_test.py bind10_test.py
 PYTESTS = bind10_test.py
 EXTRA_DIST = $(PYTESTS)
 
-# later will have configure option to choose this, like: coverage run --branch
-PYCOVERAGE = $(PYTHON)
 # test using command-line arguments, so use check-local target instead of TESTS
 check-local:
+if ENABLE_PYTHON_COVERAGE
+	touch $(abs_top_srcdir)/.coverage 
+	rm -f .coverage
+	${LN_S} $(abs_top_srcdir)/.coverage .coverage
+endif
 	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/bind10 \

Modified: branches/trac362/src/bin/bindctl/tests/Makefile.am
==============================================================================
--- branches/trac362/src/bin/bindctl/tests/Makefile.am (original)
+++ branches/trac362/src/bin/bindctl/tests/Makefile.am Thu Oct  7 17:30:20 2010
@@ -1,10 +1,14 @@
+PYCOVERAGE = @PYCOVERAGE@
 PYTESTS = bindctl_test.py
 EXTRA_DIST = $(PYTESTS)
 
-# later will have configure option to choose this, like: coverage run --branch
-PYCOVERAGE = $(PYTHON)
 # test using command-line arguments, so use check-local target instead of TESTS
 check-local:
+if ENABLE_PYTHON_COVERAGE
+	touch $(abs_top_srcdir)/.coverage 
+	rm -f .coverage
+	${LN_S} $(abs_top_srcdir)/.coverage .coverage
+endif
 	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_srcdir)/src/bin \

Modified: branches/trac362/src/bin/cmdctl/tests/Makefile.am
==============================================================================
--- branches/trac362/src/bin/cmdctl/tests/Makefile.am (original)
+++ branches/trac362/src/bin/cmdctl/tests/Makefile.am Thu Oct  7 17:30:20 2010
@@ -1,10 +1,14 @@
+PYCOVERAGE=@PYCOVERAGE@
 PYTESTS = cmdctl_test.py
 EXTRA_DIST = $(PYTESTS)
 
-# later will have configure option to choose this, like: coverage run --branch
-PYCOVERAGE = $(PYTHON)
 # test using command-line arguments, so use check-local target instead of TESTS
 check-local:
+if ENABLE_PYTHON_COVERAGE
+	touch $(abs_top_srcdir)/.coverage 
+	rm -f .coverage
+	${LN_S} $(abs_top_srcdir)/.coverage .coverage
+endif
 	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/cmdctl \

Modified: branches/trac362/src/bin/msgq/tests/Makefile.am
==============================================================================
--- branches/trac362/src/bin/msgq/tests/Makefile.am (original)
+++ branches/trac362/src/bin/msgq/tests/Makefile.am Thu Oct  7 17:30:20 2010
@@ -1,10 +1,14 @@
+PYCOVERAGE = @PYCOVERAGE@          
 PYTESTS = msgq_test.py
 EXTRA_DIST = $(PYTESTS)
 
-# later will have configure option to choose this, like: coverage run --branch
-PYCOVERAGE = $(PYTHON)
 # test using command-line arguments, so use check-local target instead of TESTS
 check-local:
+if ENABLE_PYTHON_COVERAGE
+	touch $(abs_top_srcdir)/.coverage 
+	rm -f .coverage
+	${LN_S} $(abs_top_srcdir)/.coverage .coverage
+endif
 	for pytest in $(PYTESTS) ; do \
 	echo Running test: $$pytest ; \
 	env PYTHONPATH=$(abs_top_builddir)/src/bin/msgq:$(abs_top_srcdir)/src/lib/python:$(abs_top_builddir)/src/lib/python \

Modified: branches/trac362/src/bin/xfrin/tests/Makefile.am
==============================================================================
--- branches/trac362/src/bin/xfrin/tests/Makefile.am (original)
+++ branches/trac362/src/bin/xfrin/tests/Makefile.am Thu Oct  7 17:30:20 2010
@@ -1,3 +1,4 @@
+PYCOVERAGE=@PYCOVERAGE@
 PYTESTS = xfrin_test.py
 EXTRA_DIST = $(PYTESTS)
 
@@ -8,10 +9,13 @@
 LIBRARY_PATH_PLACEHOLDER += $(ENV_LIBRARY_PATH)=$(abs_top_builddir)/src/lib/dns/.libs:$(abs_top_builddir)/src/lib/exceptions/.libs:$(abs_top_builddir)/src/lib/xfr/.libs:$$$(ENV_LIBRARY_PATH)
 endif
 
-# later will have configure option to choose this, like: coverage run --branch
-PYCOVERAGE = $(PYTHON)
 # test using command-line arguments, so use check-local target instead of TESTS
 check-local:
+if ENABLE_PYTHON_COVERAGE
+	touch $(abs_top_srcdir)/.coverage
+	rm -f .coverage
+	${LN_S} $(abs_top_srcdir)/.coverage .coverage
+endif
 	for pytest in $(PYTESTS) ; do \
 	echo Running test: $$pytest ; \
 	env PYTHONPATH=$(abs_top_builddir)/src/lib/dns/python/.libs:$(abs_top_builddir)/src/bin/xfrin:$(abs_top_srcdir)/src/lib/python:$(abs_top_builddir)/src/lib/python \

Modified: branches/trac362/src/bin/xfrout/tests/Makefile.am
==============================================================================
--- branches/trac362/src/bin/xfrout/tests/Makefile.am (original)
+++ branches/trac362/src/bin/xfrout/tests/Makefile.am Thu Oct  7 17:30:20 2010
@@ -1,3 +1,4 @@
+PYCOVERAGE=@PYCOVERAGE@
 PYTESTS = xfrout_test.py
 EXTRA_DIST = $(PYTESTS)
 
@@ -8,10 +9,13 @@
 LIBRARY_PATH_PLACEHOLDER += $(ENV_LIBRARY_PATH)=$(abs_top_builddir)/src/lib/dns/.libs:$(abs_top_builddir)/src/lib/exceptions/.libs:$(abs_top_builddir)/src/lib/xfr/.libs:$$$(ENV_LIBRARY_PATH)
 endif
 
-# later will have configure option to choose this, like: coverage run --branch
-PYCOVERAGE = $(PYTHON)
 # test using command-line arguments, so use check-local target instead of TESTS
 check-local:
+if ENABLE_PYTHON_COVERAGE
+	touch $(abs_top_srcdir)/.coverage 
+	rm -f .coverage
+	${LN_S} $(abs_top_srcdir)/.coverage .coverage
+endif
 	for pytest in $(PYTESTS) ; do \
 	echo Running test: $$pytest ; \
 	env PYTHONPATH=$(abs_top_builddir)/src/bin/xfrout:$(abs_top_srcdir)/src/lib/python:$(abs_top_builddir)/src/lib/python:$(abs_top_builddir)/src/lib/dns/python/.libs:$(abs_top_builddir)/src/lib/xfr/.libs \

Modified: branches/trac362/src/bin/zonemgr/tests/Makefile.am
==============================================================================
--- branches/trac362/src/bin/zonemgr/tests/Makefile.am (original)
+++ branches/trac362/src/bin/zonemgr/tests/Makefile.am Thu Oct  7 17:30:20 2010
@@ -1,10 +1,14 @@
+PYCOVERAGE=@PYCOVERAGE@
 PYTESTS = zonemgr_test.py
 EXTRA_DIST = $(PYTESTS)
 
-# later will have configure option to choose this, like: coverage run --branch
-PYCOVERAGE = $(PYTHON)
 # test using command-line arguments, so use check-local target instead of TESTS
 check-local:
+if ENABLE_PYTHON_COVERAGE
+	touch $(abs_top_srcdir)/.coverage 
+	rm -f .coverage
+	${LN_S} $(abs_top_srcdir)/.coverage .coverage
+endif
 	for pytest in $(PYTESTS) ; do \
 	echo Running test: $$pytest ; \
 	env PYTHONPATH=$(abs_top_builddir)/src/bin/zonemgr:$(abs_top_srcdir)/src/lib/python:$(abs_top_builddir)/src/lib/python:$(abs_top_builddir)/src/lib/dns/.libs:$(abs_top_builddir)/src/lib/dns/python/.libs:$(abs_top_builddir)/src/lib/xfr/.libs \

Modified: branches/trac362/src/lib/python/isc/cc/tests/Makefile.am
==============================================================================
--- branches/trac362/src/lib/python/isc/cc/tests/Makefile.am (original)
+++ branches/trac362/src/lib/python/isc/cc/tests/Makefile.am Thu Oct  7 17:30:20 2010
@@ -1,13 +1,18 @@
+PYCOVERAGE = @PYCOVERAGE@          
+
 PYTESTS = message_test.py data_test.py session_test.py
 # NOTE: test_session.py is to be run manually, so not automated.
 EXTRA_DIST = $(PYTESTS)
 EXTRA_DIST += sendcmd.py
 EXTRA_DIST += test_session.py
 
-# later will have configure option to choose this, like: coverage run --branch
-PYCOVERAGE = $(PYTHON)
 # test using command-line arguments, so use check-local target instead of TESTS
 check-local:
+if ENABLE_PYTHON_COVERAGE
+	touch $(abs_top_srcdir)/.coverage 
+	rm -f .coverage
+	${LN_S} $(abs_top_srcdir)/.coverage .coverage
+endif
 	for pytest in $(PYTESTS) ; do \
 	echo Running test: $$pytest ; \
 	env PYTHONPATH=$(abs_top_srcdir)/src/lib/python:$(abs_top_builddir)/src/lib/python \

Modified: branches/trac362/src/lib/python/isc/config/tests/Makefile.am
==============================================================================
--- branches/trac362/src/lib/python/isc/config/tests/Makefile.am (original)
+++ branches/trac362/src/lib/python/isc/config/tests/Makefile.am Thu Oct  7 17:30:20 2010
@@ -1,12 +1,16 @@
+PYCOVERAGE=@PYCOVERAGE@
 PYTESTS = ccsession_test.py cfgmgr_test.py config_data_test.py
 PYTESTS += module_spec_test.py
 EXTRA_DIST = $(PYTESTS)
 EXTRA_DIST += unittest_fakesession.py
 
-# later will have configure option to choose this, like: coverage run --branch
-PYCOVERAGE = $(PYTHON)
 # test using command-line arguments, so use check-local target instead of TESTS
 check-local:
+if ENABLE_PYTHON_COVERAGE
+	touch $(abs_top_srcdir)/.coverage
+	rm -f .coverage
+	${LN_S} $(abs_top_srcdir)/.coverage .coverage
+endif
 	for pytest in $(PYTESTS) ; do \
 	echo Running test: $$pytest ; \
 	env PYTHONPATH=$(abs_top_srcdir)/src/lib/python:$(abs_top_builddir)/src/lib/python \

Modified: branches/trac362/src/lib/python/isc/notify/tests/Makefile.am
==============================================================================
--- branches/trac362/src/lib/python/isc/notify/tests/Makefile.am (original)
+++ branches/trac362/src/lib/python/isc/notify/tests/Makefile.am Thu Oct  7 17:30:20 2010
@@ -1,3 +1,4 @@
+PYCOVERAGE=@PYCOVERAGE@
 PYTESTS = notify_out_test.py
 EXTRA_DIST = $(PYTESTS)
 
@@ -8,10 +9,13 @@
 LIBRARY_PATH_PLACEHOLDER += $(ENV_LIBRARY_PATH)=$(abs_top_builddir)/src/lib/dns/.libs:$(abs_top_builddir)/src/lib/exceptions/.libs:$$$(ENV_LIBRARY_PATH)
 endif
 
-# later will have configure option to choose this, like: coverage run --branch
-PYCOVERAGE = $(PYTHON)
 # test using command-line arguments, so use check-local target instead of TESTS
 check-local:
+if ENABLE_PYTHON_COVERAGE
+	touch $(abs_top_srcdir)/.coverage
+	rm -f .coverage
+	${LN_S} $(abs_top_srcdir)/.coverage .coverage
+endif
 	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/lib/dns/python/.libs \




More information about the bind10-changes mailing list