1*760c253cSXin Li#!/usr/bin/env python3 2*760c253cSXin Li# -*- coding: utf-8 -*- 3*760c253cSXin Li# 4*760c253cSXin Li# Copyright 2020 The ChromiumOS Authors 5*760c253cSXin Li# Use of this source code is governed by a BSD-style license that can be 6*760c253cSXin Li# found in the LICENSE file. 7*760c253cSXin Li 8*760c253cSXin Li"""Script to wrap test_that script. 9*760c253cSXin Li 10*760c253cSXin LiThis script can login to the chromeos machine using the test private key. 11*760c253cSXin Li""" 12*760c253cSXin Li 13*760c253cSXin Li 14*760c253cSXin Li__author__ = "[email protected] (Ahmad Sharif)" 15*760c253cSXin Li 16*760c253cSXin Liimport argparse 17*760c253cSXin Liimport os 18*760c253cSXin Liimport sys 19*760c253cSXin Li 20*760c253cSXin Lifrom cros_utils import command_executer 21*760c253cSXin Lifrom cros_utils import misc 22*760c253cSXin Li 23*760c253cSXin Li 24*760c253cSXin Lidef Usage(parser, message): 25*760c253cSXin Li print("ERROR: %s" % message) 26*760c253cSXin Li parser.print_help() 27*760c253cSXin Li sys.exit(0) 28*760c253cSXin Li 29*760c253cSXin Li 30*760c253cSXin Lidef Main(argv): 31*760c253cSXin Li parser = argparse.ArgumentParser() 32*760c253cSXin Li parser.add_argument( 33*760c253cSXin Li "-c", 34*760c253cSXin Li "--chromeos_root", 35*760c253cSXin Li dest="chromeos_root", 36*760c253cSXin Li help="ChromeOS root checkout directory", 37*760c253cSXin Li ) 38*760c253cSXin Li parser.add_argument( 39*760c253cSXin Li "-r", "--remote", dest="remote", help="Remote chromeos device." 40*760c253cSXin Li ) 41*760c253cSXin Li options = parser.parse_args(argv) 42*760c253cSXin Li if options.chromeos_root is None: 43*760c253cSXin Li Usage(parser, "chromeos_root must be given") 44*760c253cSXin Li 45*760c253cSXin Li if options.remote is None: 46*760c253cSXin Li Usage(parser, "remote must be given") 47*760c253cSXin Li 48*760c253cSXin Li options.chromeos_root = os.path.expanduser(options.chromeos_root) 49*760c253cSXin Li 50*760c253cSXin Li command = "ls -lt /" 51*760c253cSXin Li ce = command_executer.GetCommandExecuter() 52*760c253cSXin Li ce.CrosRunCommand( 53*760c253cSXin Li command, chromeos_root=options.chromeos_root, machine=options.remote 54*760c253cSXin Li ) 55*760c253cSXin Li 56*760c253cSXin Li version_dir_path, script_name = misc.GetRoot(sys.argv[0]) 57*760c253cSXin Li version_dir = misc.GetRoot(version_dir_path)[1] 58*760c253cSXin Li 59*760c253cSXin Li # Tests to copy directories and files to the chromeos box. 60*760c253cSXin Li ce.CopyFiles( 61*760c253cSXin Li version_dir_path, 62*760c253cSXin Li "/tmp/" + version_dir, 63*760c253cSXin Li dest_machine=options.remote, 64*760c253cSXin Li dest_cros=True, 65*760c253cSXin Li chromeos_root=options.chromeos_root, 66*760c253cSXin Li ) 67*760c253cSXin Li ce.CopyFiles( 68*760c253cSXin Li version_dir_path, 69*760c253cSXin Li "/tmp/" + version_dir + "1", 70*760c253cSXin Li dest_machine=options.remote, 71*760c253cSXin Li dest_cros=True, 72*760c253cSXin Li chromeos_root=options.chromeos_root, 73*760c253cSXin Li ) 74*760c253cSXin Li ce.CopyFiles( 75*760c253cSXin Li sys.argv[0], 76*760c253cSXin Li "/tmp/" + script_name, 77*760c253cSXin Li recursive=False, 78*760c253cSXin Li dest_machine=options.remote, 79*760c253cSXin Li dest_cros=True, 80*760c253cSXin Li chromeos_root=options.chromeos_root, 81*760c253cSXin Li ) 82*760c253cSXin Li ce.CopyFiles( 83*760c253cSXin Li sys.argv[0], 84*760c253cSXin Li "/tmp/" + script_name + "1", 85*760c253cSXin Li recursive=False, 86*760c253cSXin Li dest_machine=options.remote, 87*760c253cSXin Li dest_cros=True, 88*760c253cSXin Li chromeos_root=options.chromeos_root, 89*760c253cSXin Li ) 90*760c253cSXin Li 91*760c253cSXin Li # Test to copy directories and files from the chromeos box. 92*760c253cSXin Li ce.CopyFiles( 93*760c253cSXin Li "/tmp/" + script_name, 94*760c253cSXin Li "/tmp/hello", 95*760c253cSXin Li recursive=False, 96*760c253cSXin Li src_machine=options.remote, 97*760c253cSXin Li src_cros=True, 98*760c253cSXin Li chromeos_root=options.chromeos_root, 99*760c253cSXin Li ) 100*760c253cSXin Li ce.CopyFiles( 101*760c253cSXin Li "/tmp/" + script_name, 102*760c253cSXin Li "/tmp/" + script_name, 103*760c253cSXin Li recursive=False, 104*760c253cSXin Li src_machine=options.remote, 105*760c253cSXin Li src_cros=True, 106*760c253cSXin Li chromeos_root=options.chromeos_root, 107*760c253cSXin Li ) 108*760c253cSXin Li board = ce.CrosLearnBoard(options.chromeos_root, options.remote) 109*760c253cSXin Li print(board) 110*760c253cSXin Li return 0 111*760c253cSXin Li 112*760c253cSXin Li 113*760c253cSXin Liif __name__ == "__main__": 114*760c253cSXin Li Main(sys.argv[1:]) 115