Merge remote branch 'cros/upstream' into autotest-rebase
Merged to upstream trunk@5066, from trunk@4749.
There is no way I could enlist each individual CL from the upstream here since it will blow up the changelist description field.
BUG=
TEST=
Had patched this CL into a fresh cut client to avoid any side effect.
run_remote_test bvt from both emerged location and third_party/autotest/file.
Both test passed!
We should also keep any eye on this to see how it gets propagated into cautotest server.
TBR=dalecurtis
Change-Id: I72f2bc7a9de530178484aea1bfb5ace68bcad029
diff --git a/server/tests/barriertest_2client/control.srv b/server/tests/barriertest_2client/control.srv
new file mode 100644
index 0000000..d6a70bb
--- /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)
diff --git a/server/tests/netperf2/netperf2.py b/server/tests/netperf2/netperf2.py
index 604e4c8..108dab8 100644
--- a/server/tests/netperf2/netperf2.py
+++ b/server/tests/netperf2/netperf2.py
@@ -33,7 +33,7 @@
"test_time=%d, stream_list=%s, tag='%s', ",
"iterations=%d)"])
- server_control_file = template % (server.ip, client.ip, 'server', test,
+ server_control_file = template % (server.ip, client.ip, 'server', test,
time, stream_list, test, cycles)
client_control_file = template % (server.ip, client.ip, 'client', test,
time, stream_list, test, cycles)