summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPietro Albini <pietro@pietroalbini.org>2020-12-10 16:51:08 +0100
committerPietro Albini <pietro@pietroalbini.org>2020-12-10 16:51:08 +0100
commit512629a8fe188ce44907624409fb31b84edf0a83 (patch)
tree149a95f35fbe6a40f5d8d6c452b1724911a0cbb8
parent88e76e1cd1faa22b0bb469de91921ecb627ad730 (diff)
downloadrust-installer-512629a8fe188ce44907624409fb31b84edf0a83.tar.gz
tarball: allow choosing the compression formats to output
-rw-r--r--src/main.rs1
-rw-r--r--src/main.yml5
-rwxr-xr-xtest.sh36
3 files changed, 42 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
index 4e5b50d..e933dd0 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -88,6 +88,7 @@ fn tarball(matches: &ArgMatches<'_>) -> Result<()> {
"input" => input,
"output" => output,
"work-dir" => work_dir,
+ "compression-formats" => compression_formats,
});
tarballer.run().context("failed to generate tarballs")?;
diff --git a/src/main.yml b/src/main.yml
index c9eab6d..7b6d735 100644
--- a/src/main.yml
+++ b/src/main.yml
@@ -164,4 +164,9 @@ subcommands:
long: work-dir
takes_value: true
value_name: DIR
+ - compression-formats:
+ help: Comma-separated list of compression formats to use
+ long: compression-formats
+ takes_value: true
+ value_name: FORMAT
diff --git a/test.sh b/test.sh
index 3c68458..bf6de4c 100755
--- a/test.sh
+++ b/test.sh
@@ -1301,6 +1301,42 @@ combine_compression_formats_error() {
}
runtest combine_compression_formats_error
+tarball_compression_formats_one() {
+ try cp -r "${TEST_DIR}/image1" "${WORK_DIR}/image"
+ try sh "$S/make-tarballs.sh" \
+ --input="${WORK_DIR}/image" \
+ --work-dir="${WORK_DIR}" \
+ --output="${OUT_DIR}/rustc" \
+ --compression-formats="xz"
+
+ try test ! -e "${OUT_DIR}/rustc.tar.gz"
+ try test -e "${OUT_DIR}/rustc.tar.xz"
+}
+runtest tarball_compression_formats_one
+
+tarball_compression_formats_multiple() {
+ try cp -r "${TEST_DIR}/image1" "${WORK_DIR}/image"
+ try sh "$S/make-tarballs.sh" \
+ --input="${WORK_DIR}/image" \
+ --work-dir="${WORK_DIR}" \
+ --output="${OUT_DIR}/rustc" \
+ --compression-formats="xz,gz"
+
+ try test -e "${OUT_DIR}/rustc.tar.gz"
+ try test -e "${OUT_DIR}/rustc.tar.xz"
+}
+runtest tarball_compression_formats_multiple
+
+tarball_compression_formats_error() {
+ try cp -r "${TEST_DIR}/image1" "${WORK_DIR}/image"
+ expect_fail sh "$S/make-tarballs.sh" \
+ --input="${WORK_DIR}/image" \
+ --work-dir="${WORK_DIR}" \
+ --output="${OUT_DIR}/rustc" \
+ --compression-formats="xz,foobar"
+}
+runtest tarball_compression_formats_error
+
echo
echo "TOTAL SUCCESS!"
echo