BIND 10 trac2062, updated. 304e2b97b852eeaee4d6be57d54dc30a413dbbd1 [2062] Add a testcase for SysInfoFromFactory

BIND 10 source code commits bind10-changes at lists.isc.org
Mon Jul 2 05:08:05 UTC 2012


The branch, trac2062 has been updated
       via  304e2b97b852eeaee4d6be57d54dc30a413dbbd1 (commit)
       via  c7017fc5e4fb0ec1b7b3fa84f96e91d68e0a46f2 (commit)
      from  fdc9afcf5e90f2d6cacf9da65cb8ab1d7e515fd0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 304e2b97b852eeaee4d6be57d54dc30a413dbbd1
Author: Mukund Sivaraman <muks at isc.org>
Date:   Mon Jul 2 10:37:33 2012 +0530

    [2062] Add a testcase for SysInfoFromFactory

commit c7017fc5e4fb0ec1b7b3fa84f96e91d68e0a46f2
Author: Mukund Sivaraman <muks at isc.org>
Date:   Mon Jul 2 10:37:07 2012 +0530

    [2062] Call parent's __init__() in SysInfoLinux

-----------------------------------------------------------------------

Summary of changes:
 src/lib/python/isc/sysinfo/sysinfo.py            |   11 +++++++
 src/lib/python/isc/sysinfo/tests/sysinfo_test.py |   35 ++++++++++++++++++++++
 2 files changed, 46 insertions(+)

-----------------------------------------------------------------------
diff --git a/src/lib/python/isc/sysinfo/sysinfo.py b/src/lib/python/isc/sysinfo/sysinfo.py
index 8567070..184b408 100644
--- a/src/lib/python/isc/sysinfo/sysinfo.py
+++ b/src/lib/python/isc/sysinfo/sysinfo.py
@@ -132,6 +132,8 @@ class SysInfoLinux(SysInfo):
     See the base class documentation for more information.
     """
     def __init__(self):
+        super().__init__()
+
         self._num_processors = os.sysconf('SC_NPROCESSORS_CONF')
         self._endianness = sys.byteorder
 
@@ -265,9 +267,18 @@ class SysInfoLinux(SysInfo):
         if self._net_connections is None:
             self._net_connections = 'Unknown'
 
+class SysInfoTestcase(SysInfo):
+    def __init__(self):
+        super().__init__()
+        self._endianness = 'bigrastafarian'
+        self._platform_name = 'b10test'
+        self._uptime = 131072
+
 def SysInfoFromFactory():
     osname = platform.system()
     if osname == 'Linux':
         return SysInfoLinux()
+    elif osname == 'BIND10Testcase':
+        return SysInfoTestcase()
     else:
         return SysInfo()
diff --git a/src/lib/python/isc/sysinfo/tests/sysinfo_test.py b/src/lib/python/isc/sysinfo/tests/sysinfo_test.py
index 239ebd3..3436fb6 100644
--- a/src/lib/python/isc/sysinfo/tests/sysinfo_test.py
+++ b/src/lib/python/isc/sysinfo/tests/sysinfo_test.py
@@ -15,6 +15,10 @@
 
 from isc.sysinfo import *
 import unittest
+import platform
+
+def _my_system():
+    return 'BIND10Testcase'
 
 class SysInfoTest(unittest.TestCase):
     def test_sysinfo(self):
@@ -42,5 +46,36 @@ class SysInfoTest(unittest.TestCase):
         self.assertEqual('Unknown', s.get_net_stats())
         self.assertEqual('Unknown', s.get_net_connections())
 
+    def test_sysinfo_factory(self):
+        """Test that SysInfoFromFactory returns a valid system-specific
+        SysInfo implementation."""
+
+        old_system = platform.system
+        platform.system = _my_system
+
+        s = SysInfoFromFactory()
+        self.assertEqual(-1, s.get_num_processors())
+        self.assertEqual('bigrastafarian', s.get_endianness())
+        self.assertEqual('', s.get_platform_hostname())
+        self.assertEqual('b10test', 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(131072, 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())
+
+        platform.system = old_system
+
 if __name__ == "__main__":
     unittest.main()



More information about the bind10-changes mailing list