selftest.py: Add get_interface.
authorJelmer Vernooij <jelmer@samba.org>
Sun, 25 Mar 2012 20:38:59 +0000 (21:38 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 26 Mar 2012 22:32:48 +0000 (00:32 +0200)
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Mar 27 00:32:48 CEST 2012 on sn-devel-104

selftest/target/samba.py
selftest/tests/test_samba.py

index 1ea156c0031859b9debb9bcd89963d7b0fe35ecf..666d223ff1707aa78e63aed13a432bdb1bdf30e1 100644 (file)
@@ -119,3 +119,37 @@ def cleanup_child(pid, name, outf=None):
     else:
         outf.write("%s child process %d exited with value %d.\n" % (name, childpid, status >> 8))
     return childpid
+
+
+def get_interface(netbiosname):
+    """Return interface id for a particular server.
+    """
+    netbiosname = netbiosname.lower()
+
+    interfaces = {
+        "locals3dc2": 2,
+        "localmember3": 3,
+        "localshare4": 4,
+        "localserver5": 5,
+        "localktest6": 6,
+        "maptoguest": 7,
+
+        # 11-16 used by selftest.pl for client interfaces
+        "localdc": 21,
+        "localvampiredc": 22,
+        "s4member": 23,
+        "localrpcproxy": 24,
+        "dc5": 25,
+        "dc6": 26,
+        "dc7": 27,
+        "rodc": 28,
+        "localadmember": 29,
+        "plugindc": 30,
+        "localsubdc": 31,
+        "chgdcpass": 32,
+    }
+
+    # update lib/socket_wrapper/socket_wrapper.c
+    #  #define MAX_WRAPPED_INTERFACES 32
+    # if you wish to have more than 32 interfaces
+    return interfaces[netbiosname]
index f06d846debf6f9b30120bd9375bcefb24cebbdd6..b49463eabb96e1ad693250d620cdad5abb72663e 100644 (file)
 
 """Tests for selftest.target.samba."""
 
-import os
-import sys
-
 from cStringIO import StringIO
 
 from selftest.tests import TestCase
 
 from selftest.target.samba import (
     bindir_path,
-    cleanup_child,
+    get_interface,
     mk_realms_stanza,
     write_krb5_conf,
     )
@@ -107,3 +104,13 @@ class WriteKrb5ConfTests(TestCase):
  }
 
 ''', f.getvalue())
+
+
+class GetInterfaceTests(TestCase):
+
+    def test_get_interface(self):
+        self.assertEquals(21, get_interface("localdc"))
+        self.assertEquals(4, get_interface("localshare4"))
+
+    def test_unknown(self):
+        self.assertRaises(KeyError, get_interface, "unknown")