| #!/bin/bash |
| |
| # Copyright (c) 2011 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. |
| |
| # Abort on error. |
| set -e |
| |
| # Load common constants and variables. |
| . "$(dirname "$0")/common.sh" |
| |
| usage() { |
| echo "Usage $PROG image [config]" |
| } |
| |
| main() { |
| # We want to catch all the discrepancies, not just the first one. |
| # So, any time we find one, we set testfail=1 and continue. |
| # When finished we will use testfail to determine our exit value. |
| local testfail=0 |
| |
| if [ $# -ne 1 ] && [ $# -ne 2 ]; then |
| usage |
| exit 1 |
| fi |
| |
| local image="$1" |
| |
| # Default config location: same name/directory as this script, |
| # with a .config file extension, ie ensure_no_nonrelease_files.config. |
| local configfile="$(dirname "$0")/${0/%.sh/.config}" |
| # Or, maybe a config was provided on the command line. |
| if [ $# -eq 2 ]; then |
| configfile="$2" |
| fi |
| # Either way, load test-expectations data from config. |
| . "$configfile" |
| |
| local rootfs=$(make_temp_dir) |
| mount_image_partition_ro "$image" 3 "$rootfs" |
| |
| for file in ${RELEASE_FILE_BLACKLIST[@]}; do |
| if [ -e "$rootfs/$file" ]; then |
| echo "FAIL: $file exists in this image!" |
| ls -al "$rootfs/$file" |
| testfail=1 |
| fi |
| done |
| |
| exit $testfail |
| } |
| main $@ |