summaryrefslogtreecommitdiff
path: root/test.sh
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2015-02-11 12:59:49 -0800
committerBrian Anderson <banderson@mozilla.com>2015-02-11 12:59:49 -0800
commitc1549849083213f9045dee75040b4ff78d773600 (patch)
treebb8b668982fd4116bf3c06fd304a69997f59b518 /test.sh
parentace5bfaafca62abef90d0dc44275f74eaaecef4e (diff)
downloadrust-installer-c1549849083213f9045dee75040b4ff78d773600.tar.gz
Maintain a log of what the installer did for troubleshootingnext
Diffstat (limited to 'test.sh')
-rwxr-xr-xtest.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/test.sh b/test.sh
index db05d67..22e8315 100755
--- a/test.sh
+++ b/test.sh
@@ -1142,6 +1142,44 @@ disable_verify_noop() {
}
runtest disable_verify_noop
+create_log() {
+ try sh "$S/gen-installer.sh" \
+ --image-dir="$TEST_DIR/image1" \
+ --work-dir="$WORK_DIR" \
+ --output-dir="$OUT_DIR"
+ try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
+ try test -e "$PREFIX_DIR/lib/packagelib/install.log"
+ local _log="$(cat "$PREFIX_DIR/lib/packagelib/install.log")"
+ if [ -z "$_log" ]; then
+ fail "log is empty"
+ fi
+}
+runtest create_log
+
+leave_log_after_failure() {
+ # chmod doesn't work on windows
+ if [ ! -n "${WINDOWS-}" ]; then
+ try sh "$S/gen-installer.sh" \
+ --image-dir="$TEST_DIR/image1" \
+ --work-dir="$WORK_DIR" \
+ --output-dir="$OUT_DIR"
+ mkdir -p "$PREFIX_DIR/lib/packagelib"
+ touch "$PREFIX_DIR/lib/packagelib/components"
+ chmod u-w "$PREFIX_DIR/lib/packagelib/components"
+ expect_fail "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
+ chmod u+w "$PREFIX_DIR/lib/packagelib/components"
+ try test -e "$PREFIX_DIR/lib/packagelib/install.log"
+ local _log="$(cat "$PREFIX_DIR/lib/packagelib/install.log")"
+ if [ -z "$_log" ]; then
+ fail "log is empty"
+ fi
+ # script should tell user where the logs are
+ if ! grep -q "see logs at" "$PREFIX_DIR/lib/packagelib/install.log"; then
+ fail "missing log message"
+ fi
+ fi
+}
+runtest leave_log_after_failure
# TODO: mandir/libdir/bindir, etc.