r13275: With a liberal sprinkling of smb_raw_exit this
authorJeremy Allison <jra@samba.org>
Wed, 1 Feb 2006 04:41:54 +0000 (04:41 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:51:41 +0000 (13:51 -0500)
now passes for me for W2K and W2K3... booting the XP
box to test it...
Jeremy.
(This used to be commit 0133ba78c15b10e925f4e26e163656aa7cd11476)

source4/torture/basic/delete.c

index 00807f0420a8f11881d1616911be1136bee928b7..0c01561d2e1797fbebdf5c6ecf4311d944af5212 100644 (file)
@@ -163,6 +163,13 @@ BOOL torture_test_delete(void)
                return False;
        }
 
+       if (!torture_open_connection(&cli2)) {
+               printf("(%s) failed to open second connection.\n",
+                      __location__);
+               correct = False;
+               goto fail;
+       }
+
        smbcli_deltree(cli1->tree, dirname);
 
        /* Test 1 - this should delete the file on close. */
@@ -198,6 +205,9 @@ BOOL torture_test_delete(void)
                goto fail;
        }
        
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("first delete on close test succeeded.\n");
        
        /* Test 2 - this should delete the file on close. */
@@ -245,6 +255,9 @@ BOOL torture_test_delete(void)
        } else
                printf("second delete on close test succeeded.\n");
        
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        /* Test 3 - ... */
        smbcli_setatr(cli1->tree, fname, 0, 0);
        smbcli_unlink(cli1->tree, fname);
@@ -330,6 +343,9 @@ BOOL torture_test_delete(void)
        } else
                printf("third delete on close test succeeded.\n");
 
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        /* Test 4 ... */
        smbcli_setatr(cli1->tree, fname, 0, 0);
        status = smbcli_unlink(cli1->tree, fname);
@@ -397,8 +413,6 @@ BOOL torture_test_delete(void)
        }
        CHECK_STATUS(cli1, NT_STATUS_DELETE_PENDING);
 
-       printf("fourth delete on close test succeeded.\n");
-       
        if (NT_STATUS_IS_ERR(smbcli_close(cli1->tree, fnum1))) {
                printf("(%s) close - 2 failed (%s)\n", 
                       __location__, smbcli_errstr(cli1->tree));
@@ -406,6 +420,11 @@ BOOL torture_test_delete(void)
                goto fail;
        }
        
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
+       printf("fourth delete on close test succeeded.\n");
+       
        /* Test 5 ... */
        smbcli_setatr(cli1->tree, fname, 0, 0);
        smbcli_unlink(cli1->tree, fname);
@@ -434,6 +453,9 @@ BOOL torture_test_delete(void)
                goto fail;
        }
        
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("fifth delete on close test succeeded.\n");
        
        /* Test 6 ... */
@@ -471,6 +493,9 @@ BOOL torture_test_delete(void)
                goto fail;
        }
 
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("sixth delete on close test succeeded.\n");
        
        /* Test 7 ... */
@@ -533,19 +558,15 @@ BOOL torture_test_delete(void)
                goto fail;
        }
 
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("seventh delete on close test succeeded.\n");
        
        /* Test 7 ... */
        smbcli_setatr(cli1->tree, fname, 0, 0);
        smbcli_unlink(cli1->tree, fname);
        
-       if (!torture_open_connection(&cli2)) {
-               printf("(%s) failed to open second connection.\n",
-                      __location__);
-               correct = False;
-               goto fail;
-       }
-
        fnum1 = smbcli_nt_create_full(cli1->tree, fname, 0, 
                                      SEC_FILE_READ_DATA|
                                      SEC_FILE_WRITE_DATA|
@@ -613,6 +634,9 @@ BOOL torture_test_delete(void)
        } else
                printf("eighth delete on close test succeeded.\n");
 
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        /* This should fail - we need to set DELETE_ACCESS. */
        fnum1 = smbcli_nt_create_full(cli1->tree, fname, 0,
                                      SEC_FILE_READ_DATA|SEC_FILE_WRITE_DATA,
@@ -628,6 +652,9 @@ BOOL torture_test_delete(void)
                goto fail;
        }
 
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("ninth delete on close test succeeded.\n");
 
        fnum1 = smbcli_nt_create_full(cli1->tree, fname, 0, 
@@ -663,6 +690,9 @@ BOOL torture_test_delete(void)
        } else
                printf("tenth delete on close test succeeded.\n");
 
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        /* test 11 - does having read only attribute still allow delete on close. */
 
        smbcli_setatr(cli1->tree, fname, 0, 0);
@@ -699,6 +729,10 @@ BOOL torture_test_delete(void)
 
        smbcli_setatr(cli1->tree, fname, 0, 0);
        smbcli_unlink(cli1->tree, fname);
+
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
         printf("eleventh delete on close test succeeded.\n");
 
        /* test 12 - does having read only attribute still allow delete on
@@ -729,6 +763,9 @@ BOOL torture_test_delete(void)
                }
        }
        
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
         printf("twelvth delete on close test succeeded.\n");
 
        /* Test 13: Does resetting the delete on close flag affect a second
@@ -820,6 +857,9 @@ BOOL torture_test_delete(void)
        smbcli_close(cli1->tree, fnum1);
        smbcli_unlink(cli1->tree, fname);
 
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("thirteenth delete on close test succeeded.\n");
 
        /* Test 14 -- directory */
@@ -868,6 +908,9 @@ BOOL torture_test_delete(void)
                goto fail;
        }
 
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("fourteenth delete on close test succeeded.\n");
 
        /* Test 15: delete on close under rename */
@@ -992,6 +1035,9 @@ BOOL torture_test_delete(void)
                goto fail;
        }
 
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("fifteenth delete on close test succeeded.\n");
 
        /* Test 16. */
@@ -1054,6 +1100,9 @@ BOOL torture_test_delete(void)
                goto fail;
        }
        
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("sixteenth delete on close test succeeded.\n");
 
        /* Test 17. */
@@ -1134,6 +1183,9 @@ BOOL torture_test_delete(void)
                goto fail;
        }
        
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("seventeenth delete on close test succeeded.\n");
 
        /* Test 18. With directories. */
@@ -1205,6 +1257,9 @@ BOOL torture_test_delete(void)
                goto fail;
        }
        
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("eighteenth delete on close test succeeded.\n");
 
        /* Test 19. */
@@ -1293,6 +1348,9 @@ BOOL torture_test_delete(void)
                goto fail;
        }
        
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("nineteenth delete on close test succeeded.\n");
 
        /* Test 20 -- non-empty directory hardest to get right... */
@@ -1376,6 +1434,9 @@ BOOL torture_test_delete(void)
 
        smbcli_close(cli1->tree, dnum1);
 
+       smb_raw_exit(cli1->session);
+       smb_raw_exit(cli2->session);
+
        printf("twentieth delete on close test succeeded.\n");
 
        printf("finished delete test\n");