blob: 87dcdcb55b7708461287c37ff4dacd97ec53178a [file] [log] [blame] [edit]
#!/bin/sh
S="$(cd $(dirname $0) && pwd)"
TEST_DIR="$S/test"
TMP_DIR="$S/tmp"
WORK_DIR="$TMP_DIR/workdir"
OUT_DIR="$TMP_DIR/outdir"
PREFIX_DIR="$TMP_DIR/prefix"
case $(uname -s) in
MINGW* | MSYS*)
WINDOWS=1
;;
esac
pre() {
echo
echo "test: $1"
echo
rm -Rf "$WORK_DIR"
rm -Rf "$OUT_DIR"
rm -Rf "$PREFIX_DIR"
mkdir -p "$WORK_DIR"
mkdir -p "$OUT_DIR"
mkdir -p "$PREFIX_DIR"
}
post() {
rm -Rf "$WORK_DIR"
rm -Rf "$OUT_DIR"
rm -Rf "$PREFIX_DIR"
}
need_ok() {
if [ $? -ne 0 ]
then
echo
echo "TEST FAILED!"
echo
exit 1
fi
}
try() {
cmd="$@"
echo \$ "$cmd"
OUTPUT=`$@`
if [ $? -ne 0 ]; then
echo
# Using /bin/echo to avoid escaping
/bin/echo "$OUTPUT"
echo
echo "TEST FAILED!"
echo
exit 1
fi
}
expect_fail() {
cmd="$@"
echo \$ "$cmd"
OUTPUT=`$@`
if [ $? -eq 0 ]; then
echo
# Using /bin/echo to avoid escaping
/bin/echo "$OUTPUT"
echo
echo "TEST FAILED!"
echo
exit 1
fi
}
# Installation tests
pre "basic install"
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/something-to-install"
try test -e "$PREFIX_DIR/dir-to-install/foo"
try test -e "$PREFIX_DIR/bin/program"
try test -e "$PREFIX_DIR/bin/program2"
try test -e "$PREFIX_DIR/bin/bad-bin"
post
pre "basic uninstall"
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 "$WORK_DIR/package/install.sh --uninstall" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/something-to-install"
try test ! -e "$PREFIX_DIR/dir-to-install/foo"
try test ! -e "$PREFIX_DIR/bin/program"
try test ! -e "$PREFIX_DIR/bin/program2"
try test ! -e "$PREFIX_DIR/bin/bad-bin"
try test ! -e "$PREFIX_DIR/lib/packagelib"
post
pre "not installed files"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--non-installed-prefixes=something-to-not-install,dir-to-not-install
try test -e "$WORK_DIR/package/something-to-not-install"
try test -e "$WORK_DIR/package/dir-to-not-install"
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/something-to-not-install"
try test ! -e "$PREFIX_DIR/dir-to-not-install"
post
pre "verify override"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--verify-bin=program2
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
post
pre "tarball with package name"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rustc-nightly
try "$WORK_DIR/rustc-nightly/install.sh" --prefix="$PREFIX_DIR"
try test -e "$OUT_DIR/rustc-nightly.tar.gz"
post
pre "bulk directory"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--bulk-dirs=dir-to-install
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
try test -e "$PREFIX_DIR/something-to-install"
try test -e "$PREFIX_DIR/dir-to-install/foo"
try test -e "$PREFIX_DIR/bin/program"
try test -e "$PREFIX_DIR/bin/program2"
try test -e "$PREFIX_DIR/bin/bad-bin"
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR" --uninstall
try test ! -e "$PREFIX_DIR/dir-to-install"
post
pre "nested bulk directory"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image4" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--bulk-dirs=dir-to-install/qux
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
try test -e "$PREFIX_DIR/dir-to-install/qux/bar"
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR" --uninstall
try test ! -e "$PREFIX_DIR/dir-to-install/qux"
post
pre "only bulk directory, no files"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image5" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--bulk-dirs=dir-to-install
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
try test -e "$PREFIX_DIR/dir-to-install/foo"
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR" --uninstall
try test ! -e "$PREFIX_DIR/dir-to-install/foo"
post
pre "nested not installed files"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image4" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--non-installed-prefixes=dir-to-install/qux/bar
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/dir-to-install/qux/bar"
post
# Upgrade tests
pre "upgrade v1 -> v2"
mkdir "$WORK_DIR/v1"
try sh "$S/test/rust-installer-v1/gen-installer.sh" \
--image-dir="$TEST_DIR/image2" \
--work-dir="$WORK_DIR/v1" \
--output-dir="$OUT_DIR/v1" \
--verify-bin=oldprogram \
--rel-manifest-dir=packagelib
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--rel-manifest-dir=packagelib \
--legacy-manifest-dirs=packagelib
try "$WORK_DIR/v1/package/install.sh" --prefix="$PREFIX_DIR"
try test -e "$PREFIX_DIR/something-to-install"
try test -e "$PREFIX_DIR/dir-to-install/bar"
try test -e "$PREFIX_DIR/bin/oldprogram"
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/dir-to-install/bar"
try test ! -e "$PREFIX_DIR/bin/oldprogram"
try test -e "$PREFIX_DIR/something-to-install"
try test -e "$PREFIX_DIR/dir-to-install/foo"
try test -e "$PREFIX_DIR/bin/program"
try test -e "$PREFIX_DIR/bin/program2"
try test -e "$PREFIX_DIR/bin/bad-bin"
try "$WORK_DIR/package/install.sh --uninstall" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/something-to-install"
try test ! -e "$PREFIX_DIR/dir-to-install/foo"
try test ! -e "$PREFIX_DIR/bin/program"
try test ! -e "$PREFIX_DIR/bin/program2"
try test ! -e "$PREFIX_DIR/bin/bad-bin"
try test ! -e "$PREFIX_DIR/lib/packagelib"
post
pre "upgrade v1 -> v2 with multiple legacy manifests"
mkdir "$WORK_DIR/v1"
try sh "$S/test/rust-installer-v1/gen-installer.sh" \
--image-dir="$TEST_DIR/image2" \
--work-dir="$WORK_DIR/v1" \
--output-dir="$OUT_DIR/v1" \
--verify-bin=oldprogram \
--rel-manifest-dir=rustlib
try sh "$S/test/rust-installer-v1/gen-installer.sh" \
--image-dir="$TEST_DIR/image3" \
--work-dir="$WORK_DIR/v1b" \
--output-dir="$OUT_DIR/v1b" \
--verify-bin=cargo \
--rel-manifest-dir=cargo
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--rel-manifest-dir=packagelib \
--legacy-manifest-dirs=rustlib,cargo
try "$WORK_DIR/v1/package/install.sh" --prefix="$PREFIX_DIR"
try "$WORK_DIR/v1b/package/install.sh" --prefix="$PREFIX_DIR"
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/dir-to-install/bar"
try test ! -e "$PREFIX_DIR/bin/oldprogram"
try test ! -e "$PREFIX_DIR/bin/cargo"
try test ! -e "$PREFIX_DIR/lib/cargo"
try test -e "$PREFIX_DIR/something-to-install"
try test -e "$PREFIX_DIR/dir-to-install/foo"
try test -e "$PREFIX_DIR/bin/program"
try test -e "$PREFIX_DIR/bin/program2"
try test -e "$PREFIX_DIR/bin/bad-bin"
try "$WORK_DIR/package/install.sh --uninstall" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/something-to-install"
try test ! -e "$PREFIX_DIR/dir-to-install/foo"
try test ! -e "$PREFIX_DIR/bin/program"
try test ! -e "$PREFIX_DIR/bin/program2"
try test ! -e "$PREFIX_DIR/bin/bad-bin"
try test ! -e "$PREFIX_DIR/lib/packagelib"
post
pre "multiple components"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR/c1" \
--output-dir="$OUT_DIR/c1" \
--component-name=rustc
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image3" \
--work-dir="$WORK_DIR/c2" \
--output-dir="$OUT_DIR/c2" \
--verify-bin=cargo \
--component-name=cargo
try "$WORK_DIR/c1/package/install.sh" --prefix="$PREFIX_DIR"
try "$WORK_DIR/c2/package/install.sh" --prefix="$PREFIX_DIR"
try test -e "$PREFIX_DIR/something-to-install"
try test -e "$PREFIX_DIR/dir-to-install/foo"
try test -e "$PREFIX_DIR/bin/program"
try test -e "$PREFIX_DIR/bin/program2"
try test -e "$PREFIX_DIR/bin/bad-bin"
try test -e "$PREFIX_DIR/bin/cargo"
try "$WORK_DIR/c1/package/install.sh" --prefix="$PREFIX_DIR" --uninstall
try test ! -e "$PREFIX_DIR/something-to-install"
try test ! -e "$PREFIX_DIR/dir-to-install/foo"
try test ! -e "$PREFIX_DIR/bin/program"
try test ! -e "$PREFIX_DIR/bin/program2"
try test ! -e "$PREFIX_DIR/bin/bad-bin"
try "$WORK_DIR/c2/package/install.sh" --prefix="$PREFIX_DIR" --uninstall
try test ! -e "$PREFIX_DIR/bin/cargo"
try test ! -e "$PREFIX_DIR/lib/packagelib"
post
# Combined installer tests
pre "combine installers"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rustc \
--component-name=rustc
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image3" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--verify-bin=cargo \
--package-name=cargo \
--component-name=cargo
try sh "$S/combine-installers.sh" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rust \
--input-tarballs="$OUT_DIR/rustc.tar.gz,$OUT_DIR/cargo.tar.gz"
try "$WORK_DIR/rust/install.sh" --prefix="$PREFIX_DIR"
try test -e "$PREFIX_DIR/something-to-install"
try test -e "$PREFIX_DIR/dir-to-install/foo"
try test -e "$PREFIX_DIR/bin/program"
try test -e "$PREFIX_DIR/bin/program2"
try test -e "$PREFIX_DIR/bin/bad-bin"
try test -e "$PREFIX_DIR/bin/cargo"
try "$WORK_DIR/rust/install.sh --uninstall" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/something-to-install"
try test ! -e "$PREFIX_DIR/dir-to-install/foo"
try test ! -e "$PREFIX_DIR/bin/program"
try test ! -e "$PREFIX_DIR/bin/program2"
try test ! -e "$PREFIX_DIR/bin/bad-bin"
try test ! -e "$PREFIX_DIR/bin/cargo"
try test ! -e "$PREFIX_DIR/lib/packagelib"
post
pre "combine three installers"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rustc \
--component-name=rustc
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image3" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--verify-bin=cargo \
--package-name=cargo \
--component-name=cargo
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image4" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rust-docs \
--component-name=rust-docs
try sh "$S/combine-installers.sh" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rust \
--input-tarballs="$OUT_DIR/rustc.tar.gz,$OUT_DIR/cargo.tar.gz,$OUT_DIR/rust-docs.tar.gz"
try "$WORK_DIR/rust/install.sh" --prefix="$PREFIX_DIR"
try test -e "$PREFIX_DIR/something-to-install"
try test -e "$PREFIX_DIR/dir-to-install/foo"
try test -e "$PREFIX_DIR/bin/program"
try test -e "$PREFIX_DIR/bin/program2"
try test -e "$PREFIX_DIR/bin/bad-bin"
try test -e "$PREFIX_DIR/bin/cargo"
try test -e "$PREFIX_DIR/dir-to-install/qux/bar"
try "$WORK_DIR/rust/install.sh --uninstall" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/something-to-install"
try test ! -e "$PREFIX_DIR/dir-to-install/foo"
try test ! -e "$PREFIX_DIR/bin/program"
try test ! -e "$PREFIX_DIR/bin/program2"
try test ! -e "$PREFIX_DIR/bin/bad-bin"
try test ! -e "$PREFIX_DIR/bin/cargo"
try test ! -e "$PREFIX_DIR/lib/packagelib"
try test ! -e "$PREFIX_DIR/dir-to-install/qux/bar"
post
pre "combine installers with overlay"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rustc \
--component-name=rustc
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image3" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--verify-bin=cargo \
--package-name=cargo \
--component-name=cargo
mkdir -p "$WORK_DIR/overlay"
touch "$WORK_DIR/overlay/README"
try sh "$S/combine-installers.sh" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rust \
--input-tarballs="$OUT_DIR/rustc.tar.gz,$OUT_DIR/cargo.tar.gz" \
--non-installed-overlay="$WORK_DIR/overlay"
try test -e "$WORK_DIR/rust/README"
try "$WORK_DIR/rust/install.sh" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/README"
post
pre "combined with bulk dirs"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rustc \
--component-name=rustc \
--bulk-dirs=dir-to-install
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image3" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--verify-bin=cargo \
--package-name=cargo \
--component-name=cargo
try sh "$S/combine-installers.sh" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rust \
--input-tarballs="$OUT_DIR/rustc.tar.gz,$OUT_DIR/cargo.tar.gz"
try "$WORK_DIR/rust/install.sh" --prefix="$PREFIX_DIR"
try test -e "$PREFIX_DIR/dir-to-install/foo"
try "$WORK_DIR/rust/install.sh --uninstall" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/dir-to-install"
post
pre "combine install with separate uninstall"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rustc \
--component-name=rustc \
--rel-manifest-dir=rustlib
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image3" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--verify-bin=cargo \
--package-name=cargo \
--component-name=cargo \
--rel-manifest-dir=rustlib
try sh "$S/combine-installers.sh" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rust \
--input-tarballs="$OUT_DIR/rustc.tar.gz,$OUT_DIR/cargo.tar.gz" \
--rel-manifest-dir=rustlib
try "$WORK_DIR/rust/install.sh" --prefix="$PREFIX_DIR"
try test -e "$PREFIX_DIR/something-to-install"
try test -e "$PREFIX_DIR/dir-to-install/foo"
try test -e "$PREFIX_DIR/bin/program"
try test -e "$PREFIX_DIR/bin/program2"
try test -e "$PREFIX_DIR/bin/bad-bin"
try test -e "$PREFIX_DIR/bin/cargo"
try "$WORK_DIR/rustc/install.sh --uninstall" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/something-to-install"
try test ! -e "$PREFIX_DIR/dir-to-install/foo"
try test ! -e "$PREFIX_DIR/bin/program"
try test ! -e "$PREFIX_DIR/bin/program2"
try test ! -e "$PREFIX_DIR/bin/bad-bin"
try "$WORK_DIR/cargo/install.sh --uninstall" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/bin/cargo"
try test ! -e "$PREFIX_DIR/lib/packagelib"
post
pre "combined v1 -> v2 upgrade"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rustc \
--component-name=rustc \
--rel-manifest-dir=rustlib
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image3" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--verify-bin=cargo \
--package-name=cargo \
--component-name=cargo \
--rel-manifest-dir=rustlib
try sh "$S/combine-installers.sh" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=rust \
--input-tarballs="$OUT_DIR/rustc.tar.gz,$OUT_DIR/cargo.tar.gz" \
--rel-manifest-dir=rustlib \
--legacy-manifest-dirs=cargo,rustlib
try sh "$S/test/rust-installer-v1/gen-installer.sh" \
--image-dir="$TEST_DIR/image2" \
--work-dir="$WORK_DIR/v1" \
--output-dir="$OUT_DIR/v1" \
--verify-bin=oldprogram \
--rel-manifest-dir=rustlib
try sh "$S/test/rust-installer-v1/gen-installer.sh" \
--image-dir="$TEST_DIR/image3" \
--work-dir="$WORK_DIR/v1b" \
--output-dir="$OUT_DIR/v1b" \
--verify-bin=cargo \
--rel-manifest-dir=cargo
try "$WORK_DIR/v1/package//install.sh" --prefix="$PREFIX_DIR"
try "$WORK_DIR/v1b/package//install.sh" --prefix="$PREFIX_DIR"
try "$WORK_DIR/rust/install.sh" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/dir-to-install/bar"
try test ! -e "$PREFIX_DIR/bin/oldprogram"
try test ! -e "$PREFIX_DIR/lib/cargo"
try test -e "$PREFIX_DIR/something-to-install"
try test -e "$PREFIX_DIR/dir-to-install/foo"
try test -e "$PREFIX_DIR/bin/program"
try test -e "$PREFIX_DIR/bin/program2"
try test -e "$PREFIX_DIR/bin/bad-bin"
try test -e "$PREFIX_DIR/bin/cargo"
try test -e "$PREFIX_DIR/lib/rustlib"
try "$WORK_DIR/rust/install.sh --uninstall" --prefix="$PREFIX_DIR"
try test ! -e "$PREFIX_DIR/something-to-install"
try test ! -e "$PREFIX_DIR/dir-to-install/foo"
try test ! -e "$PREFIX_DIR/bin/program"
try test ! -e "$PREFIX_DIR/bin/program2"
try test ! -e "$PREFIX_DIR/bin/bad-bin"
try test ! -e "$PREFIX_DIR/bin/cargo"
try test ! -e "$PREFIX_DIR/lib/rustlib"
post
# Smoke tests
pre "can't run bins error"
try sh "$S/gen-installer.sh" \
--verify-bin=bad-bin \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR"
expect_fail "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
post
if [ ! -n "$WINDOWS" ]; then
# chmod doesn't work on windows
pre "can't write error"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR"
chmod u-w "$PREFIX_DIR"
expect_fail "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
chmod u+w "$PREFIX_DIR"
post
fi
pre "can't install to installer"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--package-name=my-package
expect_fail "$WORK_DIR/my-package/install.sh" --prefix="$WORK_DIR/my-package"
post
pre "upgrade from future installer error"
try sh "$S/gen-installer.sh" \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR" \
--rel-manifest-dir=rustlib
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
echo 100 > "$PREFIX_DIR/lib/rustlib/rust-installer-version"
expect_fail "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR"
post
pre "disable-verify"
try sh "$S/gen-installer.sh" \
--verify-bin=bad-bin \
--image-dir="$TEST_DIR/image1" \
--work-dir="$WORK_DIR" \
--output-dir="$OUT_DIR"
try "$WORK_DIR/package/install.sh" --prefix="$PREFIX_DIR" --disable-verify
post
# TODO: DESTDIR
# TODO: mandir/libdir/bindir, etc.
echo
echo "TOTAL SUCCESS!"
echo