Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(288)

Unified Diff: server/tests/barriertest_2client/control.srv

Issue 6246035: Merge remote branch 'cros/upstream' into master (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/autotest.git@master
Patch Set: patch Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: server/tests/barriertest_2client/control.srv
diff --git a/server/tests/barriertest_2client/control.srv b/server/tests/barriertest_2client/control.srv
new file mode 100644
index 0000000000000000000000000000000000000000..d6a70bb0685e8845316cd186c64daa2c09312bb5
--- /dev/null
+++ b/server/tests/barriertest_2client/control.srv
@@ -0,0 +1,78 @@
+AUTHOR = "gps@google.com (Gregory P. Smith)"
+TIME = "SHORT"
+NAME = "barrier_2client"
+TEST_CATEGORY = "Functional"
+TEST_CLASS = 'Network'
+TEST_TYPE = "Server"
+EXPERIMENTAL = True # This is functional a test of autotest itself.
+SYNC_COUNT = 2
+DOC = """
+A functional test of autotest's Barrier mechanisms for synchronizing
+events between two clients without the help of the server.
+"""
+
+from autotest_lib.server import utils
+
+def run(pair):
+ logging.info('Running on %s and %s', pair[0], pair[1])
+ host_objs = [hosts.create_host(machine) for machine in pair]
+ host_at_objs = [autotest.Autotest(host) for host in host_objs]
+
+ client_control_template = """
+import logging, platform, socket, traceback
+try:
+ client_hostnames = %r
+ master_hostname = client_hostnames[0]
+ client_hostname = client_hostnames[1]
+
+ logging.info('Testing hostname only barrier')
+ barrier = job.barrier(platform.node(), 'barriertest_2client', 120)
+ logging.info('rendezvous-ing')
+ barrier.rendezvous(master_hostname, client_hostname)
+ logging.info('done.')
+
+ logging.info('Testing local identifier barrier')
+ barrier = job.barrier(platform.node() + '#id0', 'barriertest_2client', 120)
+ logging.info('rendezvous-ing')
+ barrier.rendezvous(master_hostname + '#id0',
+ client_hostname + '#id0')
+ logging.info('done.')
+
+ logging.info('Testing IP@ barrier')
+ barrier = job.barrier(socket.gethostbyname(platform.node()),
+ 'barriertest_2client', 120)
+ logging.info('rendezvous-ing')
+ barrier.rendezvous(socket.gethostbyname(master_hostname),
+ socket.gethostbyname(client_hostname))
+ logging.info('done.')
+
+ logging.info('Testing IP@ barrier with ids')
+ barrier = job.barrier(socket.gethostbyname(platform.node()) + '#42',
+ 'barriertest_2client', 120)
+ logging.info('rendezvous-ing')
+ barrier.rendezvous(socket.gethostbyname(master_hostname) + '#42',
+ socket.gethostbyname(client_hostname) + '#42')
+ logging.info('done.')
+except:
+ traceback.print_exc()
+ raise
+"""
+ client_controls = [client_control_template % (pair,) for host in host_objs]
+
+ subcommand_list = []
+ for host, host_at, control in zip(host_objs, host_at_objs, client_controls):
+ subcommand_list.append(subcommand(host_at.run,
+ (control, host.hostname)))
+
+ parallel(subcommand_list)
+
+
+# grab the pairs (and failures)
+(pairs, failures) = utils.form_ntuples_from_machines(machines, 2)
+
+# log the failures
+for failure in failures:
+ job.record("FAIL", failure[0], "barrier_2client", failure[1])
+
+# now run through each pair and run
+job.parallel_simple(run, pairs, log=False)

Powered by Google App Engine
This is Rietveld 408576698