From 845d4d43c760455c7a0b5692925afa4d680bd3c0 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 11 Apr 2011 17:26:35 +0200 Subject: s3: Add a test for sid2xids Signed-off-by: Jeremy Allison --- source3/script/tests/test_wbinfo_sids2xids.sh | 11 ++++++ source3/script/tests/test_wbinfo_sids2xids_int.py | 47 +++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100755 source3/script/tests/test_wbinfo_sids2xids.sh create mode 100755 source3/script/tests/test_wbinfo_sids2xids_int.py (limited to 'source3/script/tests') diff --git a/source3/script/tests/test_wbinfo_sids2xids.sh b/source3/script/tests/test_wbinfo_sids2xids.sh new file mode 100755 index 0000000000..5bb33ee065 --- /dev/null +++ b/source3/script/tests/test_wbinfo_sids2xids.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +WBINFO="$VALGRIND ${NET:-$BINDIR/wbinfo} $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` + +testok $0 $failed diff --git a/source3/script/tests/test_wbinfo_sids2xids_int.py b/source3/script/tests/test_wbinfo_sids2xids_int.py new file mode 100755 index 0000000000..064a300026 --- /dev/null +++ b/source3/script/tests/test_wbinfo_sids2xids_int.py @@ -0,0 +1,47 @@ +#!/usr/bin/python + +import sys,os,subprocess + +if len(sys.argv) != 2: + print "Usage: test_wbinfo_sids2xids_int.py wbinfo" + sys.exit(1) + +wbinfo = sys.argv[1] +domain = subprocess.Popen([wbinfo, "--own-domain"], + stdout=subprocess.PIPE).communicate()[0].strip() +domsid = subprocess.Popen([wbinfo, "-n", domain + "\\"], + stdout=subprocess.PIPE).communicate()[0] +domsid = domsid.split(' ')[0] + +#print domain +#print domsid + +sids=[ domsid + '-512', 'S-1-5-32-545', domsid + '-513' ] + +sids2xids = subprocess.Popen([wbinfo, '--sids-to-unix-ids=' + ','.join(sids)], + stdout=subprocess.PIPE).communicate()[0].strip() + +gids=[] + +for line in sids2xids.split('\n'): + result = line.split(' ')[2:] + + if result[0] == 'gid': + gid = result[1] + else: + gid = '' + if gid == '-1': + gid = '' + gids.append(gid) + +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 + +sys.exit(0) -- cgit