diff options
author | Christian Ambach <christian.ambach@de.ibm.com> | 2011-02-18 15:02:35 +0100 |
---|---|---|
committer | Matthias Dieter Wallnöfer <mdw@samba.org> | 2011-02-21 11:35:30 +0100 |
commit | 2ba57fd1832a4bc3c4c652c08e5f62054ecab79b (patch) | |
tree | 73343bb11399902a4a11ad5bb7865b3f84e1e33e | |
parent | d2b336ae319053dee96476131a3dc0c45b306b5f (diff) | |
download | samba-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.c | 1 | ||||
-rw-r--r-- | source4/torture/smbtorture.c | 23 |
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; + } } } } |