This harness has support for test on vm machines. It takes a base image and target image path, creates an update-enabled vm image from the base image and performs updates using cros_run_vm_update (vm wrapper around image_to_live). It uses --snapshot for updating vm's and keeps them on (like a real machine would) so that the VM image is clean on the next test.
The current check in has two test cases -- updates without clobbering the stateful partition and updates with clobbering the stateful partition.
Change-Id: I5406eadb39fa36601d17f8dd15625bd6a8b38c15
BUG=6911
TEST=Ran through tests.
Review URL: http://codereview.chromium.org/3554002
Right now we're leaving error_ok=True until the tests are shown to work on builder.
Change-Id: I6b8c690a0da30948389fd4312032c78d87115364
BUG=6906
TEST=Ran through it locally.
Review URL: http://codereview.chromium.org/3591002
- I looked at all of the x86 and ARM paths through out build image scripts,
these changes clean up stale comments, stale code, and unforks some small
things.
BUG=none
TEST=Built images for x86-generic, arm-generic and tegra2-seaboard, booted tegra2-seaboard image.
Review URL: http://codereview.chromium.org/3448022
Change-Id: Ibad2774ff2cbf5f15528454506542b87e43e24a2
Change-Id: Ibf52597f01b7868f8472d2042e4d335442b82597
TEST=manually build a dev recovery image and verified no loop device warning
was outputted by losetup call
Review URL: http://codereview.chromium.org/3439024
So, we've been seeing parallel_emerge hang after printing "Done". It's hard to
know for sure why this hang is happening, but my theory right now is that the
Python garbage collector doesn't always know that it needs to kill the child
processes when we exit normally at the bottom of the script. Adding sys.exit(0)
tells Python that yes, we really want to exit.
I haven't tested my hypothesis above, because the hang we've been seeing is
pretty rare and is hard to reproduce. So I'm planning on testing by just
putting in this workaround and seeing if it fixes the problem.
TEST=Run ./parallel_emerge world
BUG=chromium-os:5976
Change-Id: I7b4f2ec4ccba9b00f22f3739dfd3eff51ceed425
Review URL: http://codereview.chromium.org/3448030
Also fixed get latest image logic in image_to_vm and allowed for using the most recent image in cros_run_vm_test to follow other shell convention of using latest.
Change-Id: I60ed4c03d609500da7f6ae34ef57ba2e32f4b0bb
BUG=
TEST=Tested by running image_to_vm with --full and cros_run_vm_test with suite_Smoke
Review URL: http://codereview.chromium.org/3597001
Change-Id: I33ea8b2148a3e49a6c5de25f2957306130ff092e
BUG=
TEST=Ran and verified with and without flag. Checked mount and tried writing
file to rootfs (to verify it was ro). Also re-ran cros_make_image_bootable
to make sure it worked fine after changes.
Review URL: http://codereview.chromium.org/3479007
This introduces a way to upload prebuilts from the command line.
The following features are available
* Multiprocess upload (cuts time down by a 1/5th for uploading)
* Versioned uploading with git file commital
* Host prebuilt uploading
* Board prebuilt uploading
BUG=chromium-os:4843,chromium-os:5855
TEST=./prebuilt_unittest.py
{'/b/cbuild/build/chroot/build/x86-dogfood/packages/x11-misc/util-macros-1.5.0.tbz2':
'gs://chromeos-prebuilt/host/version/packages/x11-misc/util-macros-1.5.0.tbz2',
'/b/cbuild/build/chroot/build/x86-dogf}
.FILTERING /usr/local/package/oob
FILTERING /var/tmp/bibby.file
.....Updating stage 20100309/stage3-amd64-20100309.tar.bz2 to stage
test_update
.
----------------------------------------------------------------------
Ran 7 tests in 0.002s
OK
If git author name is different in the chroot from outside the chroot, repo
may auto-delete your changes when you run repo sync. These changes can be
recovered, but their deletion is inconvenient.
BUG=chromium-os:5934
TEST=Check that git var GIT_COMMITTER_IDENT is now correct inside chroot.
Change-Id: I622cd37caa404a7482c55c4b3984877b32b3807c
Review URL: http://codereview.chromium.org/3352008
If cbuildbot.py printed out a manifest when it syncs, it would make it possible
for us to reproduce the build later by looking at what revisions the buildbot
was using. This is useful for debugging.
Change-Id: I186ad01eef0090b6c618cb7ad583085197474018
BUG=chromium-os:7069
TEST=Ran test suite with 3441027 patched in (Sosa's patch that fixes an unrelated issue with the unit tests)
Review URL: http://codereview.chromium.org/3461028
repo sync --jobs doesn't check for errors, so we shouldn't use it in
automated scripts. repo --trace is needed so that we can diagnose
whether git is hanging.
BUG=chromium-os:7048, chromium-os:6774
TEST=Ran test suite
Change-Id: I9e68cfffe841a231f5fabef951ea2d45b81c1d5e
Review URL: http://codereview.chromium.org/3419024
BUG=chromium-os:7049
TEST=Tested that DNS errors are retried. Also tested that 404 errors are not retried.
Change-Id: I0f38764e7af822f7db554697b9fa84af033bf111
Review URL: http://codereview.chromium.org/3473017
This is needed in order to do the right thing when adding projects
which require a revision attribute.
BUG=6811
TEST=Updated unittests and verified they pass.
Verified that I can add chromeos-kernel-next and revision gets set.
Change-Id: I12818dad464094cd50098170da3fcf38b1e32f17
Review URL: http://codereview.chromium.org/3400019
BUG=5817
TEST=run_remote_tests --remote=$IP control shows ^...$ on all lines.
Change-Id: Ie0c4ac16493dc97044ec0bd0fd6d6e53a69c9041
Review URL: http://codereview.chromium.org/3473015
Change-Id: I8d04a04ad75f8cd5b040572ac6bb16e594d59e0e
TEST=manually built a dev recovery image and tested in agz device to verify
it installed payload image onto the target and the target is able to boot from HD
Review URL: http://codereview.chromium.org/3432017
- This unbreaks the devserver's update server for ARM.
- This also unforks some of build_image.
BUG=None
TEST=Installed to tegra2_seaboard from USB without --skip_vblock,
updated tegra2_seaboard.
Review URL: http://codereview.chromium.org/3493004
Change-Id: I6e66344de51609393407934f78aa20f49974efef
BUG=
TEST=Tested by persisting, ctrl+c, continuing and using same vm.
Also without --persist
Review URL: http://codereview.chromium.org/3419014
Change-Id: I49e26eb86101e8b8b50e58a9f277d62d5fadc664
restart_inside_chroot first assumes that the calling script is in
src/scripts. Next any paths are not converted when passed so if
someone passes the most recent image, this will also not be interpreted
correctly.
Change-Id: Icb2dfc661eb84e134b4d8c5cf0354a6c1ab161f0
BUG=
TEST=Manually tested running outside chroot (getting error) and inside chroot.
Review URL: http://codereview.chromium.org/3421025
Change-Id: I63bdcaa3630c179d407310f6544c102f5353fa4d
BUG=5530
TEST=Ran both cros_run_vm_test and new script and had the latter update successfully.
Review URL: http://codereview.chromium.org/3427011
The RF testbed has hosts behind a one-way firewall, so the
conventional "image_to_live" script does not work. My initial
attempt at solving this, 'cros_copy_upgrade_server', while
sometimes functional, was always quite brittle since it had
widely ranging dependencies which often changed in ways that
the authors could not predict would break our setup.
I've written from scratch a new script in python which uses
ssh tunnels to get around the problem of the firewall issue.
It also has retlatively minimal dependencies (stateful_update,
cros_generate_update_paylod, cgpt, get_latest_image.sh and
the testing keys) so hopefully it won't get blown away too
often.
BUG=none
TEST=Ran under chroot -- Need help testing
Review URL: http://codereview.chromium.org/3391008
Optionally disable mount/remount during package install for
targets that are already mounted read-write.
BUG=none
TEST=rerun
Review URL: http://codereview.chromium.org/3439012
Otherwise, you'll duplicate an entry already in the developers
manifest and cause repo to get confused.
BUG=6898
TEST=Verified that local_manifest gets updated when using minilayout.xml
Verified that the local_manifset does not get updated when not.
Change-Id: I67ffc7004a2267d0d5aaa31570ac2bbeaa8f4f96
Review URL: http://codereview.chromium.org/3468009
- Build a "kernel image" which contains a uboot script and a uboot kernel
image.
- Fix some sd* assumptions.
- Remove cruft that has never done anything usefull from update_bootloaders
BUG=none
TEST=Built, booted, and updated on tegra2_dev-board
Review URL: http://codereview.chromium.org/3396011
Change-Id: I00ecf57faa5fe64c8e33dd4c042f1dbed806c10a
Change-Id: I09b851e5b9e971c281305802f287fe93e9309fe8
BUG=chromium-os:6821
TEST=manually ran script inside chroot for both a USB device and a dev build
of Chrome OS image. USB image has corrupted rootfs and dev build does not. The
script was able to detect both scenarios correctly.
Review URL: http://codereview.chromium.org/3452013
Change-Id: Ibc260c442f6219c000560f7d665d36543c936611
BUG=chromium-os:6637
TEST=manually created a developer recovery image and tested on agz device with developer switch ON that payload image was installed onto the device successfully and the device is able to boot from HD upon completion of recovery process
Review URL: http://codereview.chromium.org/3423014
TEST=Add impossible-to-satisfy constraints into the dependency graph
that require packages to be reinstalled due to use flags, and run
./parallel_emerge -p chromeos
BUG=chromium-os:6625
Change-Id: I389f7e5ba647a4be0413d1b0b6ea079df5b56433
Review URL: http://codereview.chromium.org/3459006
zbehan's change: "run_remote_tests: destroy the with_spaces hack,
use the --args instead of -a (which doesn't work)", despite apparently
not working is in active use by others, both by folks using it on the
command line and by the script cros_run_wifi_tests.sh. Fix the script
to match the new argument.
BUG=none
TEST=rerun
Review URL: http://codereview.chromium.org/3444010
Before this change, image_to_live could only be used by either passing a custom URL
or using the latest built image. I've added the following:
- Ability to update from an image.zip
- Ability to update from a specific image.
- Ability to clobber the stateful partition after an update
(excluding /usr/local and /var)
- Ability to customize and capture both the update and devserver logs.
- Ability to see the progress of an update.
I've also modified the start logic. It seems the update_engine can get in a state
where if you fail a previous update by killing the devserver, the update engine
will hang for a long time (retries a lot). So I've changed the behavior of
startup and detecting that the system isn't ready to update, to be, reboot and
then try the update.
BUG=
TEST=Tested with all options.
Review URL: http://codereview.chromium.org/3389009
Change-Id: I9bb42edbf5338385f55db242665c94cd552ab277
Change-Id: I8560a4400463d04b7a2441ce6fa9dc9cec834242
BUG=
TEST=run_remote_tests.sh --args='-n 10', and make sure it gets all the way into autotest_run.sh
Review URL: http://codereview.chromium.org/3402007
If the checkout dir doesn't already exist cros_workon start will print
the wrong dir. Fixed by using readlink -m instead.
BUG=none
TEST=Verified that first start is incorrect without this patch
but is fixed with this patch.
Change-Id: I5db29a8c1737dea1dbe4866e18576f67b9355f84
Review URL: http://codereview.chromium.org/3434008
This fixes a bug where user added local_manifest.xml entries
get clobbered.
BUG=5787
TEST=Verified start of various packages works correctly.
Change-Id: I2348dfb1be098b81ede5928426192c655160564d
Review URL: http://codereview.chromium.org/3389013
* stops the second-pass parsing of arguments into IFS-delimited elements
which unbreaks things like --args='-n 10'
Change-Id: If8424b5fc06e6dd5a935421a76539e7e91006c37
BUG=
TEST=run it and see the argument being passed correctly
Review URL: http://codereview.chromium.org/3422005
Three changes here:
1) parallel_emerge now only disables PORTAGE_LOCKS on board builds. This
slows down make_chroot --fast, but works around a bug where make_chroot
--fast sometimes merges broken packages.
2) Only set PORTAGE_LOCKS if it's not already set. This allows users to
override PORTAGE_LOCKS and request that it be enabled using
PORTAGE_LOCKS=true
3) Only add the no-env-update feature if PORTAGE_LOCKS=false. This feature
is only needed for that case.
Long term fix is to patch PORTAGE_LOCKS feature to lock postinst. That'll be
tracked in a separate bug.
BUG=chromium-os:6750
TEST=Run make_chroot --fast. It works every time now, but is slower.
build_packages && build_image run at same speed as before.
Change-Id: I12ab40671034e10cd2ffbba45281ca44718d1d2c
Review URL: http://codereview.chromium.org/3446006