From 92a6cd373a9f6b1468089e269bccbe1d0dbc65e9 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 22 Jul 2005 09:49:32 +0000 Subject: r8709: fixed the assumption in RAW-SEARCH that directories are returned in sorted order (This used to be commit 92afff5fe7134872f12c25628d047b2a92e92a37) --- source4/torture/raw/search.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'source4/torture/raw/search.c') diff --git a/source4/torture/raw/search.c b/source4/torture/raw/search.c index 4c57e3e52e..cb6cf6336e 100644 --- a/source4/torture/raw/search.c +++ b/source4/torture/raw/search.c @@ -1182,6 +1182,11 @@ done: } +static int ealist_cmp(union smb_search_data *r1, union smb_search_data *r2) +{ + return strcmp(r1->ea_list.name.s, r2->ea_list.name.s); +} + /* testing of the rather strange ea_list level */ @@ -1252,7 +1257,7 @@ static BOOL test_ea_list(struct smbcli_state *cli, TALLOC_CTX *mem_ctx) nxt.t2fnext.in.max_count = 2; nxt.t2fnext.in.resume_key = result.list[1].ea_list.resume_key; nxt.t2fnext.in.flags = FLAG_TRANS2_FIND_REQUIRE_RESUME | FLAG_TRANS2_FIND_CONTINUE; - nxt.t2fnext.in.last_name = "file2.txt"; + nxt.t2fnext.in.last_name = result.list[1].ea_list.name.s; nxt.t2fnext.in.num_names = 2; nxt.t2fnext.in.ea_names = talloc_array(mem_ctx, struct ea_name, 2); nxt.t2fnext.in.ea_names[0].name.s = "SECOND EA"; @@ -1262,6 +1267,10 @@ static BOOL test_ea_list(struct smbcli_state *cli, TALLOC_CTX *mem_ctx) &nxt, &result, multiple_search_callback); CHECK_STATUS(status, NT_STATUS_OK); + /* we have to sort the result as different servers can return directories + in different orders */ + qsort(result.list, result.count, sizeof(result.list[0]), + (comparison_fn_t)ealist_cmp); CHECK_VALUE(result.count, 3); CHECK_VALUE(result.list[0].ea_list.eas.num_eas, 2); -- cgit