提交 ba680b10 作者: Steven Allen

make sure the repo size is greater than the size of the symlink

Before, we'd check to make sure the repo, when checked through a symlink, is at
least as large as the repo *before* we checked it through the symlink. However,
this assumes that the repo can't shrink.

Really, this test exists to ensure we measure the repo size itself instead of
the size of the symlink; this commit changes the test to reflect this.

This test fails when 54d7e033 is reverted.

fixes #4408

License: MIT
Signed-off-by: 's avatarSteven Allen <steven@stebalien.com>
上级 a81025f8
......@@ -363,10 +363,31 @@ generic_stat() {
FreeBSD | Darwin | DragonFly)
_STAT="stat -f %Sp"
;;
*)
echo "unsupported OS" >&2
exit 1
;;
esac
$_STAT "$1" || echo "failed" # Avoid returning nothing.
}
# output a file's permission in human readable format
file_size() {
case $(uname -s) in
Linux)
_STAT="stat --format=%s"
;;
FreeBSD | Darwin | DragonFly)
_STAT="stat -f%z"
;;
*)
echo "unsupported OS" >&2
exit 1
;;
esac
$_STAT "$1"
}
test_check_peerid() {
peeridlen=$(echo "$1" | tr -dC "[:alnum:]" | wc -c | tr -d " ") &&
test "$peeridlen" = "46" || {
......
......@@ -15,14 +15,11 @@ test_expect_success "create symbolic link for IPFS_PATH" '
test_init_ipfs
# compare RepoSize when getting it directly vs via symbolic link
# ensure that the RepoSize is reasonable when checked via a symlink.
test_expect_success "'ipfs repo stat' RepoSize is correct with sym link" '
export IPFS_PATH="sym_link_target" &&
reposize_direct=$(ipfs repo stat | grep RepoSize | awk '\''{ print $2 }'\'') &&
export IPFS_PATH=".ipfs" &&
reposize_symlink=$(ipfs repo stat | grep RepoSize | awk '\''{ print $2 }'\'') &&
echo "reposize_symlink: $reposize_symlink; reposize_direct: $reposize_direct" &&
test $reposize_symlink -ge $reposize_direct
symlink_size=$(file_size .ipfs) &&
test "${reposize_symlink}" -gt "${symlink_size}"
'
test_done
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论