summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2002-11-18 23:12:45 +0000
committerJeremy Allison <jra@samba.org>2002-11-18 23:12:45 +0000
commitb49e3ed0b5709a730f25c76f4eb1166a1312d9f9 (patch)
tree0ced548932186650f3a24e62fd8da2c228b01592
parentce93216c93b53d266ad183675943d736588c51d6 (diff)
downloadsamba-b49e3ed0b5709a730f25c76f4eb1166a1312d9f9.tar.gz
samba-b49e3ed0b5709a730f25c76f4eb1166a1312d9f9.tar.bz2
samba-b49e3ed0b5709a730f25c76f4eb1166a1312d9f9.zip
Added HIDDEN/NORMAL attribute test.
Jeremy. (This used to be commit 657aa857a5615d953a3f68dd0ded6d4a95e5545e)
-rw-r--r--source3/torture/torture.c50
1 files changed, 49 insertions, 1 deletions
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index fb62b13657..49ddba52e1 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -3043,6 +3043,7 @@ static BOOL run_opentest(int dummy)
size_t fsize;
BOOL correct = True;
char *tmp_path;
+ uint16 attr;
printf("starting open test\n");
@@ -3417,7 +3418,7 @@ static BOOL run_opentest(int dummy)
cli_unlink(&cli1, fname);
- /* Test 8 - attributes test test... */
+ /* Test 8 - attributes test #1... */
fnum1 = cli_nt_create_full(&cli1, fname,FILE_WRITE_DATA, FILE_ATTRIBUTE_HIDDEN,
FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
@@ -3463,6 +3464,53 @@ static BOOL run_opentest(int dummy)
cli_unlink(&cli1, fname);
+ /*
+ * Test #9. Open with NORMAL, close, then re-open with attribute
+ * HIDDEN and request to truncate.
+ */
+
+ fnum1 = cli_nt_create_full(&cli1, fname,FILE_WRITE_DATA, FILE_ATTRIBUTE_NORMAL,
+ FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0);
+
+ if (fnum1 == -1) {
+ printf("test 9 open 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
+ return False;
+ }
+
+ if (!cli_close(&cli1, fnum1)) {
+ printf("test 9 close 1 of %s failed (%s)\n", fname, cli_errstr(&cli1));
+ return False;
+ }
+
+ fnum1 = cli_nt_create_full(&cli1, fname,FILE_READ_DATA|FILE_WRITE_DATA, FILE_ATTRIBUTE_HIDDEN,
+ FILE_SHARE_NONE, FILE_OVERWRITE, 0);
+
+ if (fnum1 == -1) {
+ printf("test 9 open 2 of %s failed (%s)\n", fname, cli_errstr(&cli1));
+ return False;
+ }
+
+ if (!cli_close(&cli1, fnum1)) {
+ printf("test 9 close 2 of %s failed (%s)\n", fname, cli_errstr(&cli1));
+ return False;
+ }
+
+ /* Ensure we have attr hidden. */
+ if (!cli_getatr(&cli1, fname, &attr, NULL, NULL)) {
+ printf("test 9 getatr(2) failed (%s)\n", cli_errstr(&cli1));
+ return False;
+ }
+
+ if (!(attr & FILE_ATTRIBUTE_HIDDEN)) {
+ printf("test 9 getatr didn't have HIDDEN attribute\n");
+ cli_unlink(&cli1, fname);
+ return False;
+ }
+
+ printf("Attribute open test #9 %s.\n", correct ? "passed" : "failed");
+
+ cli_unlink(&cli1, fname);
+
if (!torture_close_connection(&cli1)) {
correct = False;
}