mirror of
https://github.com/borgbackup/borg.git
synced 2026-06-08 16:23:42 -04:00
add file size tests, failing
the tests are failing because 1KB gets displayed as 1000 bytes, but also because higher prefixes are missing
This commit is contained in:
parent
a4f136afba
commit
de390b1ca6
1 changed files with 26 additions and 1 deletions
|
|
@ -8,7 +8,7 @@ import pytest
|
|||
import sys
|
||||
import msgpack
|
||||
|
||||
from ..helpers import adjust_patterns, exclude_path, Location, format_timedelta, IncludePattern, ExcludePattern, make_path_safe, \
|
||||
from ..helpers import adjust_patterns, exclude_path, Location, format_file_size, format_timedelta, IncludePattern, ExcludePattern, make_path_safe, \
|
||||
prune_within, prune_split, get_cache_dir, Statistics, \
|
||||
StableDict, int_to_bigint, bigint_to_int, parse_timestamp, CompressionSpec, ChunkerParams
|
||||
from . import BaseTestCase
|
||||
|
|
@ -443,3 +443,28 @@ This archive: 20 B 10 B 10 B""
|
|||
assert s == "20 B"
|
||||
# kind of redundant, but id is variable so we can't match reliably
|
||||
assert repr(stats) == '<Statistics object at {:#x} (20, 10, 10)>'.format(id(stats))
|
||||
|
||||
def test_size():
|
||||
"""test the size formatting routines"""
|
||||
si_size_map = { 0: '0 B',
|
||||
1: '1 B',
|
||||
142: '142 B',
|
||||
999: '999 B',
|
||||
1000: '1000 B', # XXX: fail
|
||||
1001: '1.00 kB',
|
||||
1234: '1.23 kB',
|
||||
10**6: '1.00 MB',
|
||||
10**6 + 10*10**3: '1.01 MB',
|
||||
10**9: '1.00 GB',
|
||||
10**9+1: '1.00 GB',
|
||||
10**9-1: '1.00 GB',
|
||||
10**9-10*10**3: '999.99 MB',
|
||||
10**9-10*10**3+1: '1.00 GB',
|
||||
10**12+1: '1.00 TB',
|
||||
10**15+1: '1.00 PB',
|
||||
10**18+1: '1.00 EB',
|
||||
10**21+1: '1.00 ZB',
|
||||
10**24+1: '1.00 YB',
|
||||
}
|
||||
for size, fmt in si_size_map.items():
|
||||
assert format_file_size(size) == fmt
|
||||
|
|
|
|||
Loading…
Reference in a new issue