summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Ambach <christian.ambach@de.ibm.com>2011-02-18 15:02:35 +0100
committerMatthias Dieter Wallnöfer <mdw@samba.org>2011-02-21 11:35:30 +0100
commit2ba57fd1832a4bc3c4c652c08e5f62054ecab79b (patch)
tree73343bb11399902a4a11ad5bb7865b3f84e1e33e
parentd2b336ae319053dee96476131a3dc0c45b306b5f (diff)
downloadsamba-2ba57fd1832a4bc3c4c652c08e5f62054ecab79b.tar.gz
samba-2ba57fd1832a4bc3c4c652c08e5f62054ecab79b.tar.bz2
samba-2ba57fd1832a4bc3c4c652c08e5f62054ecab79b.zip
s4:smbtorture do not leave output directory around
calling smbtorture with no or invalid arguments left the temporary output directory around this patches removes the dead-end exit from usage and makes the logic go on until the final cleanup state is reached output directory will still be left around when test times out or testcases itself force an exit also make sure that the directory itself is deleted, not just the objects in it Signed-off-by: Matthias Dieter Wallnöfer <mdw@samba.org> Signed-off-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Mon Feb 21 11:35:30 CET 2011 on sn-devel-104
-rw-r--r--lib/torture/torture.c1
-rw-r--r--source4/torture/smbtorture.c23
2 files changed, 11 insertions, 13 deletions
diff --git a/lib/torture/torture.c b/lib/torture/torture.c
index a12ce657ba..a0b35bfe7c 100644
--- a/lib/torture/torture.c
+++ b/lib/torture/torture.c
@@ -138,6 +138,7 @@ static int local_deltree(const char *path)
}
}
closedir(dir);
+ rmdir(path);
return ret;
}
diff --git a/source4/torture/smbtorture.c b/source4/torture/smbtorture.c
index cfa8b0f87d..62cf0abfb7 100644
--- a/source4/torture/smbtorture.c
+++ b/source4/torture/smbtorture.c
@@ -285,7 +285,7 @@ void torture_print_testsuites(bool structured)
}
}
-_NORETURN_ static void usage(poptContext pc)
+static void usage(poptContext pc)
{
poptPrintUsage(pc, stdout, 0);
printf("\n");
@@ -341,7 +341,6 @@ _NORETURN_ static void usage(poptContext pc)
print_structured_testsuite_list();
- exit(1);
}
_NORETURN_ static void max_runtime_handler(int sig)
@@ -702,19 +701,17 @@ int main(int argc,char *argv[])
if (argc_new < 3) {
printf("You must specify a test to run, or 'ALL'\n");
usage(pc);
- exit(1);
- }
-
+ torture->results->returncode = 1;
+ } else if (!torture_parse_target(cmdline_lp_ctx, argv_new[1])) {
/* Take the target name or binding. */
- if (!torture_parse_target(cmdline_lp_ctx, argv_new[1])) {
usage(pc);
- exit(1);
- }
-
- for (i=2;i<argc_new;i++) {
- if (!torture_run_named_tests(torture, argv_new[i],
- (const char **)restricted)) {
- correct = false;
+ torture->results->returncode = 1;
+ } else {
+ for (i=2;i<argc_new;i++) {
+ if (!torture_run_named_tests(torture, argv_new[i],
+ (const char **)restricted)) {
+ correct = false;
+ }
}
}
}