get_latest_image: update usage

BUG=chromium:893754
TEST=precq

Change-Id: I3eddd3a87380fc8475ba1c557a73e46b0f775017
Reviewed-on: https://chromium-review.googlesource.com/1292030
Commit-Ready: Alex Klein <saklein@chromium.org>
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/cros_run_vm_test b/cros_run_vm_test
index 6f6bd6a..2a84f60 100755
--- a/cros_run_vm_test
+++ b/cros_run_vm_test
@@ -39,8 +39,7 @@
 
 # Use latest if not specified.
 if [ -z "${FLAGS_image_path}" ]; then
-  LATEST_IMAGE="$("${SCRIPT_ROOT}/get_latest_image.sh" \
-      --board=${FLAGS_board})/${DEFAULT_QEMU_IMAGE}"
+  LATEST_IMAGE="${IMAGES_DIR}/${FLAGS_board}/latest/${DEFAULT_QEMU_IMAGE}"
   info "Using latest vm image ${LATEST_IMAGE}"
   FLAGS_image_path=${LATEST_IMAGE}
 fi
diff --git a/ctest/ctest.py b/ctest/ctest.py
index 9d5f2d1..b090f3d 100755
--- a/ctest/ctest.py
+++ b/ctest/ctest.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python2
+# -*- coding: utf-8 -*-
 #
 # Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
@@ -97,15 +98,15 @@
     """Initializes the target and base images for CTest."""
     if not self.target:
       # Grab the latest image we've built.
-      return_object = cros_build_lib.RunCommand(
-          ['./get_latest_image.sh', '--board=%s' % self.board],
-          cwd=self.crosutils_root, redirect_stdout=True, print_cmd=False)
+      board_images = os.path.join(constants.SOURCE_ROOT, 'src/build/images',
+                                  self.board)
+      latest = os.path.join(board_images, 'latest')
+      version_dir = os.readlink(latest)
+      latest_image_dir = os.path.join(board_images, version_dir)
 
-      latest_image_dir = return_object.output.strip()
       self.target = os.path.join(
           latest_image_dir, image_extractor.ImageExtractor.IMAGE_TO_EXTRACT)
 
-
     # Grab the latest official build for this board to use as the base image.
     if self.archive_dir:
       target_version = os.path.realpath(self.target).rsplit('/', 2)[-2]
diff --git a/ctest/ctest_unittest.py b/ctest/ctest_unittest.py
index d2a5656..9fb6344 100755
--- a/ctest/ctest_unittest.py
+++ b/ctest/ctest_unittest.py
@@ -1,4 +1,5 @@
-#!/usr/bin/python2
+#!/usr/bin/env python2
+# -*- coding: utf-8 -*-
 #
 # Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
@@ -96,18 +97,18 @@
     self.mox.StubOutWithMock(cros_build_lib, 'RunCommand')
     self.mox.StubOutWithMock(ctest.CTest, '__init__')
     self.mox.StubOutWithMock(image_extractor.ImageExtractor, 'GetLatestImage')
-    fake_result = self.mox.CreateMock(cros_build_lib.CommandResult)
-    fake_result.output = '/some/path_to/latest_version'
+    self.mox.StubOutWithMock(os, 'readlink')
 
     fake_crosutils = os.path.join(self.FAKE_ROOT, 'src', 'scripts')
+    img_dir = os.path.join(constants.SOURCE_ROOT, 'src', 'build', 'images',
+                           'board', 'latest')
+    expected_base = os.path.join(constants.SOURCE_ROOT, 'src', 'build',
+                                 'images', 'board', 'linkval')
 
     ctest.CTest.__init__(None)
-    cros_build_lib.RunCommand(
-        mox.In('./get_latest_image.sh'), cwd=fake_crosutils, print_cmd=False,
-        redirect_stdout=True).AndReturn(fake_result)
     # pylint: disable=no-value-for-parameter
-    image_extractor.ImageExtractor.GetLatestImage('latest_version').AndReturn(
-        None)
+    os.readlink(img_dir).AndReturn('linkval')
+    image_extractor.ImageExtractor.GetLatestImage('linkval').AndReturn(None)
     # pylint: enable=no-value-for-parameter
 
     self.mox.ReplayAll()
@@ -121,7 +122,7 @@
     self.mox.VerifyAll()
     self.assertEqual(ctester.base, ctester.target)
     self.assertEqual(ctester.base, os.path.join(
-        fake_result.output, image_extractor.ImageExtractor.IMAGE_TO_EXTRACT))
+        expected_base, image_extractor.ImageExtractor.IMAGE_TO_EXTRACT))
 
 
 if __name__ == '__main__':