svn commit: samba r21040 - in branches/SAMBA_4_0: . source
source/torture
jelmer at samba.org
jelmer at samba.org
Sun Jan 28 13:14:53 GMT 2007
Author: jelmer
Date: 2007-01-28 13:14:52 +0000 (Sun, 28 Jan 2007)
New Revision: 21040
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21040
Log:
Remove subunit runner (now written in perl in my perlselftest branch)
Removed:
branches/SAMBA_4_0/source/torture/subunit.c
Modified:
branches/SAMBA_4_0/
branches/SAMBA_4_0/source/dynconfig.c
branches/SAMBA_4_0/source/dynconfig.h
branches/SAMBA_4_0/source/torture/config.mk
branches/SAMBA_4_0/source/torture/smbtorture.c
branches/SAMBA_4_0/source/torture/ui.c
branches/SAMBA_4_0/source/torture/ui.h
Changeset:
Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:merge
- jelmer at samba.org-20060824212938-5923465160f6ab63
jelmer at samba.org-20060830112659-186f132eebc987cc
jelmer at samba.org-20060904121718-63b73248146c14f8
jelmer at samba.org-20060904124721-5e70ab0bd405f748
metze at samba.org-20061010151401-45a5a2ed52cfe172
jelmer at samba.org-20061016130323-400ce51ee51ab30e
jelmer at samba.org-20061016195822-c7783d3ea1a56a53
jelmer at samba.org-20061016230421-75bca2ad62945ede
jelmer at samba.org-20061017145110-8c83a3dd979f6a6a
jelmer at samba.org-20061029173623-eb0459f1d3eb5720
jelmer at samba.org-20070115022006-h5ef1deqflt940b6
jelmer at samba.org-20070116142934-hv99dpwbnq2znh8f
jelmer at samba.org-20070116144126-70rip3bppmvgs3t6
jelmer at samba.org-20070116151516-imvui4r33cj850j9
jelmer at samba.org-20070116154739-3tji4fft7964qgrj
jelmer at samba.org-20070116173900-iasa25stcfty6pbr
jelmer at samba.org-20070117144550-te3o0iy10y14iyo4
jelmer at samba.org-20070122000024-q911packyrjk69ud
jelmer at samba.org-20070122181120-3n8ah238pjbzylyo
jelmer at samba.org-20070122182054-6b26fqrdqyjhyeuc
jelmer at samba.org-20070122233549-k085tfo2o1eqz7mm
jelmer at samba.org-20070123002251-0smz35eva10x84tc
jelmer at samba.org-20070123003546-p0jl6j9tw79q5j1k
jelmer at samba.org-20070123012404-o9w5pmgkm94zsxlu
jelmer at samba.org-20070123094731-ns7dzzzqtb0dlcod
jelmer at samba.org-20070125123431-g3pqm92r31ez9xyc
jelmer at samba.org-20070126125959-3w3t26aps9hmwukv
jelmer at samba.org-20070126132607-64kt7rc2wtqh0c7u
jelmer at samba.org-20070126133903-onfotbg1051ktojo
jelmer at samba.org-20070126144259-171b4t0744jigs5x
jelmer at samba.org-20070126152205-xj7j1avc7683rjy5
jelmer at samba.org-20070128010235-e8st47gcy00ii8kc
+ jelmer at samba.org-20060824212938-5923465160f6ab63
jelmer at samba.org-20060830112659-186f132eebc987cc
jelmer at samba.org-20060904121718-63b73248146c14f8
jelmer at samba.org-20060904124721-5e70ab0bd405f748
metze at samba.org-20061010151401-45a5a2ed52cfe172
jelmer at samba.org-20061016130323-400ce51ee51ab30e
jelmer at samba.org-20061016195822-c7783d3ea1a56a53
jelmer at samba.org-20061016230421-75bca2ad62945ede
jelmer at samba.org-20061017145110-8c83a3dd979f6a6a
jelmer at samba.org-20061029173623-eb0459f1d3eb5720
jelmer at samba.org-20070115022006-h5ef1deqflt940b6
jelmer at samba.org-20070116142934-hv99dpwbnq2znh8f
jelmer at samba.org-20070116144126-70rip3bppmvgs3t6
jelmer at samba.org-20070116151516-imvui4r33cj850j9
jelmer at samba.org-20070116154739-3tji4fft7964qgrj
jelmer at samba.org-20070116173900-iasa25stcfty6pbr
jelmer at samba.org-20070117144550-te3o0iy10y14iyo4
jelmer at samba.org-20070122000024-q911packyrjk69ud
jelmer at samba.org-20070122181120-3n8ah238pjbzylyo
jelmer at samba.org-20070122182054-6b26fqrdqyjhyeuc
jelmer at samba.org-20070122233549-k085tfo2o1eqz7mm
jelmer at samba.org-20070123002251-0smz35eva10x84tc
jelmer at samba.org-20070123003546-p0jl6j9tw79q5j1k
jelmer at samba.org-20070123012404-o9w5pmgkm94zsxlu
jelmer at samba.org-20070123094731-ns7dzzzqtb0dlcod
jelmer at samba.org-20070125123431-g3pqm92r31ez9xyc
jelmer at samba.org-20070126125959-3w3t26aps9hmwukv
jelmer at samba.org-20070126132607-64kt7rc2wtqh0c7u
jelmer at samba.org-20070126133903-onfotbg1051ktojo
jelmer at samba.org-20070126144259-171b4t0744jigs5x
jelmer at samba.org-20070126152205-xj7j1avc7683rjy5
jelmer at samba.org-20070128010235-e8st47gcy00ii8kc
jelmer at samba.org-20070128130853-xjjrlrtf830pwnx6
Modified: branches/SAMBA_4_0/source/dynconfig.c
===================================================================
--- branches/SAMBA_4_0/source/dynconfig.c 2007-01-28 07:58:39 UTC (rev 21039)
+++ branches/SAMBA_4_0/source/dynconfig.c 2007-01-28 13:14:52 UTC (rev 21040)
@@ -88,6 +88,3 @@
/** Where to find the winbindd socket */
_PUBLIC_ const char *dyn_WINBINDD_SOCKET_DIR = WINBINDD_SOCKET_DIR;
-
-/** Directory with subunit torture tests */
-_PUBLIC_ const char *dyn_TORTUREDIR = TORTUREDIR;
Modified: branches/SAMBA_4_0/source/dynconfig.h
===================================================================
--- branches/SAMBA_4_0/source/dynconfig.h 2007-01-28 07:58:39 UTC (rev 21039)
+++ branches/SAMBA_4_0/source/dynconfig.h 2007-01-28 13:14:52 UTC (rev 21040)
@@ -40,4 +40,3 @@
extern const char *dyn_JSDIR;
extern const char *dyn_SETUPDIR;
extern const char *dyn_WINBINDD_SOCKET_DIR;
-extern const char *dyn_TORTUREDIR;
Modified: branches/SAMBA_4_0/source/torture/config.mk
===================================================================
--- branches/SAMBA_4_0/source/torture/config.mk 2007-01-28 07:58:39 UTC (rev 21039)
+++ branches/SAMBA_4_0/source/torture/config.mk 2007-01-28 13:14:52 UTC (rev 21040)
@@ -7,7 +7,6 @@
PUBLIC_PROTO_HEADER = proto.h
OBJ_FILES = \
torture.o \
- subunit.o \
ui.o
PUBLIC_DEPENDENCIES = \
LIBSAMBA-CONFIG \
Modified: branches/SAMBA_4_0/source/torture/smbtorture.c
===================================================================
--- branches/SAMBA_4_0/source/torture/smbtorture.c 2007-01-28 07:58:39 UTC (rev 21039)
+++ branches/SAMBA_4_0/source/torture/smbtorture.c 2007-01-28 13:14:52 UTC (rev 21040)
@@ -326,7 +326,7 @@
static void subunit_suite_start(struct torture_context *ctx,
struct torture_suite *suite)
{
- printf("testsuite: %s\n", suite->path);
+ printf("testsuite: %s\n", suite->name);
}
static void subunit_test_start (struct torture_context *ctx,
@@ -499,7 +499,6 @@
char **argv_new;
poptContext pc;
static const char *target = "other";
- const char **subunit_dir;
struct dcerpc_binding *binding_struct;
NTSTATUS status;
int shell = False;
@@ -608,14 +607,6 @@
return 0;
}
- subunit_dir = lp_parm_string_list(-1, "torture", "subunitdir", ":");
- if (subunit_dir == NULL)
- torture_subunit_load_testsuites(dyn_TORTUREDIR, true, NULL);
- else {
- for (i = 0; subunit_dir[i]; i++)
- torture_subunit_load_testsuites(subunit_dir[i], true, NULL);
- }
-
if (torture_seed == 0) {
torture_seed = time(NULL);
}
Deleted: branches/SAMBA_4_0/source/torture/subunit.c
===================================================================
--- branches/SAMBA_4_0/source/torture/subunit.c 2007-01-28 07:58:39 UTC (rev 21039)
+++ branches/SAMBA_4_0/source/torture/subunit.c 2007-01-28 13:14:52 UTC (rev 21040)
@@ -1,294 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
- Run subunit tests
- Copyright (C) Jelmer Vernooij 2006
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include "includes.h"
-#include "system/dir.h"
-#include "system/network.h"
-#include "system/filesys.h"
-#include "torture/ui.h"
-#include "torture/torture.h"
-#include "torture/proto.h"
-
-struct torture_suite *torture_subunit_suite_create(TALLOC_CTX *mem_ctx,
- const char *path)
-{
- struct torture_suite *suite = talloc_zero(mem_ctx, struct torture_suite);
-
- suite->path = talloc_strdup(suite, path);
- suite->name = talloc_strdup(suite, strrchr(path, '/')?strrchr(path, '/')+1:
- path);
- suite->description = talloc_asprintf(suite, "Subunit test %s", suite->name);
-
- return suite;
-}
-
-bool torture_subunit_load_testsuites(const char *directory, bool recursive,
- struct torture_suite *parent)
-{
- DIR *dir;
- struct dirent *entry;
- char *filename;
- bool exists;
-
- if (parent == NULL)
- parent = torture_root;
-
- dir = opendir(directory);
- if (dir == NULL)
- return true;
-
- while((entry = readdir(dir))) {
- struct torture_suite *child;
- if (entry->d_name[0] == '.')
- continue;
-
- filename = talloc_asprintf(NULL, "%s/%s", directory, entry->d_name);
-
- if (!recursive && directory_exist(filename)) {
- talloc_free(filename);
- continue;
- }
-
- if (directory_exist(filename)) {
- child = torture_find_suite(parent, entry->d_name);
- exists = (child != NULL);
- if (child == NULL)
- child = torture_suite_create(parent, entry->d_name);
- torture_subunit_load_testsuites(filename, true, child);
- } else {
- child = torture_subunit_suite_create(parent, filename);
- exists = false;
- }
-
- if (!exists) {
- torture_suite_add_suite(parent, child);
- }
-
- talloc_free(filename);
- }
-
- closedir(dir);
-
- return true;
-}
-
-static pid_t piped_child(char* const command[], int *f_stdout, int *f_stderr)
-{
- pid_t pid;
- int sock_out[2], sock_err[2];
-
- if (pipe(sock_out) == -1) {
- DEBUG(0, ("socketpair: %s", strerror(errno)));
- return -1;
- }
-
- if (pipe(sock_err) == -1) {
- DEBUG(0, ("socketpair: %s", strerror(errno)));
- return -1;
- }
-
- *f_stdout = sock_out[0];
- *f_stderr = sock_err[0];
-
- pid = fork();
-
- if (pid == -1) {
- DEBUG(0, ("fork: %s", strerror(errno)));
- return -1;
- }
-
- if (pid == 0) {
- close(0);
- close(1);
- close(2);
- close(sock_out[0]);
- close(sock_err[0]);
-
- open("/dev/null", O_RDONLY);
- dup2(sock_out[1], 1);
- dup2(sock_err[1], 2);
- execvp(command[0], command);
- exit(-1);
- }
-
- close(sock_out[1]);
- close(sock_err[1]);
-
- return pid;
-}
-
-enum subunit_field { SUBUNIT_TEST, SUBUNIT_SUCCESS, SUBUNIT_FAILURE,
- SUBUNIT_SKIP };
-
-static void run_subunit_message(struct torture_context *context,
- enum subunit_field field,
- const char *name,
- const char *comment)
-{
- struct torture_test test;
-
- ZERO_STRUCT(test);
- test.name = name;
-
- switch (field) {
- case SUBUNIT_TEST:
- test.description = comment;
- torture_ui_test_start(context, NULL, &test);
- break;
- case SUBUNIT_FAILURE:
- context->active_test = &test;
- torture_ui_test_result(context, TORTURE_FAIL, comment);
- context->active_test = NULL;
- break;
- case SUBUNIT_SUCCESS:
- context->active_test = &test;
- torture_ui_test_result(context, TORTURE_OK, comment);
- context->active_test = NULL;
- break;
- case SUBUNIT_SKIP:
- context->active_test = &test;
- torture_ui_test_result(context, TORTURE_SKIP, comment);
- context->active_test = NULL;
- break;
- }
-}
-
-bool torture_subunit_run_suite(struct torture_context *context,
- struct torture_suite *suite)
-{
- static char *command[2];
- int fd_out, fd_err;
- pid_t pid;
- size_t size;
- char *p, *q;
- char *comment = NULL;
- char *name = NULL;
- enum subunit_field lastfield;
- int status;
- char buffer[4096];
- size_t offset = 0;
-
-
- command[0] = talloc_strdup(context, suite->path);
- command[1] = NULL;
-
- pid = piped_child(command, &fd_out, &fd_err);
- if (pid == -1)
- return false;
-
- while (1) {
- fd_set fds;
- char *eol;
-
- FD_ZERO(&fds);
-
- FD_SET(fd_out, &fds);
- FD_SET(fd_err, &fds);
-
- if (select(MAX(fd_out,fd_err)+1, &fds, NULL, NULL, NULL) <= 0) break;
-
- if (FD_ISSET(fd_err, &fds)) {
- size = read(fd_err, buffer+offset, sizeof(buffer) - (offset+1));
- if (size <= 0) break;
- write(2, buffer+offset, size);
- continue;
- }
-
- if (!FD_ISSET(fd_out, &fds)) continue;
-
- size = read(fd_out, buffer+offset, sizeof(buffer) - (offset+1));
-
- if (size <= 0) break;
-
- buffer[offset+size] = '\0';
-
- write(1, buffer+offset, size);
-
- for (p = buffer; p; p = eol+1) {
- eol = strchr(p, '\n');
- if (eol == NULL)
- break;
-
- *eol = '\0';
-
- if (comment != NULL && strcmp(p, "]") == 0) {
- run_subunit_message(context, lastfield, name, comment);
- talloc_free(name); name = NULL;
- talloc_free(comment); comment = NULL;
- } else if (comment != NULL) {
- comment = talloc_append_string(context, comment, p);
- } else {
- q = strchr(p, ':');
- if (q == NULL) {
- torture_comment(context, "Invalid line `%s'\n", p);
- continue;
- }
-
- *q = '\0';
- if (!strcmp(p, "test")) {
- lastfield = SUBUNIT_TEST;
- } else if (!strcmp(p, "failure")) {
- lastfield = SUBUNIT_FAILURE;
- } else if (!strcmp(p, "success")) {
- lastfield = SUBUNIT_SUCCESS;
- } else if (!strcmp(p, "skip")) {
- lastfield = SUBUNIT_SKIP;
- } else {
- torture_comment(context, "Invalid subunit field `%s'\n", p);
- continue;
- }
-
- p = q+1;
-
- name = talloc_strdup(context, p+1);
-
- q = strrchr(p, '[');
- if (q != NULL) {
- *q = '\0';
- comment = talloc_strdup(context, "");
- } else {
- run_subunit_message(context, lastfield, name, NULL);
- talloc_free(name);
- name = NULL;
- }
- }
- }
-
- offset += size-(p-buffer);
- memcpy(buffer, p, offset);
- }
-
- if (waitpid(pid, &status, 0) == -1) {
- torture_result(context, TORTURE_ERROR, "waitpid(%d) failed\n", pid);
- return false;
- }
-
- if (WEXITSTATUS(status) != 0) {
- torture_result(context, TORTURE_ERROR, "failed with status %d\n", WEXITSTATUS(status));
- return false;
- }
-
- if (name != NULL) {
- torture_result(context, TORTURE_ERROR, "Interrupted during %s\n", name);
- return false;
- }
-
- return true;
-}
Modified: branches/SAMBA_4_0/source/torture/ui.c
===================================================================
--- branches/SAMBA_4_0/source/torture/ui.c 2007-01-28 07:58:39 UTC (rev 21039)
+++ branches/SAMBA_4_0/source/torture/ui.c 2007-01-28 13:14:52 UTC (rev 21040)
@@ -141,9 +141,6 @@
else
context->active_testname = talloc_strdup(context, suite->name);
- if (suite->path)
- ret &= torture_subunit_run_suite(context, suite);
-
for (tcase = suite->testcases; tcase; tcase = tcase->next) {
ret &= torture_run_tcase(context, tcase);
}
Modified: branches/SAMBA_4_0/source/torture/ui.h
===================================================================
--- branches/SAMBA_4_0/source/torture/ui.h 2007-01-28 07:58:39 UTC (rev 21039)
+++ branches/SAMBA_4_0/source/torture/ui.h 2007-01-28 13:14:52 UTC (rev 21040)
@@ -141,7 +141,6 @@
struct torture_suite
{
const char *name;
- const char *path; /* Used by subunit tests only */
const char *description;
struct torture_tcase *testcases;
struct torture_suite *children;
More information about the samba-cvs
mailing list