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

Unified Diff: server/site_wifitest.py

Issue 6030011: Rearrange EAP setup so that it is more parameterizable for other EAP types (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/autotest.git@master
Patch Set: No more site_eap 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/site_wifitest.py
diff --git a/server/site_wifitest.py b/server/site_wifitest.py
index 5f62ae320c7a5ff876611ffbf7d9b05f3ec9bda3..1ba043b22fc335f46cf560ef53a7fcf7292795b6 100644
--- a/server/site_wifitest.py
+++ b/server/site_wifitest.py
@@ -8,8 +8,8 @@ from autotest_lib.server import autotest, hosts, subcommand
from autotest_lib.server import site_bsd_router
from autotest_lib.server import site_linux_router
from autotest_lib.server import site_host_attributes
-from autotest_lib.server import site_eap_tls
from autotest_lib.server import test
+from autotest_lib.server.site_eap_certs import *
Paul Stewart 2011/01/13 01:56:06 I'd prefer if you didn't do "import *" here, and r
from autotest_lib.client.common_lib import error
class NotImplemented(Exception):
@@ -319,17 +319,37 @@ class WiFiTest(object):
self.client_installed_scripts[script_name] = script_client_file
return script_client_file
Paul Stewart 2011/01/13 01:56:06 It doesn't make sense to copy this function here a
+ def insert_file(self, host, filename, contents):
+ """
+ If config files are too big, the "host.run()" never returns.
+ As a workaround, break the file up into lines and append the
+ file piece by piece
+ """
+ host.run('rm -f %s >/dev/null 2>&1' % filename, ignore_status=True)
+ content_lines = contents.splitlines()
+ while content_lines:
+ buflist = []
+ buflen = 0
+ while content_lines and buflen + len(content_lines[0]) < 200:
+ line = content_lines.pop(0)
+ buflen += len(line) + 1
+ buflist.append(line)
+
+ if not buflist:
+ raise error.TestFail('Cert profile: line too long: %s' %
+ content_lines[0])
+ host.run('cat <<EOF >>%s\n%s\nEOF\n' %
+ (filename, '\n'.join(buflist)))
+
def connect(self, params):
""" Connect client to AP/router """
script_client_file = self.install_script('site_wlan_connect.py',
'site_wlan_wait_state.py')
- if 'eap-tls' in params:
- params.update(site_eap_tls.client_config(self.client,
- params['eap-tls'],
- params.get('server-auth',
- None)))
+ if 'files' in params:
Paul Stewart 2011/01/13 01:56:06 Instead of having this as a parameter to "connect"
+ for name,contents in params['files'].iteritems():
+ self.insert_file(self.client, name, contents)
flags = []
if params.get('debug', True):

Powered by Google App Engine
This is Rietveld 408576698