pmb.helpers.other.folder_size: use kilobytes (MR 2074)

busybox du doesn't support bytes or custom block sizes.
This commit is contained in:
Maxim Karasev 2021-06-24 02:50:47 +03:00 committed by Alexey Min
parent 5c1da79634
commit 31e7a0006d
No known key found for this signature in database
GPG Key ID: EBF5ECFFFEE34DED
4 changed files with 6 additions and 7 deletions

View File

@ -88,7 +88,7 @@ def zap(args, confirm=True, dry=False, pkgs_local=False, http=False,
logging.info("Dry run: nothing has been deleted")
else:
size_new = pmb.helpers.other.folder_size(args, args.work)
mb = (size_old - size_new) / 1024 / 1024
mb = (size_old - size_new) / 1024
logging.info(f"Cleared up ~{math.ceil(mb)} MB of space")

View File

@ -17,10 +17,9 @@ def folder_size(args, path):
faster than doing the same task in pure Python). This result is only
approximatelly right, but good enough for pmbootstrap's use case (#760).
:returns: folder size in bytes
:returns: folder size in kilobytes
"""
output = pmb.helpers.run.root(args, ["du", "--summarize",
"--block-size=1",
output = pmb.helpers.run.root(args, ["du", "-ks",
path], output_return=True)
# Only look at last line to filter out sudo garbage (#1766)

View File

@ -49,7 +49,7 @@ def get_subpartitions_size(args, suffix):
# calculation is not as trivial as one may think, and depending on the
# file system etc it seems to be just impossible to get it right.
chroot = f"{args.work}/chroot_{suffix}"
root = pmb.helpers.other.folder_size(args, chroot) / 1024 / 1024
root = pmb.helpers.other.folder_size(args, chroot) / 1024
root *= 1.20
root += 50 + int(args.extra_space)
return (boot, root)

View File

@ -31,7 +31,7 @@ def test_get_folder_size(args, tmpdir):
# Check if the size is correct. Unfortunately, the `du` call
# in pmb.helpers.other.folder_size is not very accurate, so we
# allow 30kb of tolerance (good enough for our use case): #760 #1717
tolerance = 30 * 1024
size = 204800 * files
tolerance = 30
size = 200 * files
result = pmb.helpers.other.folder_size(args, tmpdir)
assert (result < size + tolerance and result > size - tolerance)