Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Unified Diff: src/scripts/test_image

Issue 661239: Add test_image script for checking that dependencies in image are sane (Closed)
Patch Set: Update test_image to skip chrome on the arm architecture, and to test more binaries Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« src/scripts/check_deps ('K') | « src/scripts/check_deps ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« src/scripts/check_deps ('K') | « src/scripts/check_deps ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698