]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2062] Add tests for isc.sysinfo.SysInfo
authorMukund Sivaraman <muks@isc.org>
Fri, 29 Jun 2012 01:10:26 +0000 (06:40 +0530)
committerMukund Sivaraman <muks@isc.org>
Fri, 29 Jun 2012 01:10:26 +0000 (06:40 +0530)
configure.ac
src/lib/python/isc/sysinfo/Makefile.am
src/lib/python/isc/sysinfo/tests/Makefile.am [new file with mode: 0644]
src/lib/python/isc/sysinfo/tests/sysinfo_test.py [new file with mode: 0644]

index 0ff798257a838152dfba34615e46a7df2e6fe3df..3fdb6fb354d572538a598c8dd12e55a207212c1f 100644 (file)
@@ -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
index 970fbed1ba5d554f16afbba09b900faaae3a044f..aebbc2e024df0d3d707f7791b93a4867e8c53516 100644 (file)
@@ -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 (file)
index 0000000..209c71f
--- /dev/null
@@ -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 (file)
index 0000000..239ebd3
--- /dev/null
@@ -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()