diff options
author | Volker Lendecke <vlendec@samba.org> | 2005-07-06 08:13:11 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:19:17 -0500 |
commit | 441934bc93c49ad4c8cae299a7c16e462e74861b (patch) | |
tree | d6726b4e1c6711db457459a37125963605841ad2 | |
parent | 44b66a73d3e55cb30eec5d80f51edf5188401ac0 (diff) | |
download | samba-441934bc93c49ad4c8cae299a7c16e462e74861b.tar.gz samba-441934bc93c49ad4c8cae299a7c16e462e74861b.tar.bz2 samba-441934bc93c49ad4c8cae299a7c16e462e74861b.zip |
r8177: More explorations.
The share mode db is actually checked on qpathinfo even before the
delete-on-close is executed.
Volker
(This used to be commit 124f3b74ca2ece9ba73737c3ccb75e1730973f19)
-rw-r--r-- | source4/torture/basic/delete.c | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/source4/torture/basic/delete.c b/source4/torture/basic/delete.c index 19af9fc76d..cdd7d3260a 100644 --- a/source4/torture/basic/delete.c +++ b/source4/torture/basic/delete.c @@ -456,6 +456,41 @@ BOOL torture_test_delete(void) goto fail; } + { + time_t c_time, a_time, m_time, w_time; + size_t size; + uint16_t mode; + ino_t ino; + status = smbcli_qpathinfo(cli1->tree, fname, + &c_time, &a_time, &m_time, + &size, &mode); + if (!NT_STATUS_EQUAL(status, NT_STATUS_DELETE_PENDING)) { + printf("(%s) qpathinfo 1 did not give correct error " + "code (%s) -- NT_STATUS_DELETE_PENDING " + "expected\n", __location__, + nt_errstr(status)); + correct = False; + } + status = smbcli_qpathinfo(cli2->tree, fname, + &c_time, &a_time, &m_time, + &size, &mode); + if (!NT_STATUS_EQUAL(status, NT_STATUS_DELETE_PENDING)) { + printf("(%s) qpathinfo 2 did not give correct error " + "code (%s) -- NT_STATUS_DELETE_PENDING " + "expected\n", __location__, + nt_errstr(status)); + correct = False; + } + status = smbcli_qfileinfo(cli2->tree, fnum2, &mode, &size, + &c_time, &a_time, &m_time, + &w_time, &ino); + if (!NT_STATUS_IS_OK(status)) { + printf("(%s) qfileinfo failed (%s)\n", + __location__, smbcli_errstr(cli1->tree)); + correct = False; + } + } + if (NT_STATUS_IS_ERR(smbcli_close(cli1->tree, fnum1))) { printf("(%s) close - 1 failed (%s)\n", __location__, smbcli_errstr(cli1->tree)); @@ -486,7 +521,17 @@ BOOL torture_test_delete(void) &c_time, &a_time, &m_time, &size, &mode); if (!NT_STATUS_EQUAL(status, NT_STATUS_DELETE_PENDING)) { - printf("(%s) qpathinfo did not give correct error " + printf("(%s) qpathinfo 1 did not give correct error " + "code (%s) -- NT_STATUS_DELETE_PENDING " + "expected\n", __location__, + nt_errstr(status)); + correct = False; + } + status = smbcli_qpathinfo(cli2->tree, fname, + &c_time, &a_time, &m_time, + &size, &mode); + if (!NT_STATUS_EQUAL(status, NT_STATUS_DELETE_PENDING)) { + printf("(%s) qpathinfo 2 did not give correct error " "code (%s) -- NT_STATUS_DELETE_PENDING " "expected\n", __location__, nt_errstr(status)); |