1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

r16316: Convert to new torture UI API.

(This used to be commit ff87504c41)
This commit is contained in:
Jelmer Vernooij 2006-06-16 22:59:40 +00:00 committed by Gerald (Jerry) Carter
parent 69270cfff6
commit 324583b28f
2 changed files with 58 additions and 63 deletions

View File

@ -23,6 +23,7 @@
#include "includes.h"
#include "system/filesys.h"
#include "torture/torture.h"
#include "torture/ui.h"
#define TEST_FILENAME "utilfile.test"
#define TEST_LINE1 "This is list line 1..."
@ -31,55 +32,49 @@
#define TEST_DATA TEST_LINE1 "\n" TEST_LINE2 "\n" TEST_LINE3
static BOOL test_file_load_save(TALLOC_CTX *mem_ctx)
static BOOL test_file_load_save(struct torture_context *test, const void *_data)
{
BOOL ret;
size_t len;
char *data;
ret = file_save(TEST_FILENAME, TEST_DATA, strlen(TEST_DATA));
if (!ret)
return False;
torture_assert(test,
file_save(TEST_FILENAME, TEST_DATA, strlen(TEST_DATA)),
"saving file");
data = file_load(TEST_FILENAME, &len, mem_ctx);
if (!data)
return False;
data = file_load(TEST_FILENAME, &len, test);
torture_assert(test, data, "loading file");
if (len != strlen(TEST_DATA))
return False;
torture_assert(test, len == strlen(TEST_DATA), "Length");
if (memcmp(data, TEST_DATA, len) != 0)
return False;
torture_assert(test, memcmp(data, TEST_DATA, len) == 0, "Contents");
unlink(TEST_FILENAME);
return True;
}
static BOOL test_afdgets(TALLOC_CTX *mem_ctx)
static BOOL test_afdgets(struct torture_context *test, const void *data)
{
int fd;
char *line;
if (!file_save(TEST_FILENAME, (const void *)TEST_DATA, strlen(TEST_DATA)))
return False;
torture_assert(test,
file_save(TEST_FILENAME, (const void *)TEST_DATA,
strlen(TEST_DATA)),
"saving file");
fd = open(TEST_FILENAME, O_RDONLY);
if (fd == -1)
return False;
torture_assert(test, fd != -1, "opening file");
line = afdgets(fd, mem_ctx, 8);
if (strcmp(line, TEST_LINE1) != 0)
return False;
line = afdgets(fd, test, 8);
torture_assert(test, strcmp(line, TEST_LINE1) == 0, "line 1 mismatch");
line = afdgets(fd, mem_ctx, 8);
if (strcmp(line, TEST_LINE2) != 0)
return False;
line = afdgets(fd, test, 8);
torture_assert(test, strcmp(line, TEST_LINE2) == 0, "line 2 mismatch");
line = afdgets(fd, mem_ctx, 8);
if (strcmp(line, TEST_LINE3) != 0)
return False;
line = afdgets(fd, test, 8);
torture_assert(test, strcmp(line, TEST_LINE3) == 0, "line 3 mismatch");
close(fd);
@ -90,13 +85,13 @@ static BOOL test_afdgets(TALLOC_CTX *mem_ctx)
BOOL torture_local_util_file(struct torture_context *torture)
{
BOOL ret = True;
TALLOC_CTX *mem_ctx = talloc_init("test_util_file");
struct torture_suite *suite = torture_suite_create(torture, "util_file");
ret &= test_file_load_save(mem_ctx);
ret &= test_afdgets(mem_ctx);
torture_suite_add_simple_tcase(suite, "file_load_save",
test_file_load_save, NULL);
talloc_free(mem_ctx);
torture_suite_add_simple_tcase(suite, "afdgets",
test_afdgets, NULL);
return ret;
return torture_run_suite(torture, suite);
}

View File

@ -22,6 +22,7 @@
#include "includes.h"
#include "torture/torture.h"
#include "torture/ui.h"
static const char *test_lists_shell_strings[] = {
"",
@ -33,38 +34,34 @@ static const char *test_lists_shell_strings[] = {
NULL
};
static BOOL test_lists_shell(TALLOC_CTX *mem_ctx)
static BOOL test_lists_shell(struct torture_context *test, const void *_data)
{
int i;
for (i = 0; test_lists_shell_strings[i]; i++) {
const char **ret1, **ret2, *tmp;
BOOL match = True;
const char *data = _data;
const char **ret1, **ret2, *tmp;
BOOL match = True;
ret1 = str_list_make_shell(mem_ctx, test_lists_shell_strings[i], " ");
tmp = str_list_join_shell(mem_ctx, ret1, ' ');
ret2 = str_list_make_shell(mem_ctx, tmp, " ");
if ((ret1 == NULL || ret2 == NULL) && ret2 != ret1) {
match = False;
} else {
int j;
for (j = 0; ret1[j] && ret2[j]; j++) {
if (strcmp(ret1[j], ret2[j]) != 0) {
match = False;
break;
}
}
ret1 = str_list_make_shell(test, data, " ");
tmp = str_list_join_shell(test, ret1, ' ');
ret2 = str_list_make_shell(test, tmp, " ");
if (ret1[j] || ret2[j])
if ((ret1 == NULL || ret2 == NULL) && ret2 != ret1) {
match = False;
} else {
int j;
for (j = 0; ret1[j] && ret2[j]; j++) {
if (strcmp(ret1[j], ret2[j]) != 0) {
match = False;
break;
}
}
if (!match) {
printf("str_list_{make,join}_shell: Error double parsing, first run:\n%s\nSecond run: \n%s\n",
test_lists_shell_strings[i],
tmp);
return False;
}
if (ret1[j] || ret2[j])
match = False;
}
if (!match) {
torture_fail(test, "str_list_{make,join}_shell: Error double parsing, first run:\n%s\nSecond run: \n%s", data, tmp);
return False;
}
return True;
@ -72,11 +69,14 @@ static BOOL test_lists_shell(TALLOC_CTX *mem_ctx)
BOOL torture_local_util_strlist(struct torture_context *torture)
{
BOOL ret = True;
TALLOC_CTX *mem_ctx = talloc_init("test_util_strlist");
struct torture_suite *suite = torture_suite_create(torture, "util_strlist");
int i;
ret &= test_lists_shell(mem_ctx);
talloc_free(mem_ctx);
for (i = 0; test_lists_shell_strings[i]; i++) {
torture_suite_add_simple_tcase(suite,
"lists_shell", test_lists_shell,
&test_lists_shell_strings[i]);
}
return ret;
return torture_run_suite(torture, suite);
}