diff options
author | Luke T. Shumaker <lukeshu@parabola.nu> | 2024-04-03 22:09:14 -0600 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@parabola.nu> | 2024-04-03 23:20:19 -0600 |
commit | c6204aa2bb2c476b3cb106e3e55a2490f0a687c6 (patch) | |
tree | e3ac814619ea78e72bea33276baf41b8474136b2 | |
parent | cf393aa811580eea7428a4842a50151578343585 (diff) |
-rwxr-xr-x | src/abslibre-tools/librerelease | 2 | ||||
-rw-r--r-- | test/cases/librerelease.bats | 10 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/abslibre-tools/librerelease b/src/abslibre-tools/librerelease index 455d981..cb07229 100755 --- a/src/abslibre-tools/librerelease +++ b/src/abslibre-tools/librerelease @@ -78,7 +78,7 @@ unlock_staging() { list0_files() { find -L "${WORKDIR}/staging" -type f -not -name '*.lock' \ - -exec realpath -z --relative-to="${WORKDIR}/staging" {} + + -exec realpath -z --relative-to="${WORKDIR}/staging" {} + | sort -z } # This function is taken almost verbatim from makepkg diff --git a/test/cases/librerelease.bats b/test/cases/librerelease.bats index ce9692f..e936ea8 100644 --- a/test/cases/librerelease.bats +++ b/test/cases/librerelease.bats @@ -109,7 +109,7 @@ teardown() { sub/subfolder eot - diff "$tmpdir/list-correct" "$tmpdir/list" + diff -u "$tmpdir/list-correct" "$tmpdir/list" } @test "librerelease fails if GPGKEY not set" { @@ -165,7 +165,7 @@ eot [[ $status == 0 ]] grep "==> Removing files from local staging directory" "$tmpdir"/stderr - diff "$tmpdir"/expected-stdout "$tmpdir"/stdout + diff -u "$tmpdir"/expected-stdout "$tmpdir"/stdout (( ! $(command ls -A1 "$staging_dir" | wc -l) )) } @@ -186,7 +186,11 @@ eot [[ $status == 0 ]] grep "==> Removing files from remote staging directory" "$tmpdir"/stderr - diff "$tmpdir"/expected-stdout "$tmpdir"/stdout + # `rm -rfv` order depends on the underlying filesystem and so + # we need to sort this for it to be reproducible. + LC_ALL=C sort <"$tmpdir"/expected-stdout >"$tmpdir"/expected-stdout.sorted + LC_ALL=C sort <"$tmpdir"/stdout >"$tmpdir"/stdout.sorted + diff -u "$tmpdir"/expected-stdout.sorted "$tmpdir"/stdout.sorted (( ! $(command ls -A1 "$staging_dir" | wc -l) )) } |