From b7765fe63fa04e09ac67285d0e17e37b06bcff8b Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 17 Apr 2013 13:41:54 +0200 Subject: [PATCH] torture: Only test leases if supported Signed-off-by: Volker Lendecke Reviewed-by: Richard Sharpe Autobuild-User(master): Richard Sharpe Autobuild-Date(master): Sat Apr 27 18:09:37 CEST 2013 on sn-devel-104 --- source4/torture/smb2/lease.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/source4/torture/smb2/lease.c b/source4/torture/smb2/lease.c index 21d46799426..992c21b2406 100644 --- a/source4/torture/smb2/lease.c +++ b/source4/torture/smb2/lease.c @@ -25,6 +25,7 @@ #include "libcli/smb2/smb2_calls.h" #include "torture/torture.h" #include "torture/smb2/proto.h" +#include "libcli/smb/smbXcli_base.h" #define CHECK_VAL(v, correct) do { \ if ((v) != (correct)) { \ @@ -117,6 +118,12 @@ static bool test_lease_request(struct torture_context *tctx, const char *dname = "lease.dir"; bool ret = true; int i; + uint32_t caps; + + caps = smb2cli_conn_server_capabilities(tree->session->transport->conn); + if (!(caps & SMB2_CAP_LEASING)) { + torture_skip(tctx, "leases are not supported"); + } smb2_util_unlink(tree, fname); smb2_util_unlink(tree, fname2); @@ -193,6 +200,12 @@ static bool test_lease_upgrade(struct torture_context *tctx, NTSTATUS status; const char *fname = "lease.dat"; bool ret = true; + uint32_t caps; + + caps = smb2cli_conn_server_capabilities(tree->session->transport->conn); + if (!(caps & SMB2_CAP_LEASING)) { + torture_skip(tctx, "leases are not supported"); + } smb2_util_unlink(tree, fname); @@ -301,6 +314,12 @@ static bool test_lease_upgrade2(struct torture_context *tctx, const char *fname = "lease.dat"; bool ret = true; int i; + uint32_t caps; + + caps = smb2cli_conn_server_capabilities(tree->session->transport->conn); + if (!(caps & SMB2_CAP_LEASING)) { + torture_skip(tctx, "leases are not supported"); + } for (i = 0; i < NUM_UPGRADE_TESTS; i++) { struct lease_upgrade2_test t = lease_upgrade2_tests[i]; @@ -515,6 +534,12 @@ static bool test_lease_break(struct torture_context *tctx, const char *fname = "lease.dat"; bool ret = true; int i; + uint32_t caps; + + caps = smb2cli_conn_server_capabilities(tree->session->transport->conn); + if (!(caps & SMB2_CAP_LEASING)) { + torture_skip(tctx, "leases are not supported"); + } tree->session->transport->lease.handler = torture_lease_handler; tree->session->transport->lease.private_data = tree; @@ -677,6 +702,12 @@ static bool test_lease_oplock(struct torture_context *tctx, const char *fname = "lease.dat"; bool ret = true; int i; + uint32_t caps; + + caps = smb2cli_conn_server_capabilities(tree->session->transport->conn); + if (!(caps & SMB2_CAP_LEASING)) { + torture_skip(tctx, "leases are not supported"); + } tree->session->transport->lease.handler = torture_lease_handler; tree->session->transport->lease.private_data = tree; @@ -796,6 +827,12 @@ static bool test_lease_multibreak(struct torture_context *tctx, NTSTATUS status; const char *fname = "lease.dat"; bool ret = true; + uint32_t caps; + + caps = smb2cli_conn_server_capabilities(tree->session->transport->conn); + if (!(caps & SMB2_CAP_LEASING)) { + torture_skip(tctx, "leases are not supported"); + } tree->session->transport->lease.handler = torture_lease_handler; tree->session->transport->lease.private_data = tree; -- 2.11.4.GIT