From ea6791ee49793bac203770e4565ba4b8dc4fb6b0 Mon Sep 17 00:00:00 2001 From: Jürgen Knödlseder Date: Fri, 29 Jul 2016 11:49:33 +0200 Subject: [PATCH] Bug fix: include cscripts command line tests in coverage report (#1827) --- .gitignore | 1 + configure.ac | 1 + test/testing.py | 98 -------------------------------------------------------------------------------------------------- test/testing.py.in | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 101 insertions(+), 98 deletions(-) delete mode 100755 test/testing.py create mode 100755 test/testing.py.in diff --git a/.gitignore b/.gitignore index ad3dd70..efa0db4 100644 --- a/.gitignore +++ b/.gitignore @@ -85,6 +85,7 @@ test/*.eps test/*.jpg test/test_cscripts.sh test/test_examples.py +test/testing.py test/reports/*.xml test/butterfly.txt test/.coverage diff --git a/configure.ac b/configure.ac index f665da7..8672514 100644 --- a/configure.ac +++ b/configure.ac @@ -1034,6 +1034,7 @@ AC_CONFIG_FILES([Makefile test/test_python_ctools.sh test/test_python_cscripts.sh test/test_examples.py + test/testing.py pyext/Makefile pyext/setup.py pyext/ctools/__init__.py diff --git a/test/testing.py b/test/testing.py deleted file mode 100755 index 78512cc..0000000 --- a/test/testing.py +++ /dev/null @@ -1,98 +0,0 @@ -# ========================================================================== -# Python base class for unit tests -# -# Copyright (C) 2016 Juergen Knoedlseder -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# ========================================================================== -import os -import gammalib - - -# ================================ # -# Python base class for unit tests # -# ================================ # -class test(gammalib.GPythonTestSuite): - """ - Python base class for unit tests - """ - - # Constructor - def __init__(self): - """ - Constructor - """ - # Call base class constructor - gammalib.GPythonTestSuite.__init__(self) - - # Set test data directory - self._datadir = os.environ['TEST_DATA'] - - # Set some standard test data (additional test data will be set in - # the derived classes as needed) - self._events = self._datadir + '/crab_events.fits' - self._cntcube = self._datadir + '/crab_cntmap.fits' - self._model = self._datadir + '/crab.xml' - self._caldb = 'prod2' - self._irf = 'South_0.5h' - - # Return - return - - # Set script name - def _script(self, name): - """ - Set script name - """ - # Set script name dependent on whether the software is installed or - # not. If the software is not installed the 'TEST_BUILDDIR' environment - # variable will exist - if 'TEST_BUILDDIR' in os.environ: - script = os.environ['TEST_BUILDDIR'] + '/cscripts/'+name+'.py' - else: - script = name - - # Return script name - return script - - # Set tool name - def _tool(self, name): - """ - Set tool name - """ - # Set tool name dependent on whether the software is installed or - # not. If the software is not installed the 'TEST_BUILDDIR' environment - # variable will exist - if 'TEST_BUILDDIR' in os.environ: - tool = os.environ['TEST_BUILDDIR'] + '/src/'+name+'/'+name - else: - tool = name - - # Return tool name - return tool - - # Execute command and catch any exception - def _execute(self, cmd): - """ - Execute command - """ - # Execute command, make sure we catch any exception - try: - rc = os.system(cmd+' >/dev/null 2>&1') - except: - rc = -1 - - # Return return code - return rc diff --git a/test/testing.py.in b/test/testing.py.in new file mode 100755 index 0000000..ca19bc6 --- /dev/null +++ b/test/testing.py.in @@ -0,0 +1,99 @@ +# ========================================================================== +# Python base class for unit tests +# +# Copyright (C) 2016 Juergen Knoedlseder +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# ========================================================================== +import os +import gammalib + + +# ================================ # +# Python base class for unit tests # +# ================================ # +class test(gammalib.GPythonTestSuite): + """ + Python base class for unit tests + """ + + # Constructor + def __init__(self): + """ + Constructor + """ + # Call base class constructor + gammalib.GPythonTestSuite.__init__(self) + + # Set test data directory + self._datadir = os.environ['TEST_DATA'] + + # Set some standard test data (additional test data will be set in + # the derived classes as needed) + self._events = self._datadir + '/crab_events.fits' + self._cntcube = self._datadir + '/crab_cntmap.fits' + self._model = self._datadir + '/crab.xml' + self._caldb = 'prod2' + self._irf = 'South_0.5h' + + # Return + return + + # Set script name + def _script(self, name): + """ + Set script name + """ + # Set script name dependent on whether the software is installed or + # not. If the software is not installed the 'TEST_BUILDDIR' environment + # variable will exist + if 'TEST_BUILDDIR' in os.environ: + script = '@PYTHON_COVERAGE@' + os.environ['TEST_BUILDDIR'] + \ + '/cscripts/'+name+'.py' + else: + script = name + + # Return script name + return script + + # Set tool name + def _tool(self, name): + """ + Set tool name + """ + # Set tool name dependent on whether the software is installed or + # not. If the software is not installed the 'TEST_BUILDDIR' environment + # variable will exist + if 'TEST_BUILDDIR' in os.environ: + tool = os.environ['TEST_BUILDDIR'] + '/src/'+name+'/'+name + else: + tool = name + + # Return tool name + return tool + + # Execute command and catch any exception + def _execute(self, cmd): + """ + Execute command + """ + # Execute command, make sure we catch any exception + try: + rc = os.system(cmd+' >/dev/null 2>&1') + except: + rc = -1 + + # Return return code + return rc -- libgit2 0.21.4