summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-02-22 12:10:29 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:52:02 -0500
commitf2f3e1801b54e6ead595d66ea7c798fc2df22a0a (patch)
treebae8c3227de15ff0ead7d0bbaebad452da5a66d6
parente68802a2a6600eeade91f6bf8ac591361785c76c (diff)
downloadsamba-f2f3e1801b54e6ead595d66ea7c798fc2df22a0a.tar.gz
samba-f2f3e1801b54e6ead595d66ea7c798fc2df22a0a.tar.bz2
samba-f2f3e1801b54e6ead595d66ea7c798fc2df22a0a.zip
r13627: split the NBT-WINSREPLICATION tests into multiple tests
metze (This used to be commit ae559920e1d227e4e787fe34d908a965b922b284)
-rwxr-xr-xsource4/script/tests/test_nbt.sh10
-rwxr-xr-xsource4/script/tests/tests_quick.sh1
-rw-r--r--source4/torture/nbt/winsreplication.c67
-rw-r--r--source4/torture/torture.c4
4 files changed, 76 insertions, 6 deletions
diff --git a/source4/script/tests/test_nbt.sh b/source4/script/tests/test_nbt.sh
index 3aa558c589..0f05b55298 100755
--- a/source4/script/tests/test_nbt.sh
+++ b/source4/script/tests/test_nbt.sh
@@ -21,7 +21,15 @@ export PATH
testit "nmblookup -U $SERVER $SERVER" bin/nmblookup $TORTURE_OPTIONS -U $SERVER $SERVER || failed=`expr $failed + 1`
testit "nmblookup $SERVER" bin/nmblookup $TORTURE_OPTIONS $SERVER || failed=`expr $failed + 1`
-for f in NBT-REGISTER NBT-WINS NBT-WINSREPLICATION NET-API-LOOKUP NET-API-LOOKUPHOST NET-API-LOOKUPPDC; do
+NBT_TESTS="NBT-REGISTER NBT-WINS"
+NBT_TESTS="$NBT_TESTS NBT-WINSREPLICATION-SIMPLE"
+NBT_TESTS="$NBT_TESTS NBT-WINSREPLICATION-REPLICA"
+if [ "$TORTURE_QUICK"x = "yes"x ]; then
+ NBT_TESTS="$NBT_TESTS NBT-WINSREPLICATION-OWNED"
+fi
+NBT_TESTS="$NBT_TESTS NET-API-LOOKUP NET-API-LOOKUPHOST NET-API-LOOKUPPDC"
+
+for f in $NBT_TESTS; do
testit "$f" bin/smbtorture $TORTURE_OPTIONS //$SERVER/_none_ $f || failed=`expr $failed + 1`
done
diff --git a/source4/script/tests/tests_quick.sh b/source4/script/tests/tests_quick.sh
index dd9230fb16..b48d540841 100755
--- a/source4/script/tests/tests_quick.sh
+++ b/source4/script/tests/tests_quick.sh
@@ -1,4 +1,5 @@
TORTURE_OPTIONS="$TORTURE_OPTIONS --option=torture:quick=yes"
+TORTURE_QUICK="yes"
$SRCDIR/script/tests/test_ejs.sh $DOMAIN $USERNAME $PASSWORD || failed=`expr $failed + $?`
$SRCDIR/script/tests/test_ldap.sh $SERVER $USERNAME $PASSWORD || failed=`expr $failed + $?`
diff --git a/source4/torture/nbt/winsreplication.c b/source4/torture/nbt/winsreplication.c
index cf6f3d4ed7..b53c55ca08 100644
--- a/source4/torture/nbt/winsreplication.c
+++ b/source4/torture/nbt/winsreplication.c
@@ -9619,16 +9619,15 @@ static void test_conflict_owned_active_vs_replica_handler(struct nbt_name_socket
}
/*
- test WINS replication operations
+ test simple WINS replication operations
*/
-BOOL torture_nbt_winsreplication(void)
+BOOL torture_nbt_winsreplication_simple(void)
{
const char *address;
struct nbt_name name;
TALLOC_CTX *mem_ctx = talloc_new(NULL);
NTSTATUS status;
BOOL ret = True;
- struct test_wrepl_conflict_conn *ctx;
make_nbt_name_server(&name, lp_parm_string(-1, "torture", "host"));
@@ -9646,13 +9645,73 @@ BOOL torture_nbt_winsreplication(void)
ret &= test_wins_replication(mem_ctx, address);
- if (lp_parm_bool(-1, "torture", "quick", False)) goto done;
+done:
+ talloc_free(mem_ctx);
+
+ return ret;
+}
+
+/*
+ test WINS replication replica conflicts operations
+*/
+BOOL torture_nbt_winsreplication_replica(void)
+{
+ const char *address;
+ struct nbt_name name;
+ TALLOC_CTX *mem_ctx = talloc_new(NULL);
+ NTSTATUS status;
+ BOOL ret = True;
+ struct test_wrepl_conflict_conn *ctx;
+
+ make_nbt_name_server(&name, lp_parm_string(-1, "torture", "host"));
+
+ /* do an initial name resolution to find its IP */
+ status = resolve_name(&name, mem_ctx, &address, NULL);
+ if (!NT_STATUS_IS_OK(status)) {
+ printf("Failed to resolve %s - %s\n",
+ name.name, nt_errstr(status));
+ talloc_free(mem_ctx);
+ return False;
+ }
ctx = test_create_conflict_ctx(mem_ctx, address);
if (!ctx) return False;
ret &= test_conflict_same_owner(ctx);
ret &= test_conflict_different_owner(ctx);
+
+done:
+ talloc_free(mem_ctx);
+
+ return ret;
+}
+
+/*
+ test WINS replication owned conflicts operations
+*/
+BOOL torture_nbt_winsreplication_owned(void)
+{
+ const char *address;
+ struct nbt_name name;
+ TALLOC_CTX *mem_ctx = talloc_new(NULL);
+ NTSTATUS status;
+ BOOL ret = True;
+ struct test_wrepl_conflict_conn *ctx;
+
+ make_nbt_name_server(&name, lp_parm_string(-1, "torture", "host"));
+
+ /* do an initial name resolution to find its IP */
+ status = resolve_name(&name, mem_ctx, &address, NULL);
+ if (!NT_STATUS_IS_OK(status)) {
+ printf("Failed to resolve %s - %s\n",
+ name.name, nt_errstr(status));
+ talloc_free(mem_ctx);
+ return False;
+ }
+
+ ctx = test_create_conflict_ctx(mem_ctx, address);
+ if (!ctx) return False;
+
ret &= test_conflict_owned_released_vs_replica(ctx);
ret &= test_conflict_owned_active_vs_replica(ctx);
diff --git a/source4/torture/torture.c b/source4/torture/torture.c
index a7e0fdd52d..aad44e4a16 100644
--- a/source4/torture/torture.c
+++ b/source4/torture/torture.c
@@ -2346,8 +2346,10 @@ static struct {
{"NBT-REGISTER", torture_nbt_register, 0},
{"NBT-WINS", torture_nbt_wins, 0},
{"NBT-DGRAM", torture_nbt_dgram, 0},
- {"NBT-WINSREPLICATION", torture_nbt_winsreplication, 0},
{"NBT-BROWSE", torture_nbt_browse, 0},
+ {"NBT-WINSREPLICATION-SIMPLE", torture_nbt_winsreplication_simple, 0},
+ {"NBT-WINSREPLICATION-REPLICA", torture_nbt_winsreplication_replica, 0},
+ {"NBT-WINSREPLICATION-OWNED", torture_nbt_winsreplication_owned, 0},
/* libnet tests */
{"NET-USERINFO", torture_userinfo, 0},