42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
# Copyright 2020 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.
|
|
|
|
import logging
|
|
|
|
from autotest_lib.client.common_lib import error
|
|
from autotest_lib.client.common_lib import utils
|
|
from autotest_lib.server import test
|
|
from autotest_lib.server.hosts.drone_api_client.client import TLSClient
|
|
|
|
|
|
class infra_TLSExecDUTCommand(test.test):
|
|
"""
|
|
Run a command on the host via the TLS API (ExecDutCommand) and ensure the
|
|
output is as expected.
|
|
|
|
"""
|
|
|
|
version = 1
|
|
|
|
def run_once(self, host):
|
|
"""
|
|
Run the test.
|
|
|
|
@param host: A host object representing the DUT.
|
|
|
|
"""
|
|
tlsclient = TLSClient(hostname=host.hostname)
|
|
res = tlsclient.run_cmd("echo success")
|
|
if not isinstance(res, utils.CmdResult):
|
|
raise error.TestError(
|
|
"Client returned type: '{}'. Expected type: 'utils.CmdResult'"
|
|
.format(type(res)))
|
|
if res.exit_status != 0:
|
|
logging.info("STD_ERR of res {}".format(res.stderr))
|
|
raise error.TestError("TLS CMD exit status was: '{}'. Expected: '0'"
|
|
.format(res.exit_status))
|
|
if res.stdout != "success\n":
|
|
raise error.TestError("TLS returned: '{}'. Expected: '{}'"
|
|
.format(res.stdout, "success\n"))
|