mirror of https://github.com/borgbackup/borg.git
commit
557d8c7e03
|
@ -1,6 +1,5 @@
|
|||
import logging
|
||||
from io import StringIO
|
||||
import sys
|
||||
|
||||
from mock import Mock
|
||||
import pytest
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
import os
|
||||
import shutil
|
||||
import tempfile
|
||||
|
||||
import pytest
|
||||
|
||||
|
@ -15,7 +13,7 @@ from ..upgrader import AtticRepositoryUpgrader, AtticKeyfileKey
|
|||
from ..helpers import get_keys_dir
|
||||
from ..key import KeyfileKey
|
||||
from ..remote import RemoteRepository
|
||||
from ..repository import Repository, MAGIC
|
||||
from ..repository import Repository
|
||||
|
||||
|
||||
def repo_valid(path):
|
||||
|
@ -61,10 +59,12 @@ def attic_repo(tmpdir):
|
|||
attic_repo.close()
|
||||
return attic_repo
|
||||
|
||||
|
||||
@pytest.fixture(params=[True, False])
|
||||
def inplace(request):
|
||||
return request.param
|
||||
|
||||
|
||||
@pytest.mark.skipif(attic is None, reason='cannot find an attic install')
|
||||
def test_convert_segments(tmpdir, attic_repo, inplace):
|
||||
"""test segment conversion
|
||||
|
@ -159,10 +159,13 @@ def test_convert_all(tmpdir, attic_repo, attic_key_file, inplace):
|
|||
"""
|
||||
# check should fail because of magic number
|
||||
assert not repo_valid(tmpdir)
|
||||
|
||||
def stat_segment(path):
|
||||
return os.stat(os.path.join(path, 'data', '0', '0'))
|
||||
|
||||
def first_inode(path):
|
||||
return stat_segment(path).st_ino
|
||||
|
||||
orig_inode = first_inode(attic_repo.path)
|
||||
repo = AtticRepositoryUpgrader(str(tmpdir), create=False)
|
||||
# replicate command dispatch, partly
|
||||
|
@ -176,11 +179,12 @@ def test_convert_all(tmpdir, attic_repo, attic_key_file, inplace):
|
|||
assert first_inode(repo.path) != first_inode(backup)
|
||||
# i have seen cases where the copied tree has world-readable
|
||||
# permissions, which is wrong
|
||||
assert stat_segment(backup).st_mode & 0o007== 0
|
||||
assert stat_segment(backup).st_mode & 0o007 == 0
|
||||
|
||||
assert key_valid(attic_key_file.path)
|
||||
assert repo_valid(tmpdir)
|
||||
|
||||
|
||||
def test_hardlink(tmpdir, inplace):
|
||||
"""test that we handle hard links properly
|
||||
|
||||
|
|
|
@ -9,6 +9,15 @@ This chapter will get you started with |project_name|' development.
|
|||
|project_name| is written in Python (with a little bit of Cython and C for
|
||||
the performance critical parts).
|
||||
|
||||
Style guide
|
||||
-----------
|
||||
|
||||
We generally follow `pep8
|
||||
<https://www.python.org/dev/peps/pep-0008/>`_, with 120 columns
|
||||
instead of 79. We do *not* use form-feed (``^L``) characters to
|
||||
separate sections either. The `flake8
|
||||
<https://flake8.readthedocs.org/>`_ commandline tool should be used to
|
||||
check for style errors before sending pull requests.
|
||||
|
||||
Building a development environment
|
||||
----------------------------------
|
||||
|
|
Loading…
Reference in New Issue