The previous implementation fixed a number of SSH connection options,
including the connect request timeout (-o ConnectTimeout) and connection
attempts (-o ConnectionAttempts). These values are unreasonably high
when developing tests that do not require SSH at all.
* Add two command-line arguments for these options.
* Substitute the use of a fixed environment variable
(SSH_CONNECT_SETTINGS) for a function call, which can populate SSH
options based on command-line argument values. Callers can still fix
the settings to their liking by assigning a value to
SSH_CONNECT_SETTINGS.
* Defaults kept the same.
BUG=None
TEST=Dependent scripts (like run_remote_tests.sh) running properly and
responding to timeout/reattempt value changes.
Change-Id: I23805b78ffa6ffc743c0ddae98334eee26bd1e5e
Reviewed-on: https://gerrit.chromium.org/gerrit/31608
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
Upgraded dev-cpp/gmock to version 1.4.0 on amd64, arm, x86
BUG=None
TEST=`emerge-amd64-generic gmock` worked
TEST=`emerge-arm-generic gmock` worked
TEST=`emerge-x86-generic gmock` worked
Change-Id: I8f12bddf4498556ec560e6073b946708b09e596b
Reviewed-on: https://gerrit.chromium.org/gerrit/31756
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Han Shen <shenhan@chromium.org>
Tested-by: Han Shen <shenhan@chromium.org>
Previously it was a dependency of chromeos-test which isn't correct
BUG=none
TEST=Build base and factory images
Change-Id: I133b937d1b56f96d5ebf3428172f9a4457c6bf5e
Reviewed-on: https://gerrit.chromium.org/gerrit/31156
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Ready: Liam McLoughlin <lmcloughlin@chromium.org>
Tested-by: Liam McLoughlin <lmcloughlin@chromium.org>
Upgraded dev-python/unittest2 to version 0.5.1 on amd64, arm, x86
(This will be used by various unittests in platform/factory.)
BUG=None
TEST=emerge on all boards
Change-Id: I83838f8610f179aba3c3c731ff8bde16aa922444
Reviewed-on: https://gerrit.chromium.org/gerrit/31415
Tested-by: Jon Salz <jsalz@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Jon Salz <jsalz@chromium.org>
In particular, put the sudoers.d setup into one script (making
updates to it easier in the future if necessary), and
centralize the proxied vars into a const in common.sh.
Thanks to Kevin McCray/Josh Triplett/Alexander Kanevsky for
pointing out the missing proxy variables, and fixes/cleanup.
BUG=None
TEST=https_proxy=blah cros_sdk -- bash -c 'echo $https_proxy'
TEST=build_packages behind a proxy.
TEST=cros_sdk --replace && \
RSYNC_PROXY=blah cros_sdk -- bash -c 'echo $RSYNC_PROXY'
Change-Id: I3165882dfd9c8b52d25c2b26d7ff9242c84c91bd
Reviewed-on: https://gerrit.chromium.org/gerrit/31185
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Josh Triplett <josh@joshtriplett.org>
The core util they rely on, cros_extract_deps has been over yonder
for a while, thus complete the move.
CQ-DEPEND=CL:31218
BUG=chromium-os:33829
TEST=manual invocation of the scripts in question.
Change-Id: I13d7f82f74ef3551f6efcbaf361a34b8847fa4e0
Reviewed-on: https://gerrit.chromium.org/gerrit/31217
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
Three related changes to kernel command line:
1. quiet kernel command line option is redundant with loglevel option
since quiet sets the loglevel to 4 but it is immediately overriden by
the loglevel option. Remove quiet option.
2. with loglevel set to 0 in the kernel command line, pstore console
doesn't work most of the time. This is because all printk's with level
lower than that don't make it to the console drivers. Set loglevel
to 7.
3. console=tty2 doesn't do what we want since the early boot and
shutdown messages with appropriate message log level are still visible
on screen. Set console to empty.
BUG=chrome-os-partner:12780
TEST=1. boot system and ensure that no kernel log messages appear on
screen. Then do a warm reboot and check that /dev/pstore/console-ramoops
file contains kernel log messages from the previous boot.
2. run bootperf test and ensure there are no boot time regressions.
Change-Id: Id1348c30d6aa3d818bae3259e748bf7100bf9c51
Reviewed-on: https://gerrit.chromium.org/gerrit/31180
Reviewed-by: Mandeep Singh Baines <msb@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Sameer Nanda <snanda@chromium.org>
Tested-by: Sameer Nanda <snanda@chromium.org>
BUG=None
TEST=n/a; anything using this path was already broke.
Change-Id: Ie120009a633ef58115bc0ec8eb0a62b273226440
Reviewed-on: https://gerrit.chromium.org/gerrit/31215
Commit-Ready: Brian Harring <ferringb@chromium.org>
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
The current logic accidentally sets TOOLCHAIN_FLAGS when the --nousepkg
flag is used rather than appending it leading to possible flag loss.
While we're at it, use arrays.
BUG=None
TEST=`./setup_board --board=x32-generic --nousepkg` works now
Change-Id: I33627ec088afb649b4fdde42b933a4af1521675b
Reviewed-on: https://gerrit.chromium.org/gerrit/31150
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
BUG=chromium-os:32247,chromium-os:31867,chromium-os:9914
CQ-DEPEND=CL:29250
TEST=manual validation
Change-Id: I055b1dc4b1be54684ac01d3ec4b8760ed33e0aa4
Reviewed-on: https://gerrit.chromium.org/gerrit/29245
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: Ryan Cui <rcui@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
fixup_image_for_qemu.py exists only to add an xorg.conf; however, Xorg's
autodetection has handled qemu/kvm just fine for quite a while now, with
or without -vga std. Drop the script and the call to it from
image_to_vm.sh.
BUG=None
TEST=Build an image, confirm that it still works fine in kvm and
autodetects an appropriate resolution.
Change-Id: I9f550fef1eebe7387d232795105ec47bfa908f22
Reviewed-on: https://gerrit.chromium.org/gerrit/31181
Tested-by: Josh Triplett <josh@joshtriplett.org>
Reviewed-by: Rahul Chaturvedi <rkc@chromium.org>
Commit-Ready: Josh Triplett <josh@joshtriplett.org>
The code has been in here long enough - most people should be
transitioned over who are using gerrit-source. We've also already
removed the chrome projects from the default manifest, and things look
good so far.
BUG=chromium-os:32963
TEST=remote trybot
Change-Id: Idd5e3a2ad77ea86c7316a9d50f5da1a5fdf01d8b
Reviewed-on: https://gerrit.chromium.org/gerrit/31161
Reviewed-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: Ryan Cui <rcui@chromium.org>
Tested-by: Ryan Cui <rcui@chromium.org>
There is a bug in bash where BASH_COMMAND is not correct when an error
is hit in a subshell (it retains the command run *before* the subshell).
Since this has confused a few people using image_to_vm.sh so far, drop
the use of subshells in this file. They weren't necessary in the first
place so it isn't like we're losing anything.
URL: http://lists.gnu.org/archive/html/bug-bash/2012-08/msg00052.html
BUG=None
TEST=`./image_to_vm.sh --board=x86-alex --from=../build/images/x86-alex/latest` still works
TEST=`rm ../build/images/x86-alex/latest/chromiumos_image.bin && ./image_to_vm.sh --board=x86-alex --from=../build/images/x86-alex/latest/` reports correct line
Change-Id: Iaa7560b4868128119a4f6223b54020611f203635
Reviewed-on: https://gerrit.chromium.org/gerrit/31135
Reviewed-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
This is used to build toolchains with specific env variables
BUG=chromium-os:33240
TEST=trybot x86-generic-toolchain-minor
Change-Id: I2bbdd7d013a15c57c590a0d660a210e0ae2a6695
Reviewed-on: https://gerrit.chromium.org/gerrit/30645
Tested-by: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
We don't have anything pulling this into the target, so there is no reason
to list it in package.provided. Further, this messes us up when we we do
want to install it into the target image (for debugging/etc...).
BUG=chromium-os:21330
TEST=`build_packages+build_image` for x86-alex did not install binutils
TEST=`cbuildbot {amd64,arm,x86}-generic-full` did not install binutils
TEST=`emerge-x86-alex binutils` worked
Change-Id: Ie43124a5e763e416508155ab6465a272e639905a
Reviewed-on: https://gerrit.chromium.org/gerrit/30287
Reviewed-by: asharif <asharif@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Otherwise if you switch architectures during the update (32/64-bit), the
module load that's needed to mount the FAT filesystem can't happen (the
module has been replaced with the other binary format).
BUG=none
TEST=run update_kernel on a 32-bit-kernel target after having changed
the overlay to use 64-bit kernel.
Change-Id: I9f302e777a563cbdab2ec636f9a3b35e39ef9c24
Reviewed-on: https://gerrit.chromium.org/gerrit/30681
Tested-by: Olof Johansson <olofj@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Olof Johansson <olofj@chromium.org>
Upgraded app-misc/pax-utils to version 0.4 on amd64, arm, x86
BUG=None
TEST=`cbuildbot chromiumos-sdk {x86,amd64,arm}-generic-full` worked
Change-Id: I127f3d31354f6079c15d347c3cff7b1c52a91a0a
Reviewed-on: https://gerrit.chromium.org/gerrit/29623
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
update_kernel will silently run and report no errors if the user
runs cros_workon_make instead of cros_workon_make --install. As
there are times where the 'uname -a' output doesn't change between
builds (modifying modules or devicetree entries), its not always
obvious that the most recently modified kernel wasn't what was deployed.
This doesn't catch the case where the user first cros_workon's a package
but hasn't done an install (either through emerge or cros_workon_make).
BUG=None
TEST=While cros_workon:
cros_workon_make chromeos-kernel
- observe update_kernel warns
cros_workon_make --install chromeos-kernel
- no warning
cros_workon stop chromeos-kernel
emerge-${BOARD} -g chromeos-kernel
- no warning
emerge-${BOARD} chromeos-kernel
- no warning
Change-Id: I25caa44dc82e00c9bf8703b72d09f76df3db1251
Reviewed-on: https://gerrit.chromium.org/gerrit/30214
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Jon Kliegman <kliegs@chromium.org>
Tested-by: Jon Kliegman <kliegs@chromium.org>
The /var directory on the stateful partition is no longer used in the
recovery image, so there is no reason to mkdir it here.
BUG=chromium-os:32774
TEST=parrot and lumpy recovery image build, manual testing
Change-Id: I9ad936943e88cd2c8cb96a6f715f778c5c65d701
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/30488
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Upgraded sys-devel/libtool to version 2.4-r1 on amd64, arm, x86
We want the new version which no longer requires binutils.
BUG=chromium-os:21330
TEST=`cbuildbot {amd64,arm,x86}-generic-full` worked
Change-Id: Ie6adb636fbb08971cb02a0324a4c6c8147780b95
Reviewed-on: https://gerrit.chromium.org/gerrit/30292
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
This is just style/cleanup changes. Shouldn't be any real impact.
BUG=chromium-os:21330
TEST=`cbuildbot {amd64,arm,x86}-generic-full` worked
Change-Id: Id529f43dbe2f28430f3605bda2a81212abe51f09
Reviewed-on: https://gerrit.chromium.org/gerrit/30288
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Minor code clean up.
BUG=None
TEST=`build_image` still works + boots
Change-Id: I0e26dd3575f963a52d522c4f7c2da8aa5a7dda5c
Reviewed-on: https://gerrit.chromium.org/gerrit/30262
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
We want to run it in the host chroot to generate images.
BUG=chrome-os-partner:12644
TEST=`emerge lzop` worked
Change-Id: I02f684b05ac973090ce42a87a647fe90f1bab9fe
Reviewed-on: https://gerrit.chromium.org/gerrit/30266
Reviewed-by: Simon Glass <sjg@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Rather than forcing all consumers of DEFAULT_BOARD to remember to call
get_default_board, just do it for them automatically.
BUG=None
TEST=`cbuildbot {arm,amd64,x86}-generic-full` works
TEST=`./build_packages --help` shows correct default
Change-Id: I8d6ccb83babb2764a50692318eb9193c45fb3b39
Reviewed-on: https://gerrit.chromium.org/gerrit/17868
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
If an executable was only readable by root, we would skip it with a "Binary
is not user readable" message because the 'file' command was not running as
root. This kept us from generating Breakpad symbols for Xorg, which is now
a top crasher for some boards.
BUG=chrome-os-partner:11791
TEST=Manually ran the script on some files
Change-Id: Id8a13c2968223e54cb1f6c5c3211e9bc2ca89057
Reviewed-on: https://gerrit.chromium.org/gerrit/29839
Tested-by: Michael Krebs <mkrebs@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: Michael Krebs <mkrebs@chromium.org>
Since pkgconfig is installed in the native libdir path, we need to
make sure to filter out all pkgconfig subdirs.
BUG=None
TEST=`./build_image --board=amd64-generic` no longer includes .pc files
Change-Id: Id8116190b6900ac86b433794551b250b6445d9d8
Reviewed-on: https://gerrit.chromium.org/gerrit/29682
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Since we moved the source location during build, some of the security
testcases started reporting errors.
BUG=chromium-os:33392
TEST=build image, check /lib/module/*/{build,source} (none should be there)
Change-Id: I4656f043e4014f33dda03e1f788ba9190e0ce38a
Reviewed-on: https://gerrit.chromium.org/gerrit/29674
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Jim Hebert <jimhebert@chromium.org>
Commit-Ready: Olof Johansson <olofj@chromium.org>
Tested-by: Olof Johansson <olofj@chromium.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Don't run .bash_logout after invocation of the hook, which clears the
screen, sending unnecessary escape characters.
BUG=None
TEST=Ran locally.
Change-Id: I6c466040e7169d304b892b85be6a5b0d578e7714
Reviewed-on: https://gerrit.chromium.org/gerrit/29645
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Ryan Cui <rcui@chromium.org>
Tested-by: Ryan Cui <rcui@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
We will add more firmware-related tools (static AU programs, updater, netboot
firmware, firmware symbols, firmware for AU testing, ...) into /firmware for
buildbot archiver to output, and should not be picked into target chromiumos
image rootfs; so adding INSTALL_MASK should be the right approach.
BUG=chromium-os:33338
TEST=./build_packages; ./build_image
Change-Id: I64a4477a8ca1a5ed99e32d92767509f21a77c704
Reviewed-on: https://gerrit.chromium.org/gerrit/29411
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
BUG=none
TEST=Build a beaglebone image then verify that the beaglebone
bootloader was installed into the ESP
Change-Id: I1037ee6a61d409e8fd2d66ec6746048a54ce8f14
Reviewed-on: https://gerrit.chromium.org/gerrit/26738
Tested-by: Liam McLoughlin <lmcloughlin@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Liam McLoughlin <lmcloughlin@chromium.org>
No need to dump all these mkfs/dd details early on.
BUG=None
TEST=`./build_image` still works, and doesn't spew as much
Change-Id: Ia8113d2ce2c0e6a8a13535b67b37372f0f146398
Reviewed-on: https://gerrit.chromium.org/gerrit/29366
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
The new version supports USE=static which we want for use outside of the
chroot.
BUG=chromium-os:32519
TEST=`cbuildbot chromiumos-sdk {amd64,arm,x86}-generic-full` worked
TEST=`emerge pigz` produced a static binary
TEST=`emerge-amd64-generic -pv pigz` showed USE=-static
Change-Id: Ic440f498506887331422314d87bb6a0db6c57c20
Reviewed-on: https://gerrit.chromium.org/gerrit/29355
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
This moves us to the new style pam virtual.
BUG=None
TEST=`cbuildbot x86-generic-full` works
Change-Id: Ia19a990aaad1d1110ee58e277bc2fd7cf08f2ee0
Reviewed-on: https://gerrit.chromium.org/gerrit/22413
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Upgraded sys-libs/pam to version 1.1.5 on amd64, arm, x86
BUG=chromium-os:21782
TEST=build_packges+build_image for x86-alex boots & can login on console
TEST=`emerge-amd64-generic pam` works
TEST=`emerge-arm-generic pam` works
Change-Id: Iee0f40ba40599996b6b3e09def3c74c96cbf3f9c
Reviewed-on: https://gerrit.chromium.org/gerrit/28497
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Make the following commands send stats to chromiumos-build-stats.appspot.com:
build_image
run_chroot_version_hooks
make_chroot
setup_board
update_chroot
BUG=chromium-os:33088
TEST=`cbuildbot --remote -p chromiumos/platform/crosutils alex-paladin`
confirm in the log that uploads succeded, and see them show up in queries
at chromiumos-build-stats.appspot.com.
Change-Id: I0280f91a3e7e0a0483c01c87072bc589003dbe95
Reviewed-on: https://gerrit.chromium.org/gerrit/28969
Tested-by: Matt Tennant <mtennant@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Matt Tennant <mtennant@chromium.org>
Also move the creation of config.txt to common code and add some of the
options that both platform should use to it.
BUG=chrome-os-partner:11403
TEST=build, boot
Change-Id: I9c6eed3bf05c9f0744063c1baf321bf6d24dc9cc
Reviewed-on: https://gerrit.chromium.org/gerrit/28914
Tested-by: Olof Johansson <olofj@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Commit-Ready: Olof Johansson <olofj@chromium.org>
Valgrind 3.6 doesn't work on our targets because it doesn't support
glibc 2.15. So switch to valgrind 3.7.0.
BUG=none
TEST=by hand
Change-Id: Id7b65f76d79816508439766a386e1186ae175856
Reviewed-on: https://gerrit.chromium.org/gerrit/29005
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>
Upgraded dev-lang/swig to version 2.0.4-r1 on amd64, arm, x86
Needed for newer python (to drop virtual/python requirement).
BUG=chromium-os:31032
TEST=`cbuildbot chromiumos-sdk {amd64,arm,x86}-generic-full` worked
Change-Id: Ic411e89bee77ae3eefb92ff541967bbb1b206701
Reviewed-on: https://gerrit.chromium.org/gerrit/28862
Reviewed-by: Ryan Cui <rcui@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
We were putting 'vmalloc=234MB' in the command line of all ARM boards
even though that's really board-specific. This shell script really
can't do board-specific stuff, just architecture-specific stuff (and
it would be really hard to change that). ...so we're just going to
remove the vmalloc part and we'll have to add it back in in some other
way.
Note that the vmalloc was only there for tegra2 devices and there is
no active development going on there. See http://crosbug.com/33133
for the task to fix the regression and re-add vmalloc somehow for
tegra boards.
BUG=chromium-os:24808
TEST=Built an image and didn't see vmalloc
Change-Id: I6d45143dec5e7ae1bdd207241d275be261085f90
Reviewed-on: https://gerrit.chromium.org/gerrit/28875
Tested-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Doug Anderson <dianders@chromium.org>
- do test for chromium/src before fixing the checkout.
- don't switch manifests for minilayout users.
BUG=chromium-os:32963
TEST=locally
Change-Id: I1d0cbfc9f4f03d85b34810cdb98d99a7a21d8adf
Reviewed-on: https://gerrit.chromium.org/gerrit/28842
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Ryan Cui <rcui@chromium.org>
Commit-Ready: Ryan Cui <rcui@chromium.org>