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

Unified Diff: ctest/ctest.py

Issue 6675015: Modify au_test_harness and ctest to work from new location. (Closed) Base URL: http://git.chromium.org/git/crostestutils.git@master
Patch Set: Created 9 years, 9 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
« no previous file with comments | « ctest/constants.py ('k') | lib/constants.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ctest/ctest.py
diff --git a/ctest/ctest.py b/ctest/ctest.py
index 3e424b7046accd923a5f9246a1af293d69b5090a..4b09f08ffbd384f8c32f584ca2339e2007adb6ea 100755
--- a/ctest/ctest.py
+++ b/ctest/ctest.py
@@ -15,11 +15,9 @@ import traceback
import urllib
import HTMLParser
-sys.path.append(os.path.join(os.path.dirname(__file__), '../lib'))
-from cros_build_lib import Info
-from cros_build_lib import ReinterpretPathForChroot
-from cros_build_lib import RunCommand
-from cros_build_lib import Warning
+import constants
+sys.path.append(constants.SOURCE_ROOT)
+import chromite.lib.cros_build_lib as cros_lib
_IMAGE_TO_EXTRACT = 'chromiumos_test_image.bin'
_NEW_STYLE_VERSION = '0.9.131.0'
@@ -63,7 +61,7 @@ def ModifyBootDesc(download_folder, redirect_file=None):
redirect_file: For testing. Where to copy new boot desc.
"""
boot_desc_path = os.path.join(download_folder, 'boot.desc')
- in_chroot_folder = ReinterpretPathForChroot(download_folder)
+ in_chroot_folder = cros_lib.ReinterpretPathForChroot(download_folder)
for line in fileinput.input(boot_desc_path, inplace=1):
# Has to be done here to get changes to sys.stdout from fileinput.input.
@@ -78,13 +76,13 @@ def ModifyBootDesc(download_folder, redirect_file=None):
new_path = os.path.join(in_chroot_folder,
os.path.basename(potential_path))
new_line = '%s="%s"' % (var_part, new_path)
- Info('Replacing line %s with %s' % (line, new_line))
+ cros_lib.Info('Replacing line %s with %s' % (line, new_line))
redirect_file.write('%s\n' % new_line)
continue
elif 'output_dir' in var_part:
# Special case for output_dir.
new_line = '%s="%s"' % (var_part, in_chroot_folder)
- Info('Replacing line %s with %s' % (line, new_line))
+ cros_lib.Info('Replacing line %s with %s' % (line, new_line))
redirect_file.write('%s\n' % new_line)
continue
@@ -142,36 +140,20 @@ def GetNewestLinkFromZipBase(board, channel, zip_server_base):
return os.path.join(zip_dir, zip_name)
-def GetLatestZipUrl(board, channel, latest_url_base, zip_server_base):
+def GetLatestZipUrl(board, channel, zip_server_base):
"""Returns the url of the latest image zip for the given arguments.
+ If the latest does not exist, tries to find the rc equivalent.
+
Args:
board: board for the image zip.
channel: channel for the image zip.
- latest_url_base: base url for latest links.
zip_server_base: base url for zipped images.
"""
- if latest_url_base:
- try:
- # Grab the latest image info.
- latest_file_url = os.path.join(latest_url_base, channel,
- 'LATEST-%s' % board)
- latest_image_file = urllib.urlopen(latest_file_url)
- latest_image = latest_image_file.read()
- latest_image_file.close()
- # Convert bin.gz into zip.
- latest_image = latest_image.replace('.bin.gz', '.zip')
- version = latest_image.split('-')[1]
- zip_base = os.path.join(zip_server_base, channel, board)
- return os.path.join(zip_base, version, latest_image)
- except IOError:
- Warning(('Could not use latest link provided, defaulting to parsing'
- ' latest from zip url base.'))
-
try:
return GetNewestLinkFromZipBase(board, channel, zip_server_base)
except:
- Warning('Failed to get url from standard zip base. Trying rc.')
+ cros_lib.Warning('Failed to get url from standard zip base. Trying rc.')
return GetNewestLinkFromZipBase(board + '-rc', channel, zip_server_base)
@@ -195,19 +177,19 @@ def GrabZipAndExtractImage(zip_url, download_folder, image_name) :
if version_url == zip_url and os.path.exists(os.path.join(download_folder,
image_name)):
- Info('Using cached %s' % image_name)
+ cros_lib.Info('Using cached %s' % image_name)
found_cached = True
if not found_cached:
- Info('Downloading %s' % zip_url)
- RunCommand(['rm', '-rf', download_folder], print_cmd=False)
+ cros_lib.Info('Downloading %s' % zip_url)
+ cros_lib.RunCommand(['rm', '-rf', download_folder], print_cmd=False)
os.mkdir(download_folder)
urllib.urlretrieve(zip_url, zip_path)
# Using unzip because python implemented unzip in native python so
# extraction is really slow.
- Info('Unzipping image %s' % image_name)
- RunCommand(['unzip', '-d', download_folder, zip_path],
+ cros_lib.Info('Unzipping image %s' % image_name)
+ cros_lib.RunCommand(['unzip', '-d', download_folder, zip_path],
print_cmd=False, error_message='Failed to download %s' % zip_url)
ModifyBootDesc(download_folder)
@@ -225,7 +207,7 @@ def GrabZipAndExtractImage(zip_url, download_folder, image_name) :
fh.close()
-def RunAUTestHarness(board, channel, latest_url_base, zip_server_base,
+def RunAUTestHarness(board, channel, zip_server_base,
no_graphics, type, remote, clean, test_results_root):
"""Runs the auto update test harness.
@@ -237,7 +219,6 @@ def RunAUTestHarness(board, channel, latest_url_base, zip_server_base,
Args:
board: the board for the latest image.
channel: the channel to run the au test harness against.
- latest_url_base: base url for getting latest links.
zip_server_base: base url for zipped images.
no_graphics: boolean - If True, disable graphics during vm test.
type: which test harness to run. Possible values: real, vm.
@@ -245,15 +226,17 @@ def RunAUTestHarness(board, channel, latest_url_base, zip_server_base,
clean: Clean the state of test harness before running.
test_results_root: Root directory to store au_test_harness results.
"""
- crosutils_root = os.path.join(os.path.dirname(__file__), '..')
+ crosutils_root = os.path.join(constants.SOURCE_ROOT, 'src', 'scripts')
download_folder = os.path.abspath('latest_download')
- zip_url = GetLatestZipUrl(board, channel, latest_url_base, zip_server_base)
+ zip_url = GetLatestZipUrl(board, channel, zip_server_base)
GrabZipAndExtractImage(zip_url, download_folder, _IMAGE_TO_EXTRACT)
# Tests go here.
- latest_image = RunCommand(['./get_latest_image.sh', '--board=%s' % board],
- cwd=crosutils_root, redirect_stdout=True,
- print_cmd=True).strip()
+ return_object = cros_lib.RunCommand(
+ ['./get_latest_image.sh', '--board=%s' % board], cwd=crosutils_root,
+ redirect_stdout=True, print_cmd=True)
+
+ latest_image = return_object.output.strip()
update_engine_path = os.path.join(crosutils_root, '..', 'platform',
'update_engine')
@@ -275,7 +258,7 @@ def RunAUTestHarness(board, channel, latest_url_base, zip_server_base,
if no_graphics: cmd.append('--no_graphics')
if clean: cmd.append('--clean')
- RunCommand(cmd, cwd=crosutils_root)
+ cros_lib.RunCommand(cmd, cwd=crosutils_root)
def main():
@@ -286,8 +269,6 @@ def main():
help='channel for the image to compare against.')
parser.add_option('--cache', default=False, action='store_true',
help='Cache payloads')
- parser.add_option('-l', '--latestbase',
- help='Base url for latest links.')
parser.add_option('-z', '--zipbase',
help='Base url for hosted images.')
parser.add_option('--no_graphics', action='store_true', default=False,
@@ -309,10 +290,9 @@ def main():
if not options.channel: parser.error('Need channel e.g. dev-channel.')
if not options.zipbase: parser.error('Need zip url base to get images.')
- RunAUTestHarness(options.board, options.channel, options.latestbase,
- options.zipbase, options.no_graphics, options.type,
- options.remote, not options.cache,
- options.test_results_root)
+ RunAUTestHarness(options.board, options.channel, options.zipbase,
+ options.no_graphics, options.type, options.remote,
+ not options.cache, options.test_results_root)
if __name__ == '__main__':
« no previous file with comments | « ctest/constants.py ('k') | lib/constants.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698