51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
# Copyright 2014 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
from autotest_lib.client.bin import test, utils
|
|
from autotest_lib.client.common_lib import error
|
|
from autotest_lib.client.common_lib.cros import chrome
|
|
|
|
|
|
class desktopui_ConnectivityDiagnostics(test.test):
|
|
"""Basic sanity check of connectivity diagnostics in Chrome."""
|
|
version = 1
|
|
|
|
|
|
EXT_CODE = """
|
|
var complete = false;
|
|
var success = false;
|
|
var error = false;
|
|
// Send a message to the connectivity diagnostics app asking it to run tests.
|
|
chrome.runtime.sendMessage(
|
|
"kodldpbjkkmmnilagfdheibampofhao",
|
|
{
|
|
command: "test"
|
|
}, function(result) {
|
|
complete = true;
|
|
if (result instanceof Object) {
|
|
success = result.success;
|
|
error = result.error;
|
|
} else {
|
|
success = result;
|
|
if (!success) {
|
|
error = "Tests threw an exception";
|
|
}
|
|
}
|
|
console.log(result);
|
|
});
|
|
"""
|
|
|
|
|
|
def run_once(self):
|
|
with chrome.Chrome(disable_default_apps=False, autotest_ext=True) as cr:
|
|
extension = cr.autotest_ext
|
|
extension.EvaluateJavaScript(self.EXT_CODE)
|
|
|
|
utils.poll_for_condition(
|
|
lambda: extension.EvaluateJavaScript('complete;'),
|
|
exception = error.TestError('Tests failed to complete'))
|
|
|
|
if not extension.EvaluateJavaScript('success;'):
|
|
raise error.TestFail(extension.EvaluateJavaScript('error;'))
|