| Index: src/scripts/test_image
|
| diff --git a/src/scripts/test_image b/src/scripts/test_image
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..4e25f9b2505a016d369487ced7bf0027fc7b27c7
|
| --- /dev/null
|
| +++ b/src/scripts/test_image
|
| @@ -0,0 +1,66 @@
|
| +#!/bin/bash
|
| +
|
| +# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +# Load common constants. This should be the first executable line.
|
| +# The path to common.sh should be relative to your script's location.
|
| +. "$(dirname "$0")/common.sh"
|
| +
|
| +# Flags
|
| +DEFINE_string target "x86" \
|
| + "The target architecture to test. One of { x86, arm }."
|
| +DEFINE_string root "" \
|
| + "The root file system to check."
|
| +
|
| +# Parse command line
|
| +FLAGS "$@" || exit 1
|
| +eval set -- "${FLAGS_ARGV}"
|
| +
|
| +# Die on any errors
|
| +set -e
|
| +
|
| +# Check all parts of a pipe
|
| +set -o pipefail
|
| +
|
| +ROOT="$FLAGS_root"
|
| +if [[ -z "$ROOT" ]]; then
|
| + echo "Error: --root is required."
|
| + exit 1
|
| +fi
|
| +if [[ ! -d "$ROOT" ]]; then
|
| + echo "Error: Root FS does not exist ($ROOT)"
|
| + exit 1
|
| +fi
|
| +
|
| +EXITCODE=0
|
| +
|
| +BINARIES="$ROOT/usr/bin/Xorg
|
| + $ROOT/usr/bin/chromeos-wm
|
| + $ROOT/boot/vmlinuz
|
| + $ROOT/sbin/session_manager
|
| + $ROOT/bin/sed"
|
| +
|
| +if [[ $FLAGS_target != arm ]]; then
|
| + # chrome isn't present on arm
|
| + BINARIES="$BINARIES
|
| + $ROOT/opt/google/chrome/chrome"
|
| +fi
|
| +
|
| +for i in $BINARIES; do
|
| + if ! [[ -x $i ]]; then
|
| + echo test_image: Cannot find $i
|
| + EXITCODE=1
|
| + fi
|
| +done
|
| +
|
| +LIBS="`sudo find $ROOT -type f -name '*.so*'`"
|
| +
|
| +# Check that all .so files, plus the binaries, have the appropriate dependencies
|
| +if ! "${SCRIPTS_DIR}/check_deps" "$ROOT" $BINARIES $LIBS; then
|
| + echo test_image: Failed dependency check
|
| + EXITCODE=1
|
| +fi
|
| +
|
| +exit $EXITCODE
|
|
|