Enable autoserv to operate without a results directory
This is incredibly useful for writing small, non-invasive scripts,
using the power of autoserv
Signed-off-by: Martin Bligh <mbligh@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@2444 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/server/autoserv b/server/autoserv
index e6d3a1a..9543801 100755
--- a/server/autoserv
+++ b/server/autoserv
@@ -64,8 +64,6 @@
if not realuser:
realuser = 'anonymous'
-
-
if parser.options.machines:
machines = parser.options.machines.replace(',', ' ').strip().split()
else:
@@ -123,15 +121,16 @@
job = server_job.server_job(control, parser.args[1:], results, label,
user, machines, client, parse_job,
ssh_user, ssh_port, ssh_pass)
- debug_dir = os.path.join(results, 'debug')
- stdout = os.path.join(debug_dir, 'autoserv.stdout')
- stderr = os.path.join(debug_dir, 'autoserv.stderr')
- if no_tee:
- job.stdout.redirect(stdout)
- job.stderr.redirect(stderr)
- else:
- job.stdout.tee_redirect(stdout)
- job.stderr.tee_redirect(stderr)
+ if results:
+ debug_dir = os.path.join(results, 'debug')
+ stdout = os.path.join(debug_dir, 'autoserv.stdout')
+ stderr = os.path.join(debug_dir, 'autoserv.stderr')
+ if no_tee:
+ job.stdout.redirect(stdout)
+ job.stderr.redirect(stderr)
+ else:
+ job.stdout.tee_redirect(stdout)
+ job.stderr.tee_redirect(stderr)
# perform checks
job.precheck()
@@ -176,18 +175,18 @@
sys.exit(1)
print "Results placed in %s" % results
- results = parser.options.results
- if not results:
- results = 'results.' + time.strftime('%Y-%m-%d-%H.%M.%S')
- results = os.path.abspath(results)
- if os.path.exists(os.path.join(results, 'control.srv')):
- error = "Error: results directory already exists: %s\n" % results
- sys.stderr.write(error)
- sys.exit(1)
- print "Results placed in %s" % results
+ results = parser.options.results
+ if not parser.options.no_logging:
+ if not results:
+ results = 'results.' + time.strftime('%Y-%m-%d-%H.%M.%S')
+ results = os.path.abspath(results)
+ if os.path.exists(os.path.join(results, 'control.srv')):
+ error = "Error: results directory already exists: %s\n" % results
+ sys.stderr.write(error)
+ sys.exit(1)
+ print "Results placed in %s" % results
- write_pidfile = parser.options.write_pidfile
- if write_pidfile:
+ if parser.options.write_pidfile:
pid_file_manager.open_pid_file(results)
exit_code = 0