prepare_test_image would prepare the correct image (test or factory)
but its return value would always specify the test image. This meant
that image_to_usb.sh would pick up the wrong image.
This commit fixes this.
BUG=chromium-os:12377
TEST=./image_to_usb --from=... --to=/dev/sdb
also with --factory
also with --test
Make sure it picks up the correct image in each case.
Change-Id: I165b604b448a6c938a47e57a667bd5f001626efe
Review URL: http://codereview.chromium.org/6609016
This CL is a large refactoring that moves the test_harness from using sub-classed classes of au_test into a one where we have the same AU_Test for all test flows but different test workers that operate on different types of machines. Specifically we move the VM / Real-image specific logic into real_au_worker and vm_au_worker. There isn't anything functionally different in this change.
Also, we move the classes into their own modules and clean up use of cros_build_lib to be more stylistically correct.
Change-Id: I3e25141174c3d5ba22962bf94365815e69e5bedf
BUG=chromium-os:11172
TEST=Ran with simple and full w/ w/out delta update payloads and with unittest and without unittest keys. Ran real test using full suite on test device using full update payloads.
Review URL: http://codereview.chromium.org/6597122
All tools have been modified to use /usr/bin/cros_workon. So we can
start removing from src/scripts.
For now, print an error so users aren't caught off guard. In a couple
of weeks, I'll remove from src/scripts.
BUG=11507
TEST=none
Change-Id: Ia5f9996bc54fd97b1264cddcf4a0f945fbcb01b4
Review URL: http://codereview.chromium.org/6594132
When running tests that generate huge amounts of output (like
desktopui_BrowserTest) it would be nice to suppress stdout and stderr
so that the buildbot logs aren't enormous. Adding a --quiet flag that
requires the --results_dir_root flag ensures that we can trim the
output while still ensuring that the useful data is captured.
BUG=8544
TEST=run two tests in parallel with --quiet and --results_dir_root and see that the output is where you expect it
Change-Id: I25c7ad2bc1d017a30df0d1ad4604207443e711d7
Review URL: http://codereview.chromium.org/6602098
BUG=chromium-os:11981
TEST=run cros_sign_bootstub with and without CROS_LOG_PREFIX set.
Change-Id: I320622d4161479dcc29ebdee68e160d94f1d3196
Review URL: http://codereview.chromium.org/6596108
These functions make it easy to do testing in scripts for required
files and tools and provide useful error messages when the files
or tools are not found.
BUG=chromium-os:11981
TEST=run cros_sign_bootstub in configurations that test all paths in
these functions.
Change-Id: Ia63cfabd1eecba6473331b756486745d71e6b699
Review URL: http://codereview.chromium.org/6591056
Change-Id: I2f741d7866192300946299f9050717721c2a644d
BUG=chromium-os:12605
TEST=Changed impl of check_status to return 1 and made sure timeout got inc'd
correctly and aborted. Also checked to make sure if status returned 0 i.e.
update_engine_client --status returned 0, we would continue.
Review URL: http://codereview.chromium.org/6594089
This reintroduces the change after commit 3635aaa55e, which reverted 01c8423582.
BUG=chromium-os:11717
TEST=Ran new unit tests, and did full build.
Review URL: http://codereview.chromium.org/6579048
Change-Id: I598e459ddaa156af47d47d0482cac16ce44f07a4
BUG=chromium-os:5246
TEST=below, During all tests, the directory platform/dev was manually removed
1) Ran cros_au_test_harness.py and saw it succeed
2) Ran generate_au_zip.py, compared the generated .zip with one before this
patch - they were identical
3) Ran cros_image_to_target.py and saw it succeed
Change-Id: Iab2620245a45442b79ee8369f3af1a3990f4644e
Review URL: http://codereview.chromium.org/6576023
The build bots run things a little different it seems. I'll look into
what it is that they do that a normal run doesn't do that causes
this change to fail there. But for now I'm reverting it.
This reverts commit 6d65c0f1b3.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/6594062
Change-Id: I7cdfb25c28f1c139981aaf7382cd3e9dbfd4446b
BUG=n0ne
TEST=run the script and see the update go
Change-Id: Ie767edf85876b7864f6425efed1ac554026ecdff
Review URL: http://codereview.chromium.org/6596062
BUG=chromium-os:11981
TEST=run cros_sign_bootstub with and without CROS_LOG_PREFIX set.
Change-Id: I320622d4161479dcc29ebdee68e160d94f1d3196
Review URL: http://codereview.chromium.org/6597053
This was broken by 798d75f3be and there
isn't a proper way to fix it right now, as that commit generally moves
everything inside the chroot. The few remaining scripts that need to be
called from outside need to do a path magic here or there to survive.
BUG=n0ne
TEST=below
1) generate_au_zip.py, unzip it outside the chroot and try running the script
2) cros_au_test_harness
Change-Id: I14bf0267ba2864d7946d657b23812b3dcd512f48
Review URL: http://codereview.chromium.org/6602018
For the kernel nmi to be activated and function properly it
must be enabled in the kernel command line. This CL adds
`nmi_watchdog=panic,lapic' (which is equivalent of
nmi_watchdog=2) to the command line. The reason '2' was used
and not '1' is that nmi_watchdog=1 is known to break audio
functionality on chromeos devices.
Note that only x86 platforms are affected by this change,
ARM platforms will be added later.
This CL is required by the autotest CL
http://codereview.chromium.org/6596002
Change-Id: Ie8a9ba3f0de6d236cbe098e402b0240aa64ddcd0
BUG=chromium-os:12463, chromium-os:12464
TEST=see below
. build new image for test and install it on the target
. restart the target
. observe the contents of /proc/sys/kernel/nmi_watchdog (it
should read '1' after reboot)
. run autotest as follows
(chroot) ~/trunk/src/scripts $ ./run_remote_tests.sh \
--board=x86-mario --remote=172.22.75.163 \
platform_KernelErrorPaths kernel_BootMessagesServer \
platform_HighResTimers
. observe the results:
INFO : Test results:
---------------------------------------------------------
kernel_BootMessagesServer PASS
kernel_BootMessagesServer/kernel_BootMessagesServer PASS
coldboot_active_mb 50
coldboot_anonpages_mb 36
coldboot_buffers_mb 3
coldboot_cached_mb 166
coldboot_inactive_mb 156
coldboot_memfree_mb 1649
platform_HighResTimers PASS
platform_HighResTimers/platform_HighResTimers PASS
platform_KernelErrorPaths PASS
platform_KernelErrorPaths/platform_KernelErrorPaths PASS
---------------------------------------------------------
Total PASS: 6/6 (100%)
No crashes detected during testing.
Elapsed time: 4m28s
Review URL: http://codereview.chromium.org/6597001
Change-Id: I91ebdcd62630011bb55c7d65d947bcab51533633
BUG=chromium-os:12212
TEST=Ran against a result set with crashes.
Review URL: http://codereview.chromium.org/6598010
BUG=none
TEST=Ran build_image with and without the crossdev upgrade. Made sure it was picking up the correct tarball.
Review URL: http://codereview.chromium.org/6592013
Change-Id: I83e1c35b0d971aa9a5d69fb404a69f2a712bbe38
The one symlink should be update instead of new links being created.
BUG=12233
TEST=Ran run_remote_test.sh many time and verified that the link is updated.
Change-Id: I63f325e03439e5c922e9fe2300444193146182f9
Review URL: http://codereview.chromium.org/6576051
BUG=chromium-os:6840
TEST=Build and install Chrome OS image, no issues observed
Change-Id: I24ea3a96490a81c8926852eff6d2451e57e196f7
Review URL: http://codereview.chromium.org/6546045
If no board is specified for run remote tests,
learn board from device under test instead of using
default board.
BUG=none
TEST= ./run_remote_tests.sh without --board. Verify detects board and
deploys appropriate version for that board.
./run_remote_test.sh with --board x86-mario. Verify that it deploys
that specific board, regardless of target.
Change-Id: I6e71f0f1bf4b2bcfcd3430b29adc16531c6a8c81
Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Chris Sosa <sosa@chromium.org>
Review URL: http://codereview.chromium.org/6580017
Developers may want to run their own factory test UI after finishing the
Google official one, so the "factory" test should be stoppable.
BUG=chrome-os-partner:2456
TEST=build a factory image, install and start factory testing UI,
then switch to VT2, login and type: "initctl stop factory"
the screen should switch to a virtual terminal (VT2) without
hanging / reboot.
Change-Id: I6a9d1c951d48d448f5c83c5f645ea531e8fd1499
Review URL: http://codereview.chromium.org/6567004
For now arm kernel partitions are not signed. This CL is a transitionsl.
That is, the added flag should be removed after arm verified boot is stable.
To properly create an arm kernel partition, we also need another CL for
vbutil_kernel utility that turns off x86-only modifications on kernel
image. See CL:6538015.
BUG=chromium-os:3790,chromium-os:12352
TEST=see below
Build images for x86 and arm successfully, and notice that load_kernel_test
passes for x86 and signed arm image.
$ build_image --board=tegra2_seaboard --crosbug12352_arm_kernel_signing
$ build_image --board=tegra2_seaboard --nocrosbug12352_arm_kernel_signing
$ build_image --board=x86-generic
Review URL: http://codereview.chromium.org/6538014
Change-Id: I1be381bae2fc367a0603ac2ec67ee70fc9a257e4
extra noise in the final exception output.
This change stops catching and rethrowing the same exception, and generally
makes the RunCommand slightly more readable (if longer).
Some unit tests are added, but they only test RunCommand, and not all options
to RunCommand.
BUG=chromium-os:11717
TEST=Manual, and new lib/cros_build_lib_unittest
Review URL: http://codereview.chromium.org/6576016
Change-Id: Ibe9b13ff302621e93196008f86914cb65a232d61
The xorg-server ebuild creates /usr/share/portage on the rootfs partition. This
breaks build_image which wants to point the same directory at the stateful
partition.
To work around this we just link to make.globals directly. This workaround fixes
gmerge but doesn't address the problem that there might be more files inside
/usr/share/portage. A better fix should be addressed as part of
crosbug.com/11502
BUG=chromium-os:12441
TEST=Run build_image and verify /usr/share/portage/config/make.globals points to
/usr/local/share/portage/config/make.globals and that the latter also
exists.
Review URL: http://codereview.chromium.org/6583001
Change-Id: I52fd9d34bf29573fbf6ca013ba49d1c8608e066d
Using %U+1 will ensure that we avoid device enumeration issues during recovery mode
boots.
TEST=build_image+dev recovery kernel and boot to it on new cros fw / fixed enumeration problem
used build with mp recovery kernel on cr-48 -> installed then booted fine
used dev recovery kernel on a legacy machine; installed fine, booted fine
tested with cr-48, mp recovery kernel, and noenable_rootfs_verification to ensure /dev/sd%D%P still worked as normal.
Change-Id: I5b1277a47536738a78c18988fd912cc05ebddd4b
BUG=chromium-os:5470
Review URL: http://codereview.chromium.org/6549034
Having this symlink is extremely useful if your running the same
test over and over again.
BUG=n0ne
TEST=Verified that the symlink is there.
Change-Id: I625a48ce4348082db05951ffd67929687ad461cc
Review URL: http://codereview.chromium.org/6543021
Note: sudo before ifconfig is for running on distros which do not
have /sbin or /usr/sbin in common user's paths, like gentoo.
Change-Id: I85bd379ad059d6ecaa8c11f3167fae27987479dd
BUG=5246
TEST=run cros_au_test_harness and see it not fail
Review URL: http://codereview.chromium.org/6541008
This addresses the case where we don't have chromiumos_image.bin but don't
actually need it since we've previously generated a test image.
Change-Id: Ie7be0165e0f68bbd9d34156b55e17d971cb86fa9
BUG=chromium-os:12268
TEST=Ran it with --noinplace and missing dev image.
Review URL: http://codereview.chromium.org/6538031
Because this scripts changes directory, it's possible for relative
paths to be incorrect when read by the actual dev server. This fixes
the issue by prepending the current working directory to relative path
args.
BUG=chromium-os:12122
TEST=tested relative paths w/ dev server
Change-Id: I7a85e4af5df291ec78afb0f2c1580855c38a258e
Review URL: http://codereview.chromium.org/6525011
This temporary hack is intended to provide to developers a smooth transition to
the new crypted password file location.
BUG=chromium-os:11664
TEST=build_image
Change-Id: I34383f6e08ee8db53e407b30df604c403c72b5eb
Review URL: http://codereview.chromium.org/6539019
Enhancement 1: Fail if we run outside the chroot, because otherwise
you have to wait 10 minutes to find out your results won't be gathered.
Enhancement 2: Print the location of the log output file, for the
benefits of looky-loos who want to see what's going on.
Change-Id: I388b1855c5b6bb20b0efffbf0babd1f60caf7bcb
BUG=None
TEST=run the script per instructions, and see the new output
TEST=run the script outside the chroot, and see it fail immediately
Review URL: http://codereview.chromium.org/6519039
This is necessary so that the baselayout ebuild can be
changed to set /etc/passwd and /etc/shadow appropriately.
A previous attempt to do this through an environment
variable in make.conf.user failed because pkg_postinst
from binary packages run in their prebuilt environment
(and, thus, are not picking the user specific variables).
BUG=chromium-os:11664
TEST=ran set_shared_user_password.sh multiple times, observed
/etc/shared_user_passwd.txt and shared_user_passwd.txt getting updated.
Change-Id: I23b77c7417db0fd18b251f7cca62027813b182a8
Review URL: http://codereview.chromium.org/6534003
Change-Id: I776b3b92c81f6e00b179766fd16a322af4c0379c
BUG=chromium-os:12212
TEST=Ran against test logs for failed build.
Review URL: http://codereview.chromium.org/6534006
As titled, similarly to http://codereview.chromium.org/6508003/, crashes are now detected in Autotest runs and will result in an error being thrown when detected.
The error thrown during crash detection will cause smoke failures and close the tree.
Change-Id: I403833c99c6c37f971bdbe962655ead10a1014c5
BUG=chromium-os:12100
TEST=Ran bvt, smoke with good and bad builds through run_remote_tests.
Review URL: http://codereview.chromium.org/6526031
BUG=chromium-os:11944
TEST=the correct test for this is a complete rebuild; I have this running, but it's going to take a little while. I have tested this on the specific cases of ssh_auth_sock and .subversion
Change-Id: I61723356c58bfb7c2090e950208b8a6ab8fa2fc9
Review URL: http://codereview.chromium.org/6519022
Also refactors some cut-and-paste code
Fix: makes mountpoint for subversion directory
BUG=chromium-os:11944 chromium-os:12058
TEST=enter_chroot.sh with and without another enter_chroot running. Note that there are 0 or 1 mounts of the /tmp/ssh-.... directory. Check that /proc,/sys,/dev,$SSH_AUTH_SOCK,/dev/pts,/home/${USER}/trunk,/home/${USER}/.subversion are all mounted. Test that subversion mountpoint is created
Change-Id: I9dada6f7f98d263345af29a5734c1c70709f6a1e
Review URL: http://codereview.chromium.org/6498001
Review URL: http://codereview.chromium.org/6525020
The factory tests should not use default results folder, otherwise a developer
running autotests by command line would corrupt the whole factory test
framework.
Since tools/autotest cannot support additional parameters and our state (to
continue) is clear, the command is also changed to directly invoke bin/autotest.
BUG=chrome-os-partner:2378
TEST=manually patched into a factory test device and verified factory
UI works at new boot and a reboot.
Change-Id: I9f6ef31114bdda740319072c6f9ac624f6850b95
Review URL: http://codereview.chromium.org/6529046