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

Side by Side 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, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 AUTHOR = "gps@google.com (Gregory P. Smith)"
2 TIME = "SHORT"
3 NAME = "barrier_2client"
4 TEST_CATEGORY = "Functional"
5 TEST_CLASS = 'Network'
6 TEST_TYPE = "Server"
7 EXPERIMENTAL = True # This is functional a test of autotest itself.
8 SYNC_COUNT = 2
9 DOC = """
10 A functional test of autotest's Barrier mechanisms for synchronizing
11 events between two clients without the help of the server.
12 """
13
14 from autotest_lib.server import utils
15
16 def run(pair):
17 logging.info('Running on %s and %s', pair[0], pair[1])
18 host_objs = [hosts.create_host(machine) for machine in pair]
19 host_at_objs = [autotest.Autotest(host) for host in host_objs]
20
21 client_control_template = """
22 import logging, platform, socket, traceback
23 try:
24 client_hostnames = %r
25 master_hostname = client_hostnames[0]
26 client_hostname = client_hostnames[1]
27
28 logging.info('Testing hostname only barrier')
29 barrier = job.barrier(platform.node(), 'barriertest_2client', 120)
30 logging.info('rendezvous-ing')
31 barrier.rendezvous(master_hostname, client_hostname)
32 logging.info('done.')
33
34 logging.info('Testing local identifier barrier')
35 barrier = job.barrier(platform.node() + '#id0', 'barriertest_2client', 120)
36 logging.info('rendezvous-ing')
37 barrier.rendezvous(master_hostname + '#id0',
38 client_hostname + '#id0')
39 logging.info('done.')
40
41 logging.info('Testing IP@ barrier')
42 barrier = job.barrier(socket.gethostbyname(platform.node()),
43 'barriertest_2client', 120)
44 logging.info('rendezvous-ing')
45 barrier.rendezvous(socket.gethostbyname(master_hostname),
46 socket.gethostbyname(client_hostname))
47 logging.info('done.')
48
49 logging.info('Testing IP@ barrier with ids')
50 barrier = job.barrier(socket.gethostbyname(platform.node()) + '#42',
51 'barriertest_2client', 120)
52 logging.info('rendezvous-ing')
53 barrier.rendezvous(socket.gethostbyname(master_hostname) + '#42',
54 socket.gethostbyname(client_hostname) + '#42')
55 logging.info('done.')
56 except:
57 traceback.print_exc()
58 raise
59 """
60 client_controls = [client_control_template % (pair,) for host in host_objs]
61
62 subcommand_list = []
63 for host, host_at, control in zip(host_objs, host_at_objs, client_controls):
64 subcommand_list.append(subcommand(host_at.run,
65 (control, host.hostname)))
66
67 parallel(subcommand_list)
68
69
70 # grab the pairs (and failures)
71 (pairs, failures) = utils.form_ntuples_from_machines(machines, 2)
72
73 # log the failures
74 for failure in failures:
75 job.record("FAIL", failure[0], "barrier_2client", failure[1])
76
77 # now run through each pair and run
78 job.parallel_simple(run, pairs, log=False)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698