Revert "HACKS *.oplock.batch9 ... this is very strange with stat opens and different...
[metze/samba/wip.git] / source4 / torture / smb2 / oplock.c
index b9b99b15bc5ccb6a53559e723dbb693ed5eee593..d39b904cc7cddfa30b642bf08eb2c38155db1206 100644 (file)
@@ -1492,7 +1492,6 @@ static bool test_smb2_oplock_batch9(struct torture_context *tctx,
                                SEC_STD_SYNCHRONIZE;
        io.smb2.in.create_disposition = NTCREATEX_DISP_CREATE;
        io.smb2.in.create_disposition = NTCREATEX_DISP_OPEN_IF;
-       io.smb2.in.create_disposition = NTCREATEX_DISP_OVERWRITE_IF;
        status = smb2_create(tree1, tctx, &(io.smb2));
        torture_assert_ntstatus_ok(tctx, status, "Error opening the file");
        h1 = io.smb2.out.file.handle;
@@ -1506,22 +1505,18 @@ static bool test_smb2_oplock_batch9(struct torture_context *tctx,
 
        io.smb2.in.create_flags = NTCREATEX_FLAGS_EXTENDED;
        io.smb2.in.oplock_level = SMB2_OPLOCK_LEVEL_BATCH;
-       //io.smb2.in.desired_access = SEC_RIGHTS_FILE_ALL;
+       io.smb2.in.desired_access = SEC_RIGHTS_FILE_ALL;
        io.smb2.in.create_disposition = NTCREATEX_DISP_OPEN;
        io.smb2.in.create_disposition = NTCREATEX_DISP_OPEN_IF;
-       io.smb2.in.create_disposition = NTCREATEX_DISP_OVERWRITE_IF;
        status = smb2_create(tree2, tctx, &(io.smb2));
        torture_assert_ntstatus_ok(tctx, status, "Incorrect status");
        h2 = io.smb2.out.file.handle;
        torture_wait_for_oplock_break(tctx);
-       //CHECK_VAL(break_info.count, 1);
-       //CHECK_VAL(break_info.handle.data[0], h1.data[0]);
-       //CHECK_VAL(break_info.failures, 0);
-       //CHECK_VAL(break_info.level, SMB2_OPLOCK_LEVEL_II);
-       //CHECK_VAL(break_info.level, SMB2_OPLOCK_LEVEL_NONE);
-       //CHECK_VAL(io.smb2.out.create_action, FILE_WAS_OPENED);
-       //CHECK_VAL(io.smb2.out.oplock_level, SMB2_OPLOCK_LEVEL_NONE);
-       CHECK_VAL(io.smb2.out.create_action, FILE_WAS_OVERWRITTEN);
+       CHECK_VAL(break_info.count, 1);
+       CHECK_VAL(break_info.handle.data[0], h1.data[0]);
+       CHECK_VAL(break_info.failures, 0);
+       CHECK_VAL(break_info.level, SMB2_OPLOCK_LEVEL_II);
+       CHECK_VAL(io.smb2.out.create_action, FILE_WAS_OPENED);
        CHECK_VAL(io.smb2.out.oplock_level, SMB2_OPLOCK_LEVEL_II);
        smb2_util_close(tree2, h2);
 
@@ -1534,7 +1529,7 @@ static bool test_smb2_oplock_batch9(struct torture_context *tctx,
 
        io.smb2.in.create_flags = NTCREATEX_FLAGS_EXTENDED;
        io.smb2.in.oplock_level = SMB2_OPLOCK_LEVEL_BATCH;
-       //io.smb2.in.desired_access = SEC_RIGHTS_FILE_ALL;
+       io.smb2.in.desired_access = SEC_RIGHTS_FILE_ALL;
        io.smb2.in.create_disposition = NTCREATEX_DISP_OPEN;
        status = smb2_create(tree2, tctx, &(io.smb2));
        torture_assert_ntstatus_ok(tctx, status, "Incorrect status");
@@ -1542,42 +1537,10 @@ static bool test_smb2_oplock_batch9(struct torture_context *tctx,
        torture_wait_for_oplock_break(tctx);
        CHECK_VAL(break_info.count, 0);
        CHECK_VAL(break_info.failures, 0);
-       CHECK_VAL(io.smb2.out.create_action, FILE_WAS_OPENED);
        CHECK_VAL(io.smb2.out.oplock_level, SMB2_OPLOCK_LEVEL_II);
-       //CHECK_VAL(io.smb2.out.oplock_level, SMB2_OPLOCK_LEVEL_NONE);
 
-       io.smb2.in.create_flags = NTCREATEX_FLAGS_EXTENDED;
-       io.smb2.in.oplock_level = SMB2_OPLOCK_LEVEL_BATCH;
-       //io.smb2.in.desired_access = SEC_RIGHTS_FILE_ALL;
-       io.smb2.in.create_disposition = NTCREATEX_DISP_OPEN;
-       status = smb2_create(tree2, tctx, &(io.smb2));
-       torture_assert_ntstatus_ok(tctx, status, "Incorrect status");
-       //h2 = io.smb2.out.file.handle;
-       torture_wait_for_oplock_break(tctx);
-       CHECK_VAL(break_info.count, 0);
-       CHECK_VAL(break_info.failures, 0);
-       CHECK_VAL(io.smb2.out.create_action, FILE_WAS_OPENED);
-       CHECK_VAL(io.smb2.out.oplock_level, SMB2_OPLOCK_LEVEL_II);
-       //CHECK_VAL(io.smb2.out.oplock_level, SMB2_OPLOCK_LEVEL_NONE);
        ZERO_STRUCT(break_info);
 
-       smb2_util_close(tree1, h1);
-       smb2_util_close(tree2, h2);
-       h2 = io.smb2.out.file.handle;
-       smb2_util_close(tree2, h2);
-       io.smb2.in.create_flags = NTCREATEX_FLAGS_EXTENDED;
-       io.smb2.in.oplock_level = SMB2_OPLOCK_LEVEL_BATCH;
-       //io.smb2.in.desired_access = SEC_RIGHTS_FILE_ALL;
-       io.smb2.in.create_disposition = NTCREATEX_DISP_OPEN;
-       status = smb2_create(tree2, tctx, &(io.smb2));
-       torture_assert_ntstatus_ok(tctx, status, "Incorrect status");
-       h2 = io.smb2.out.file.handle;
-       torture_wait_for_oplock_break(tctx);
-       CHECK_VAL(break_info.count, 0);
-       CHECK_VAL(break_info.failures, 0);
-       CHECK_VAL(io.smb2.out.create_action, FILE_WAS_OPENED);
-       CHECK_VAL(io.smb2.out.oplock_level, SMB2_OPLOCK_LEVEL_BATCH);
-       //CHECK_VAL(io.smb2.out.oplock_level, SMB2_OPLOCK_LEVEL_NONE);
        torture_comment(tctx, "write should trigger a break to none on both\n");
        tree1->session->transport->oplock.handler =
            torture_oplock_handler_level2_to_none;
@@ -1589,7 +1552,7 @@ static bool test_smb2_oplock_batch9(struct torture_context *tctx,
        torture_wait_for_oplock_break(tctx);
        torture_wait_for_oplock_break(tctx);
 
-       //CHECK_VAL(break_info.count, 2);
+       CHECK_VAL(break_info.count, 2);
        CHECK_VAL(break_info.level, 0);
        CHECK_VAL(break_info.failures, 0);