From: Mukund Sivaraman Date: Fri, 29 Jun 2012 01:10:26 +0000 (+0530) Subject: [2062] Add tests for isc.sysinfo.SysInfo X-Git-Tag: trac2351_base~197^2~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7e93a92e0d3f54263bd0d72cbdcb06c30229ac1f;p=thirdparty%2Fkea.git [2062] Add tests for isc.sysinfo.SysInfo --- diff --git a/configure.ac b/configure.ac index 0ff798257a..3fdb6fb354 100644 --- a/configure.ac +++ b/configure.ac @@ -1084,6 +1084,7 @@ AC_CONFIG_FILES([Makefile src/lib/python/isc/server_common/Makefile src/lib/python/isc/server_common/tests/Makefile src/lib/python/isc/sysinfo/Makefile + src/lib/python/isc/sysinfo/tests/Makefile src/lib/config/Makefile src/lib/config/tests/Makefile src/lib/config/tests/testdata/Makefile diff --git a/src/lib/python/isc/sysinfo/Makefile.am b/src/lib/python/isc/sysinfo/Makefile.am index 970fbed1ba..aebbc2e024 100644 --- a/src/lib/python/isc/sysinfo/Makefile.am +++ b/src/lib/python/isc/sysinfo/Makefile.am @@ -1,3 +1,5 @@ +SUBDIRS = . tests + python_PYTHON = __init__.py python_PYTHON += sysinfo.py diff --git a/src/lib/python/isc/sysinfo/tests/Makefile.am b/src/lib/python/isc/sysinfo/tests/Makefile.am new file mode 100644 index 0000000000..209c71f46a --- /dev/null +++ b/src/lib/python/isc/sysinfo/tests/Makefile.am @@ -0,0 +1,16 @@ +PYCOVERAGE_RUN = @PYCOVERAGE_RUN@ +PYTESTS = sysinfo_test.py +EXTRA_DIST = $(PYTESTS) + +# 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 ; \ + PYTHONPATH=$(COMMON_PYTHON_PATH) \ + $(PYCOVERAGE_RUN) $(abs_srcdir)/$$pytest || exit ; \ + done diff --git a/src/lib/python/isc/sysinfo/tests/sysinfo_test.py b/src/lib/python/isc/sysinfo/tests/sysinfo_test.py new file mode 100644 index 0000000000..239ebd3766 --- /dev/null +++ b/src/lib/python/isc/sysinfo/tests/sysinfo_test.py @@ -0,0 +1,46 @@ +# Copyright (C) 2012 Internet Systems Consortium. +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SYSTEMS CONSORTIUM +# DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +# INTERNET SYSTEMS CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +from isc.sysinfo import * +import unittest + +class SysInfoTest(unittest.TestCase): + def test_sysinfo(self): + """Test that the various methods on SysInfo exist and return data.""" + + s = SysInfo() + self.assertEqual(-1, s.get_num_processors()) + self.assertEqual('Unknown', s.get_endianness()) + self.assertEqual('', s.get_platform_hostname()) + self.assertEqual('Unknown', s.get_platform_name()) + self.assertEqual('Unknown', s.get_platform_version()) + self.assertEqual('Unknown', s.get_platform_machine()) + self.assertFalse(s.get_platform_is_smp()) + self.assertEqual(-1, s.get_uptime()) + self.assertEqual([-1.0, -1.0, -1.0], s.get_loadavg()) + self.assertEqual(-1, s.get_mem_total()) + self.assertEqual(-1, s.get_mem_free()) + self.assertEqual(-1, s.get_mem_cached()) + self.assertEqual(-1, s.get_mem_buffers()) + self.assertEqual(-1, s.get_mem_swap_total()) + self.assertEqual(-1, s.get_mem_swap_free()) + self.assertEqual('Unknown', s.get_platform_distro()) + self.assertEqual('Unknown', s.get_net_interfaces()) + self.assertEqual('Unknown', s.get_net_routing_table()) + self.assertEqual('Unknown', s.get_net_stats()) + self.assertEqual('Unknown', s.get_net_connections()) + +if __name__ == "__main__": + unittest.main()