|
@@ -0,0 +1,28 @@ |
|
|
|
|
|
from focker.jail import backup_file
|
|
|
|
|
|
import tempfile
|
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_backup_file():
|
|
|
|
|
|
with tempfile.TemporaryDirectory() as d:
|
|
|
|
|
|
fname = os.path.join(d, 'dummy.conf')
|
|
|
|
|
|
with open(fname, 'w') as f:
|
|
|
|
|
|
f.write('init')
|
|
|
|
|
|
nbackups = 10
|
|
|
|
|
|
for i in range(15):
|
|
|
|
|
|
backup_file(fname, nbackups=nbackups, chmod=0o640)
|
|
|
|
|
|
with open(fname, 'w') as f:
|
|
|
|
|
|
f.write(str(i))
|
|
|
|
|
|
|
|
|
|
|
|
fname = os.path.join(d, 'dummy.conf')
|
|
|
|
|
|
with open(fname, 'r') as f:
|
|
|
|
|
|
assert f.read() == '14'
|
|
|
|
|
|
|
|
|
|
|
|
for i in range(nbackups):
|
|
|
|
|
|
fname = os.path.join(d, 'dummy.conf.%d' % i)
|
|
|
|
|
|
assert os.path.exists(fname)
|
|
|
|
|
|
with open(fname, 'r') as f:
|
|
|
|
|
|
if i < 5:
|
|
|
|
|
|
assert f.read() == str(i + 9)
|
|
|
|
|
|
else:
|
|
|
|
|
|
assert f.read() == str(i - 1)
|