From: Rishabh Dave Date: Tue, 18 Jun 2019 10:39:04 +0000 (+0530) Subject: test_cephfs_shell: copy humanize() from cephfs-shell X-Git-Tag: v15.1.0~1555^2~20 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e5f30052f96b50faadcc2731eda5603918504957;p=ceph.git test_cephfs_shell: copy humanize() from cephfs-shell Copy the method named humanize from cephfs-shell so that output can be compared. Unfortunately, importing this method isn't possible since the dash in "cephfs-shell" leads to an syntax error. Signed-off-by: Rishabh Dave --- diff --git a/qa/tasks/cephfs/test_cephfs_shell.py b/qa/tasks/cephfs/test_cephfs_shell.py index 049c516afc0f..7d1d84f85368 100644 --- a/qa/tasks/cephfs/test_cephfs_shell.py +++ b/qa/tasks/cephfs/test_cephfs_shell.py @@ -2,6 +2,7 @@ import os import crypt import logging from tempfile import mkstemp as tempfile_mkstemp +import math from StringIO import StringIO from tasks.cephfs.cephfs_test_case import CephFSTestCase from tasks.cephfs.fuse_mount import FuseMount @@ -9,6 +10,15 @@ from teuthology.exceptions import CommandFailedError log = logging.getLogger(__name__) +def humansize(nbytes): + suffixes = ['B', 'K', 'M', 'G', 'T', 'P'] + i = 0 + while nbytes >= 1024 and i < len(suffixes)-1: + nbytes /= 1024. + i += 1 + nbytes = math.ceil(nbytes) + f = ('%d' % nbytes).rstrip('.') + return '%s%s' % (f, suffixes[i]) class TestCephFSShell(CephFSTestCase): CLIENTS_REQUIRED = 1