mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
r16316: Convert to new torture UI API.
This commit is contained in:
parent
0e52a831ed
commit
ff87504c41
@ -23,6 +23,7 @@
|
|||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
#include "system/filesys.h"
|
#include "system/filesys.h"
|
||||||
#include "torture/torture.h"
|
#include "torture/torture.h"
|
||||||
|
#include "torture/ui.h"
|
||||||
|
|
||||||
#define TEST_FILENAME "utilfile.test"
|
#define TEST_FILENAME "utilfile.test"
|
||||||
#define TEST_LINE1 "This is list line 1..."
|
#define TEST_LINE1 "This is list line 1..."
|
||||||
@ -31,55 +32,49 @@
|
|||||||
|
|
||||||
#define TEST_DATA TEST_LINE1 "\n" TEST_LINE2 "\n" TEST_LINE3
|
#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;
|
size_t len;
|
||||||
char *data;
|
char *data;
|
||||||
|
|
||||||
ret = file_save(TEST_FILENAME, TEST_DATA, strlen(TEST_DATA));
|
torture_assert(test,
|
||||||
if (!ret)
|
file_save(TEST_FILENAME, TEST_DATA, strlen(TEST_DATA)),
|
||||||
return False;
|
"saving file");
|
||||||
|
|
||||||
data = file_load(TEST_FILENAME, &len, mem_ctx);
|
data = file_load(TEST_FILENAME, &len, test);
|
||||||
if (!data)
|
torture_assert(test, data, "loading file");
|
||||||
return False;
|
|
||||||
|
|
||||||
if (len != strlen(TEST_DATA))
|
torture_assert(test, len == strlen(TEST_DATA), "Length");
|
||||||
return False;
|
|
||||||
|
|
||||||
if (memcmp(data, TEST_DATA, len) != 0)
|
torture_assert(test, memcmp(data, TEST_DATA, len) == 0, "Contents");
|
||||||
return False;
|
|
||||||
|
|
||||||
unlink(TEST_FILENAME);
|
unlink(TEST_FILENAME);
|
||||||
|
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOL test_afdgets(TALLOC_CTX *mem_ctx)
|
static BOOL test_afdgets(struct torture_context *test, const void *data)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
char *line;
|
char *line;
|
||||||
|
|
||||||
if (!file_save(TEST_FILENAME, (const void *)TEST_DATA, strlen(TEST_DATA)))
|
torture_assert(test,
|
||||||
return False;
|
file_save(TEST_FILENAME, (const void *)TEST_DATA,
|
||||||
|
strlen(TEST_DATA)),
|
||||||
|
"saving file");
|
||||||
|
|
||||||
fd = open(TEST_FILENAME, O_RDONLY);
|
fd = open(TEST_FILENAME, O_RDONLY);
|
||||||
|
|
||||||
if (fd == -1)
|
torture_assert(test, fd != -1, "opening file");
|
||||||
return False;
|
|
||||||
|
|
||||||
line = afdgets(fd, mem_ctx, 8);
|
line = afdgets(fd, test, 8);
|
||||||
if (strcmp(line, TEST_LINE1) != 0)
|
torture_assert(test, strcmp(line, TEST_LINE1) == 0, "line 1 mismatch");
|
||||||
return False;
|
|
||||||
|
|
||||||
line = afdgets(fd, mem_ctx, 8);
|
line = afdgets(fd, test, 8);
|
||||||
if (strcmp(line, TEST_LINE2) != 0)
|
torture_assert(test, strcmp(line, TEST_LINE2) == 0, "line 2 mismatch");
|
||||||
return False;
|
|
||||||
|
|
||||||
line = afdgets(fd, mem_ctx, 8);
|
line = afdgets(fd, test, 8);
|
||||||
if (strcmp(line, TEST_LINE3) != 0)
|
torture_assert(test, strcmp(line, TEST_LINE3) == 0, "line 3 mismatch");
|
||||||
return False;
|
|
||||||
|
|
||||||
close(fd);
|
close(fd);
|
||||||
|
|
||||||
@ -90,13 +85,13 @@ static BOOL test_afdgets(TALLOC_CTX *mem_ctx)
|
|||||||
|
|
||||||
BOOL torture_local_util_file(struct torture_context *torture)
|
BOOL torture_local_util_file(struct torture_context *torture)
|
||||||
{
|
{
|
||||||
BOOL ret = True;
|
struct torture_suite *suite = torture_suite_create(torture, "util_file");
|
||||||
TALLOC_CTX *mem_ctx = talloc_init("test_util_file");
|
|
||||||
|
|
||||||
ret &= test_file_load_save(mem_ctx);
|
torture_suite_add_simple_tcase(suite, "file_load_save",
|
||||||
ret &= test_afdgets(mem_ctx);
|
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);
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
#include "torture/torture.h"
|
#include "torture/torture.h"
|
||||||
|
#include "torture/ui.h"
|
||||||
|
|
||||||
static const char *test_lists_shell_strings[] = {
|
static const char *test_lists_shell_strings[] = {
|
||||||
"",
|
"",
|
||||||
@ -33,38 +34,34 @@ static const char *test_lists_shell_strings[] = {
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
static BOOL test_lists_shell(TALLOC_CTX *mem_ctx)
|
static BOOL test_lists_shell(struct torture_context *test, const void *_data)
|
||||||
{
|
{
|
||||||
int i;
|
const char *data = _data;
|
||||||
for (i = 0; test_lists_shell_strings[i]; i++) {
|
const char **ret1, **ret2, *tmp;
|
||||||
const char **ret1, **ret2, *tmp;
|
BOOL match = True;
|
||||||
BOOL match = True;
|
|
||||||
|
|
||||||
ret1 = str_list_make_shell(mem_ctx, test_lists_shell_strings[i], " ");
|
ret1 = str_list_make_shell(test, data, " ");
|
||||||
tmp = str_list_join_shell(mem_ctx, ret1, ' ');
|
tmp = str_list_join_shell(test, ret1, ' ');
|
||||||
ret2 = str_list_make_shell(mem_ctx, tmp, " ");
|
ret2 = str_list_make_shell(test, 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
match = False;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!match) {
|
if (ret1[j] || ret2[j])
|
||||||
printf("str_list_{make,join}_shell: Error double parsing, first run:\n%s\nSecond run: \n%s\n",
|
match = False;
|
||||||
test_lists_shell_strings[i],
|
}
|
||||||
tmp);
|
|
||||||
return 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;
|
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 torture_local_util_strlist(struct torture_context *torture)
|
||||||
{
|
{
|
||||||
BOOL ret = True;
|
struct torture_suite *suite = torture_suite_create(torture, "util_strlist");
|
||||||
TALLOC_CTX *mem_ctx = talloc_init("test_util_strlist");
|
int i;
|
||||||
|
|
||||||
ret &= test_lists_shell(mem_ctx);
|
for (i = 0; test_lists_shell_strings[i]; i++) {
|
||||||
talloc_free(mem_ctx);
|
torture_suite_add_simple_tcase(suite,
|
||||||
|
"lists_shell", test_lists_shell,
|
||||||
|
&test_lists_shell_strings[i]);
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return torture_run_suite(torture, suite);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user