r24883: Use torture API.
authorJelmer Vernooij <jelmer@samba.org>
Sun, 2 Sep 2007 02:35:11 +0000 (02:35 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 20:03:27 +0000 (15:03 -0500)
(This used to be commit 9935aac0f3acd50ca775b8ccd74535c56a47ee33)

source4/torture/raw/qfileinfo.c
source4/torture/raw/search.c

index 8cb80cecc12739340f30c57033d03b17e686a2ae..95680392b4eed4e63dd745dfc67c81f6af6fd992 100644 (file)
@@ -222,7 +222,7 @@ static union smb_fileinfo *fname_find(bool is_ipc, const char *name)
    for each call we test that it succeeds, and where possible test 
    for consistency between the calls. 
 */
-static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture, 
+static bool torture_raw_qfileinfo_internals(struct torture_context *torture, 
                                            TALLOC_CTX *mem_ctx,        
                                            struct smbcli_tree *tree, 
                                            int fnum, const char *fname,
@@ -295,8 +295,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
                ret = False;
                printf("%d levels failed\n", count);
                if (count > 35) {
-                       printf("too many level failures - giving up\n");
-                       goto done;
+                       torture_fail(torture, "too many level failures - giving up");
                }
        }
 
@@ -448,7 +447,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
        /* now check that all the times that are supposed to be equal are correct */
        s1 = fnum_find("BASIC_INFO");
        correct_time = s1->basic_info.out.create_time;
-       printf("create_time: %s\n", nt_time_string(mem_ctx, correct_time));
+       torture_comment(torture, "create_time: %s\n", nt_time_string(mem_ctx, correct_time));
 
        TIME_CHECK_NT ("BASIC_INFO",               basic_info, create_time);
        TIME_CHECK_NT ("BASIC_INFORMATION",        basic_info, create_time);
@@ -460,7 +459,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
 
        s1 = fnum_find("BASIC_INFO");
        correct_time = s1->basic_info.out.access_time;
-       printf("access_time: %s\n", nt_time_string(mem_ctx, correct_time));
+       torture_comment(torture, "access_time: %s\n", nt_time_string(mem_ctx, correct_time));
 
        TIME_CHECK_NT ("BASIC_INFO",               basic_info, access_time);
        TIME_CHECK_NT ("BASIC_INFORMATION",        basic_info, access_time);
@@ -472,7 +471,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
 
        s1 = fnum_find("BASIC_INFO");
        correct_time = s1->basic_info.out.write_time;
-       printf("write_time : %s\n", nt_time_string(mem_ctx, correct_time));
+       torture_comment(torture, "write_time : %s\n", nt_time_string(mem_ctx, correct_time));
 
        TIME_CHECK_NT ("BASIC_INFO",               basic_info, write_time);
        TIME_CHECK_NT ("BASIC_INFORMATION",        basic_info, write_time);
@@ -485,7 +484,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
 
        s1 = fnum_find("BASIC_INFO");
        correct_time = s1->basic_info.out.change_time;
-       printf("change_time: %s\n", nt_time_string(mem_ctx, correct_time));
+       torture_comment(torture, "change_time: %s\n", nt_time_string(mem_ctx, correct_time));
 
        TIME_CHECK_NT ("BASIC_INFO",               basic_info, change_time);
        TIME_CHECK_NT ("BASIC_INFORMATION",        basic_info, change_time);
@@ -511,7 +510,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
 
        s1 = fnum_find("STANDARD_INFO");
        correct_size = s1->standard_info.out.size;
-       printf("size: %u\n", (uint_t)correct_size);
+       torture_comment(torture, "size: %u\n", (uint_t)correct_size);
        
        SIZE_CHECK("GETATTR",                  getattr,                  size);
        SIZE_CHECK("GETATTRE",                 getattre,                 size);
@@ -532,7 +531,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
 
        s1 = fnum_find("STANDARD_INFO");
        correct_size = s1->standard_info.out.alloc_size;
-       printf("alloc_size: %u\n", (uint_t)correct_size);
+       torture_comment(torture, "alloc_size: %u\n", (uint_t)correct_size);
        
        SIZE_CHECK("GETATTRE",                 getattre,                 alloc_size);
        SIZE_CHECK("STANDARD",                 standard,                 alloc_size);
@@ -565,7 +564,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
 
        s1 = fnum_find("BASIC_INFO");
        correct_attrib = s1->basic_info.out.attrib;
-       printf("attrib: 0x%x\n", (uint_t)correct_attrib);
+       torture_comment(torture, "attrib: 0x%x\n", (uint_t)correct_attrib);
        
        ATTRIB_CHECK("GETATTR",                   getattr,                   attrib);
        if (!is_ipc) {
@@ -581,7 +580,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
        ATTRIB_CHECK("ATTRIBUTE_TAG_INFORMATION", attribute_tag_information, attrib);
 
        correct_name = fname;
-       printf("name: %s\n", correct_name);
+       torture_comment(torture, "name: %s\n", correct_name);
 
 #define NAME_CHECK(sname, stype, tfield, flags) do { \
        s1 = fnum_find(sname); \
@@ -605,8 +604,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
        /* the ALL_INFO file name is the full path on the filesystem */
        s1 = fnum_find("ALL_INFO");
        if (s1 && !s1->all_info.out.fname.s) {
-               printf("ALL_INFO didn't give a filename\n");
-               ret = False;
+               torture_fail(torture, "ALL_INFO didn't give a filename");
        }
        if (s1 && s1->all_info.out.fname.s) {
                char *p = strrchr(s1->all_info.out.fname.s, '\\');
@@ -630,7 +628,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
        s1 = fnum_find("ALT_NAME_INFO");
        if (s1) {
                correct_name = s1->alt_name_info.out.fname.s;
-               printf("alt_name: %s\n", correct_name);
+               torture_comment(torture, "alt_name: %s\n", correct_name);
                
                NAME_CHECK("ALT_NAME_INFO",        alt_name_info, fname, STR_UNICODE);
                NAME_CHECK("ALT_NAME_INFORMATION", alt_name_info, fname, STR_UNICODE);
@@ -652,7 +650,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
                
                if (!skip_streams) {
                        correct_name = "::$DATA";
-                       printf("stream_name: %s\n", correct_name);
+                       torture_comment(torture, "stream_name: %s\n", correct_name);
                        
                        NAME_CHECK("STREAM_INFO",        stream_info, streams[0].stream_name, STR_UNICODE);
                        NAME_CHECK("STREAM_INFORMATION", stream_info, streams[0].stream_name, STR_UNICODE);
@@ -768,7 +766,7 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
 
        s1 = fnum_find("INTERNAL_INFORMATION");
        if (s1) {
-               printf("file_id=%.0f\n", (double)s1->internal_information.out.file_id);
+               torture_comment(torture, "file_id=%.0f\n", (double)s1->internal_information.out.file_id);
        }
 
        NAME_PATH_CHECK("INTERNAL_INFORMATION", internal_information, file_id);
@@ -808,9 +806,6 @@ static BOOL torture_raw_qfileinfo_internals(struct torture_context *torture,
        /* when we set the delete disposition then the link count should drop
           to 0 and delete_pending should be 1 */
        
-
-done:
-
        return ret;
 }
 
@@ -840,7 +835,7 @@ bool torture_raw_qfileinfo(struct torture_context *torture,
 }
 
 bool torture_raw_qfileinfo_pipe(struct torture_context *torture, 
-                                                               struct smbcli_state *cli)
+                               struct smbcli_state *cli)
 {
        bool ret = true;
        int fnum;
@@ -849,23 +844,17 @@ bool torture_raw_qfileinfo_pipe(struct torture_context *torture,
        struct smbcli_tree *ipc_tree;
        NTSTATUS status;
 
-       if (!(p = dcerpc_pipe_init(torture, 
-                                  cli->tree->session->transport->socket->event.ctx))) {
+       if (!(p = dcerpc_pipe_init(torture, cli->tree->session->transport->socket->event.ctx))) {
                return False;
        }
 
        status = dcerpc_pipe_open_smb(p, cli->tree, fname);
-       if (!NT_STATUS_IS_OK(status)) {
-               d_printf("dcerpc_pipe_open_smb failed: %s\n",
-                        nt_errstr(status));
-               talloc_free(p);
-               return False;
-       }
+       torture_assert_ntstatus_ok(torture, status, "dcerpc_pipe_open_smb failed");
 
        ipc_tree = dcerpc_smb_tree(p->conn);
        fnum = dcerpc_smb_fnum(p->conn);
 
-       ret = torture_raw_qfileinfo_internals(torture, torture, ipc_tree, fnum, fname, True /* is_ipc */);
+       ret = torture_raw_qfileinfo_internals(torture, torture, ipc_tree, fnum, fname, true /* is_ipc */);
        
        talloc_free(p);
        return ret;
index 986da474d0d1395829b6a99d0ca7b99ce43e56b0..b1931d93595e31c7ccb8dd02bcb0565cd7c79af1 100644 (file)
@@ -36,7 +36,7 @@ static BOOL single_search_callback(void *private, const union smb_search_data *f
 
        *data = *file;
 
-       return True;
+       return true;
 }
 
 /*
@@ -231,8 +231,8 @@ static union smb_search_data *find(const char *name)
 /* 
    basic testing of all RAW_SEARCH_* calls using a single file
 */
-static BOOL test_one_file(struct torture_context *tctx, 
-                                                 struct smbcli_state *cli)
+static bool test_one_file(struct torture_context *tctx, 
+                         struct smbcli_state *cli)
 {
        BOOL ret = True;
        int fnum;
@@ -243,8 +243,6 @@ static BOOL test_one_file(struct torture_context *tctx,
        union smb_fileinfo all_info, alt_info, name_info, internal_info;
        union smb_search_data *s;
 
-       printf("Testing one file searches\n");
-
        fnum = create_complex_file(cli, tctx, fname);
        if (fnum == -1) {
                printf("ERROR: open of %s failed (%s)\n", fname, smbcli_errstr(cli->tree));
@@ -257,7 +255,7 @@ static BOOL test_one_file(struct torture_context *tctx,
                NTSTATUS expected_status;
                uint32_t cap = cli->transport->negotiate.capabilities;
 
-               printf("testing %s\n", levels[i].name);
+               torture_comment(tctx, "testing %s\n", levels[i].name);
 
                levels[i].status = torture_single_search(cli, tctx, fname, 
                                                         levels[i].level,
@@ -305,38 +303,22 @@ static BOOL test_one_file(struct torture_context *tctx,
        all_info.generic.level = RAW_FILEINFO_ALL_INFO;
        all_info.generic.in.file.path = fname;
        status = smb_raw_pathinfo(cli->tree, tctx, &all_info);
-       if (!NT_STATUS_IS_OK(status)) {
-               printf("RAW_FILEINFO_ALL_INFO failed - %s\n", nt_errstr(status));
-               ret = False;
-               goto done;
-       }
+       torture_assert_ntstatus_ok(tctx, status, "RAW_FILEINFO_ALL_INFO failed");
 
        alt_info.generic.level = RAW_FILEINFO_ALT_NAME_INFO;
        alt_info.generic.in.file.path = fname;
        status = smb_raw_pathinfo(cli->tree, tctx, &alt_info);
-       if (!NT_STATUS_IS_OK(status)) {
-               printf("RAW_FILEINFO_ALT_NAME_INFO failed - %s\n", nt_errstr(status));
-               ret = False;
-               goto done;
-       }
+       torture_assert_ntstatus_ok(tctx, status, "RAW_FILEINFO_ALT_NAME_INFO failed");
 
        internal_info.generic.level = RAW_FILEINFO_INTERNAL_INFORMATION;
        internal_info.generic.in.file.path = fname;
        status = smb_raw_pathinfo(cli->tree, tctx, &internal_info);
-       if (!NT_STATUS_IS_OK(status)) {
-               printf("RAW_FILEINFO_INTERNAL_INFORMATION failed - %s\n", nt_errstr(status));
-               ret = False;
-               goto done;
-       }
+       torture_assert_ntstatus_ok(tctx, status, "RAW_FILEINFO_INTERNAL_INFORMATION failed");
 
        name_info.generic.level = RAW_FILEINFO_NAME_INFO;
        name_info.generic.in.file.path = fname;
        status = smb_raw_pathinfo(cli->tree, tctx, &name_info);
-       if (!NT_STATUS_IS_OK(status)) {
-               printf("RAW_FILEINFO_NAME_INFO failed - %s\n", nt_errstr(status));
-               ret = False;
-               goto done;
-       }
+       torture_assert_ntstatus_ok(tctx, status, "RAW_FILEINFO_NAME_INFO failed");
 
 #define CHECK_VAL(name, sname1, field1, v, sname2, field2) do { \
        s = find(name); \
@@ -540,7 +522,7 @@ static BOOL multiple_search_callback(void *private, const union smb_search_data
 
        data->list[data->count-1] = *file;
 
-       return True;
+       return true;
 }
 
 enum continue_type {CONT_FLAGS, CONT_NAME, CONT_RESUME_KEY};
@@ -640,28 +622,11 @@ static NTSTATUS multiple_search(struct smbcli_state *cli,
        return status;
 }
 
-#define CHECK_STATUS(status, correct) do { \
-       if (!NT_STATUS_EQUAL(status, correct)) { \
-               printf("(%s) Incorrect status %s - should be %s\n", \
-                      __location__, nt_errstr(status), nt_errstr(correct)); \
-               ret = False; \
-               goto done; \
-       }} while (0)
+#define CHECK_STATUS(status, correct) torture_assert_ntstatus_equal(tctx, status, correct, "incorrect status")
 
-#define CHECK_VALUE(v, correct) do { \
-       if ((v) != (correct)) { \
-               printf("(%s) Incorrect value %s=%ld - should be %ld\n", \
-                      __location__, #v, (long)v, (long)correct); \
-               ret = False; \
-               goto done; \
-       }} while (0)
+#define CHECK_VALUE(v, correct) torture_assert_int_equal(tctx, (v), (correct), "incorrect value");
 
-#define CHECK_STRING(v, correct) do { \
-       if (strcasecmp_m(v, correct) != 0) { \
-               printf("(%s) Incorrect value %s='%s' - should be '%s'\n", \
-                      __location__, #v, v, correct); \
-               ret = False; \
-       }} while (0)
+#define CHECK_STRING(v, correct) torture_assert_casestr_equal(tctx, v, correct, "incorrect value");
 
 
 static enum smb_search_data_level compare_data_level;
@@ -688,7 +653,7 @@ static int search_compare(union smb_search_data *d1, union smb_search_data *d2)
    basic testing of search calls using many files
 */
 static bool test_many_files(struct torture_context *tctx, 
-                                                       struct smbcli_state *cli)
+                           struct smbcli_state *cli)
 {
        const int num_files = 700;
        int i, fnum, t;
@@ -727,19 +692,15 @@ static bool test_many_files(struct torture_context *tctx,
        };
 
        if (!torture_setup_dir(cli, BASEDIR)) {
-               return False;
+               return false;
        }
 
-       printf("Testing with %d files\n", num_files);
+       torture_comment(tctx, "Testing with %d files\n", num_files);
 
        for (i=0;i<num_files;i++) {
                fname = talloc_asprintf(cli, BASEDIR "\\t%03d-%d.txt", i, i);
                fnum = smbcli_open(cli->tree, fname, O_CREAT|O_RDWR, DENY_NONE);
-               if (fnum == -1) {
-                       printf("Failed to create %s - %s\n", fname, smbcli_errstr(cli->tree));
-                       ret = False;
-                       goto done;
-               }
+               torture_assert(tctx, fnum != -1, "Failed to create");
                talloc_free(fname);
                smbcli_close(cli->tree, fnum);
        }
@@ -749,20 +710,15 @@ static bool test_many_files(struct torture_context *tctx,
                ZERO_STRUCT(result);
                result.tctx = talloc_new(tctx);
        
-               printf("Continue %s via %s\n", search_types[t].name, search_types[t].cont_name);
+               torture_comment(tctx,
+                               "Continue %s via %s\n", search_types[t].name, search_types[t].cont_name);
 
                status = multiple_search(cli, tctx, BASEDIR "\\*.*", 
                                         search_types[t].data_level,
                                         search_types[t].cont_type,
                                         &result);
        
-               if (!NT_STATUS_IS_OK(status)) {
-                       printf("search type %s failed - %s\n", 
-                              search_types[t].name,
-                              nt_errstr(status));
-                       ret = False;
-                       continue;
-               }
+               torture_assert_ntstatus_ok(tctx, status, "search failed");
                CHECK_VALUE(result.count, num_files);
 
                compare_data_level = search_types[t].data_level;
@@ -780,17 +736,12 @@ static bool test_many_files(struct torture_context *tctx,
                        }
                        s = extract_name(&result.list[i], level, compare_data_level);
                        fname = talloc_asprintf(cli, "t%03d-%d.txt", i, i);
-                       if (strcmp(fname, s)) {
-                               printf("Incorrect name %s at entry %d\n", s, i);
-                               ret = False;
-                               break;
-                       }
+                       torture_assert_str_equal(tctx, fname, s, "Incorrect name");
                        talloc_free(fname);
                }
                talloc_free(result.tctx);
        }
 
-done:
        smb_raw_exit(cli->session);
        smbcli_deltree(cli->tree, BASEDIR);
 
@@ -800,7 +751,7 @@ done:
 /*
   check a individual file result
 */
-static BOOL check_result(struct multiple_result *result, const char *name, BOOL exist, uint32_t attrib)
+static bool check_result(struct multiple_result *result, const char *name, BOOL exist, uint32_t attrib)
 {
        int i;
        for (i=0;i<result->count;i++) {
@@ -812,7 +763,7 @@ static BOOL check_result(struct multiple_result *result, const char *name, BOOL
                               name, attrib_string(result->list, attrib));
                        return False;
                }
-               return True;
+               return true;
        }
 
        if (!exist) {
@@ -827,7 +778,7 @@ static BOOL check_result(struct multiple_result *result, const char *name, BOOL
                       attrib, result->list[i].both_directory_info.attrib);
                return False;
        }
-       return True;
+       return true;
 }
 
 /* 
@@ -1402,7 +1353,6 @@ static bool test_ea_list(struct torture_context *tctx,
        CHECK_STRING(result.list[2].ea_list.eas.eas[1].name.s, "THIRD EA");
        CHECK_VALUE(result.list[2].ea_list.eas.eas[1].value.length, 0);
 
-done:
        smb_raw_exit(cli->session);
        smbcli_deltree(cli->tree, BASEDIR);
 
@@ -1418,7 +1368,7 @@ struct torture_suite *torture_raw_search(TALLOC_CTX *mem_ctx)
 {
        struct torture_suite *suite = torture_suite_create(mem_ctx, "SEARCH");
 
-       torture_suite_add_1smb_test(suite, "one file", test_one_file);
+       torture_suite_add_1smb_test(suite, "one file search", test_one_file);
        torture_suite_add_1smb_test(suite, "many files", test_many_files);
        torture_suite_add_1smb_test(suite, "sorted", test_sorted);
        torture_suite_add_1smb_test(suite, "modify search", test_modify_search);