summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsource3/script/tests/test_wbinfo_sids2xids.sh3
-rwxr-xr-xsource3/script/tests/test_wbinfo_sids2xids_int.py37
2 files changed, 29 insertions, 11 deletions
diff --git a/source3/script/tests/test_wbinfo_sids2xids.sh b/source3/script/tests/test_wbinfo_sids2xids.sh
index 99d066f3e8..c50060531d 100755
--- a/source3/script/tests/test_wbinfo_sids2xids.sh
+++ b/source3/script/tests/test_wbinfo_sids2xids.sh
@@ -1,11 +1,12 @@
#!/bin/sh
WBINFO="$VALGRIND ${WBINFO:-$BINDIR/wbinfo} $CONFIGURATION"
+NET="$VALGRIND ${NET:-$BINDIR/net} $CONFIGURATION"
TEST_INT=`dirname $0`/test_wbinfo_sids2xids_int.py
incdir=`dirname $0`/../../../testprogs/blackbox
. $incdir/subunit.sh
-testit "sids2xids" ${TEST_INT} ${WBINFO} || failed=`expr $failed + 1`
+testit "sids2xids" ${TEST_INT} ${WBINFO} ${NET} || failed=`expr $failed + 1`
testok $0 $failed
diff --git a/source3/script/tests/test_wbinfo_sids2xids_int.py b/source3/script/tests/test_wbinfo_sids2xids_int.py
index 87db0efed2..8826f53f1f 100755
--- a/source3/script/tests/test_wbinfo_sids2xids_int.py
+++ b/source3/script/tests/test_wbinfo_sids2xids_int.py
@@ -2,11 +2,17 @@
import sys,os,subprocess
-if len(sys.argv) != 2:
- print "Usage: test_wbinfo_sids2xids_int.py wbinfo"
+
+if len(sys.argv) != 3:
+ print "Usage: test_wbinfo_sids2xids_int.py wbinfo net"
sys.exit(1)
wbinfo = sys.argv[1]
+netcmd = sys.argv[2]
+
+def flush_cache():
+ os.system(netcmd + "cache flush")
+
domain = subprocess.Popen([wbinfo, "--own-domain"],
stdout=subprocess.PIPE).communicate()[0].strip()
domsid = subprocess.Popen([wbinfo, "-n", domain + "\\"],
@@ -18,6 +24,8 @@ domsid = domsid.split(' ')[0]
sids=[ domsid + '-512', 'S-1-5-32-545', domsid + '-513' ]
+flush_cache
+
sids2xids = subprocess.Popen([wbinfo, '--sids-to-unix-ids=' + ','.join(sids)],
stdout=subprocess.PIPE).communicate()[0].strip()
@@ -34,14 +42,23 @@ for line in sids2xids.split('\n'):
gid = ''
gids.append(gid)
-i=0
+# Check the list produced by the sids-to-xids call with the
+# singular variant (sid-to-gid) for each sid in turn.
+def check_singular(sids, gids):
+ i=0
+ for sid in sids:
+ gid = subprocess.Popen([wbinfo, '--sid-to-gid', sid],
+ stdout=subprocess.PIPE).communicate()[0].strip()
+ if gid != gids[i]:
+ print "Expected %s, got %s\n", gid, gids[i]
+ sys.exit(1)
+ i+=1
+
+# first round: with filled cache
+check_singular(sids, gids)
-for sid in sids:
- gid = subprocess.Popen([wbinfo, '--sid-to-gid', sid],
- stdout=subprocess.PIPE).communicate()[0].strip()
- if gid != gids[i]:
- print "Expected %s, got %s\n", gid, gids[i]
- sys.exit(1)
- i+=1
+# second round: with empty cache
+flush_cache
+check_singular(sids, gids)
sys.exit(0)