mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-23 14:41:31 +02:00
Update script to not copy non-pyauto parts.
The size of what is in the chrome_dep has increased to a size that is too large to fit into the 1GB stateful partition map of the test image. TEST=Ran it! BUG=None Change-Id: Ic9dcfa143ebb52beb1eb9533a63c6e9d851e57bc Reviewed-on: https://gerrit.chromium.org/gerrit/18065 Reviewed-by: Kris Rambish <krisr@chromium.org> Tested-by: Kris Rambish <krisr@chromium.org> Reviewed-by: Stanley Wong <stanleyw@chromium.org> Commit-Ready: Kris Rambish <krisr@chromium.org>
This commit is contained in:
parent
093ffc22d3
commit
51f9606168
@ -24,7 +24,7 @@ find_common_sh() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
"${SCRIPTS_DIR}/mount_gpt_image.sh" -u -r "$ROOT_FS_DIR"
|
"${SCRIPTS_DIR}/mount_gpt_image.sh" -u -r "$ROOT_FS_DIR" -s "$STATEFUL_FS_DIR"
|
||||||
}
|
}
|
||||||
|
|
||||||
find_common_sh
|
find_common_sh
|
||||||
@ -56,6 +56,7 @@ FLAGS_image=$(eval readlink -f "${FLAGS_image}")
|
|||||||
IMAGE_DIR=$(dirname "${FLAGS_image}")
|
IMAGE_DIR=$(dirname "${FLAGS_image}")
|
||||||
IMAGE_NAME=$(basename "${FLAGS_image}")
|
IMAGE_NAME=$(basename "${FLAGS_image}")
|
||||||
ROOT_FS_DIR="${IMAGE_DIR}/rootfs"
|
ROOT_FS_DIR="${IMAGE_DIR}/rootfs"
|
||||||
|
STATEFUL_FS_DIR="${IMAGE_DIR}/stateful"
|
||||||
|
|
||||||
PYAUTO_DEP="${FLAGS_build_root}/client/deps/pyauto_dep"
|
PYAUTO_DEP="${FLAGS_build_root}/client/deps/pyauto_dep"
|
||||||
CHROME_DEP="${FLAGS_build_root}/client/deps/chrome_test"
|
CHROME_DEP="${FLAGS_build_root}/client/deps/chrome_test"
|
||||||
@ -78,36 +79,58 @@ be sync'd into your chroot.\n $ cros_workon start vboot_reference --board \
|
|||||||
${FLAGS_board}"
|
${FLAGS_board}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
trap cleanup EXIT
|
|
||||||
|
|
||||||
# Mounts gpt image and sets up var, /usr/local and symlinks.
|
|
||||||
"$SCRIPTS_DIR/mount_gpt_image.sh" -i "$IMAGE_NAME" -f "$IMAGE_DIR" \
|
|
||||||
-r "$ROOT_FS_DIR"
|
|
||||||
|
|
||||||
ROOT_FS_AUTOTEST_DIR="${ROOT_FS_DIR}/usr/local/autotest"
|
|
||||||
|
|
||||||
# Copy all of the needed pyauto deps onto the image
|
|
||||||
sudo mkdir "${ROOT_FS_AUTOTEST_DIR}"
|
|
||||||
sudo mkdir "${ROOT_FS_DIR}/usr/local/autotest/deps/"
|
|
||||||
|
|
||||||
if [ ! -d "${FLAGS_build_root}/client/cros" ]; then
|
if [ ! -d "${FLAGS_build_root}/client/cros" ]; then
|
||||||
die "The required path: ${FLAGS_build_root}/client/cros does not exist."
|
die "The required path: ${FLAGS_build_root}/client/cros does not exist."
|
||||||
fi
|
fi
|
||||||
sudo cp -r "${FLAGS_build_root}/client/cros" \
|
|
||||||
"${ROOT_FS_DIR}/usr/local/autotest/"
|
|
||||||
|
|
||||||
sudo cp -r $CHROME_DEP "${ROOT_FS_DIR}/usr/local/autotest/deps"
|
trap cleanup EXIT
|
||||||
sudo cp -r $PYAUTO_DEP "${ROOT_FS_DIR}/usr/local/autotest/deps"
|
|
||||||
|
cleanup EXIT
|
||||||
|
|
||||||
|
# Mounts gpt image and sets up var, /usr/local and symlinks.
|
||||||
|
"$SCRIPTS_DIR/mount_gpt_image.sh" -i "$IMAGE_NAME" -f "$IMAGE_DIR" \
|
||||||
|
-r "$ROOT_FS_DIR" -s "$STATEFUL_FS_DIR"
|
||||||
|
|
||||||
|
STATEFUL_FS_AUTOTEST_DIR="${STATEFUL_FS_DIR}/dev_image/autotest"
|
||||||
|
IMAGE_TEST_SRC_DIR="${STATEFUL_FS_AUTOTEST_DIR}/deps/chrome_test/test_src"
|
||||||
|
IMAGE_RELEASE_DIR="${IMAGE_TEST_SRC_DIR}/out/Release"
|
||||||
|
|
||||||
|
sudo mkdir -p "${STATEFUL_FS_AUTOTEST_DIR}"
|
||||||
|
sudo mkdir -p "${IMAGE_TEST_SRC_DIR}"
|
||||||
|
sudo mkdir -p "${IMAGE_RELEASE_DIR}"
|
||||||
|
|
||||||
|
sudo cp -f -r "${FLAGS_build_root}/client/cros" "${STATEFUL_FS_AUTOTEST_DIR}"
|
||||||
|
|
||||||
|
# We want to copy everything that is in this directory except the out folder
|
||||||
|
# since it has very large test binaries that we don't need for pyauto.
|
||||||
|
info "Copying test source depedencies..."
|
||||||
|
for item in base chrome content net pdf third_party; do
|
||||||
|
info "Copying $item to ${IMAGE_TEST_SRC_DIR}"
|
||||||
|
sudo cp -f -r "${CHROME_DEP}/test_src/$item" "${IMAGE_TEST_SRC_DIR}"
|
||||||
|
done
|
||||||
|
|
||||||
|
info "Copying release binaries..."
|
||||||
|
binaries=( chromedriver pyautolib.py _pyautolib.so pyproto setup_test_links.sh \
|
||||||
|
test_data )
|
||||||
|
for item in "${binaries[@]}"; do
|
||||||
|
info "Copying $item to ${IMAGE_RELEASE_DIR}"
|
||||||
|
sudo cp -f -r "${CHROME_DEP}/test_src/out/Release/$item" \
|
||||||
|
"${IMAGE_RELEASE_DIR}/"
|
||||||
|
done
|
||||||
|
|
||||||
|
info "Copying pyauto dependencies..."
|
||||||
|
sudo cp -r $PYAUTO_DEP "${STATEFUL_FS_AUTOTEST_DIR}/deps"
|
||||||
|
|
||||||
if [ $FLAGS_scrub -eq $FLAGS_TRUE ]; then
|
if [ $FLAGS_scrub -eq $FLAGS_TRUE ]; then
|
||||||
|
IMAGE_TEST_DIR="${IMAGE_TEST_SRC_DIR}/chrome"
|
||||||
sudo rm -rf \
|
sudo rm -rf \
|
||||||
"${ROOT_FS_AUTOTEST_DIR}/deps/chrome_test/test_src/chrome/test/data/" \
|
"${IMAGE_TEST_DIR}/data/" \
|
||||||
"${ROOT_FS_AUTOTEST_DIR}/deps/chrome_test/test_src/chrome/test/functional/"
|
"${IMAGE_TEST_DIR}/functional/"
|
||||||
sudo mkdir \
|
sudo mkdir \
|
||||||
"${ROOT_FS_AUTOTEST_DIR}/deps/chrome_test/test_src/chrome/test/data/" \
|
"${IMAGE_TEST_DIR}/data/" \
|
||||||
"${ROOT_FS_AUTOTEST_DIR}/deps/chrome_test/test_src/chrome/test/functional/"
|
"${IMAGE_TEST_DIR}/functional/"
|
||||||
sudo cp "${CHROME_DEP}/test_src/chrome/test/functional/pyauto_functional.py" \
|
sudo cp "${CHROME_DEP}/test_src/chrome/test/functional/pyauto_functional.py" \
|
||||||
"${ROOT_FS_AUTOTEST_DIR}/deps/chrome_test/test_src/chrome/test/functional/"
|
"${IMAGE_TEST_DIR}/functional/"
|
||||||
# Create an example pyauto test.
|
# Create an example pyauto test.
|
||||||
echo -e "#!/usr/bin/python\n\
|
echo -e "#!/usr/bin/python\n\
|
||||||
# Copyright (c) 2011 The Chromium Authors. All rights reserved.\n\
|
# Copyright (c) 2011 The Chromium Authors. All rights reserved.\n\
|
||||||
@ -140,23 +163,23 @@ class ChromeosDemo(pyauto.PyUITest):\n\
|
|||||||
if __name__ == '__main__':\n\
|
if __name__ == '__main__':\n\
|
||||||
pyauto_functional.Main()" > "/tmp/example.py"
|
pyauto_functional.Main()" > "/tmp/example.py"
|
||||||
sudo cp "/tmp/example.py" \
|
sudo cp "/tmp/example.py" \
|
||||||
"${ROOT_FS_AUTOTEST_DIR}/deps/chrome_test/test_src/\
|
"${STATEFUL_FS_AUTOTEST_DIR}/deps/chrome_test/test_src/\
|
||||||
chrome/test/functional/example.py"
|
chrome/test/functional/example.py"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# In some chroot configurations chronos is not configured, so we use 1000
|
# In some chroot configurations chronos is not configured, so we use 1000
|
||||||
sudo chown -R 1000 "${ROOT_FS_DIR}/usr/local/autotest"
|
sudo chown -R 1000 "${STATEFUL_FS_AUTOTEST_DIR}"
|
||||||
sudo chgrp -R 1000 "${ROOT_FS_DIR}/usr/local/autotest"
|
sudo chgrp -R 1000 "${STATEFUL_FS_AUTOTEST_DIR}"
|
||||||
|
|
||||||
# Based on how the autotest package is extracted, the user running in the chroot
|
# Based on how the autotest package is extracted, the user running in the chroot
|
||||||
# may not have access to navigate into this folder because only the owner
|
# may not have access to navigate into this folder because only the owner
|
||||||
# (chronos) has access. This fixes that so anyone can access.
|
# (chronos) has access. This fixes that so anyone can access.
|
||||||
sudo chmod 747 -R "${ROOT_FS_DIR}/usr/local/autotest"
|
sudo chmod 747 -R "${STATEFUL_FS_AUTOTEST_DIR}"
|
||||||
|
|
||||||
# Setup permissions and symbolic links
|
# Setup permissions and symbolic links
|
||||||
for item in chrome_test pyauto_dep; do
|
for item in chrome_test pyauto_dep; do
|
||||||
pushd .
|
pushd .
|
||||||
cd "${ROOT_FS_DIR}/usr/local/autotest/deps/$item/test_src/out/Release"
|
cd "${STATEFUL_FS_AUTOTEST_DIR}/deps/$item/test_src/out/Release"
|
||||||
sudo cp "${ROOT_FS_DIR}/usr/local/bin/python2.6" suid-python
|
sudo cp "${ROOT_FS_DIR}/usr/local/bin/python2.6" suid-python
|
||||||
sudo chown root:root suid-python
|
sudo chown root:root suid-python
|
||||||
sudo chmod 4755 suid-python
|
sudo chmod 4755 suid-python
|
||||||
|
Loading…
x
Reference in New Issue
Block a user