| AUTHOR = "Kelly Lucas <kdlucas@google.com>" |
| TIME = "SHORT" |
| NAME = "Iperf Multi-machine" |
| TEST_CATEGORY = "Stress" |
| TEST_CLASS = "Network" |
| TEST_TYPE = "Server" |
| SYNC_COUNT = 2 |
| DOC = """ |
| Iperf is a 2 machine test (server/client) that measures maximum TCP and UDP |
| bandwidth performance. |
| |
| Arguments to run_test: |
| |
| server_ip - the ip of the server (automatically filled in) |
| client_ip - the ip of the client (automatically filled in) |
| role - specifies either client or server (automatically filled in) |
| udp - [False/True] specifies if a UDP test should be run. Defaults to |
| TCP if unspecified. |
| bidirectional - [False/True] specifies if a bidirectional test should be run. |
| Defaults to False |
| test_time - Specifies test duration of each iteration in seconds. |
| stream_list - A list containing the number of streams to run the test for. If |
| the list is [1,10,100] then the test will run 3 times. If |
| bidirectional is set then there will be the specified number of |
| bidirectional streams. |
| """ |
| |
| from autotest_lib.server import utils |
| |
| |
| def run(pair): |
| job.run_test('iperf', pair=pair, udp=True, bidirectional=True, time=10, |
| stream_list=range(1,11,2)) |
| |
| # 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], "iperf", failure[1]) |
| |
| # now run through each pair and run |
| job.parallel_simple(run, pairs, log=False) |