~duplicity-team/duplicity/0.8-series

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
REPO README - Notes for people checking out of Launchpad (bzr)
--------------------------------------------------------------

-------------------------
Getting duplicity to run:
-------------------------

By the numbers:
1) Do the checkout to a location called $DUP_ROOT:
   [for the stable branch]
   bzr branch lp:duplicity $DUP_ROOT
   or
   [for another branch, replace X with series number]
   bzr branch lp:~duplicity-team/duplicity/0.X-series $DUP_ROOT
2) cd $DUP_ROOT/duplicity
3) Run "python compilec.py" to create _librsync.so
4) cd ..
5) Run "PYTHONPATH=$DUP_ROOT bin/duplicity -V". You will see
   "duplicity $version" instead of the normal version number.
   Versioning comes during the release.

Use PYTHONPATH to set the path each time that you use the binaries:

PYTHONPATH=$DUP_ROOT bin/duplicity

or

PYTHONPATH=$DUP_ROOT bin/rdiffdir

-----------------------
Running the unit tests:
-----------------------

To run all tests:
cd testing; ./run-tests

You can run specific tests using:
tox -- -s [folder].[folder].[file].[class].[test]
For example:
tox -- -s testing.unit.test_selection
or:
tox -- -s testing.unit.test_selection.MatchingTest.test_tuple_include

Note: some tests require rdiff and pylint to be installed on the system for
them to pass.

Please run all tests on your branch (run-tests) before proposing a merge, to
ensure that all tests pass. The decorator @unittest.expectedFailure can be used
to commit a known-failing test case without breaking the test suite, for
example to exhibit the behaviour in a bug report before it has been fixed.

-----------------------------------------
Testing against multiple Python versions:
-----------------------------------------

Duplicity uses tox to make it easy to test your code against multiple
environments. Running tests using the commands above will automatically test
code against different supported environments, including the versions of
dependencies used by the Launchpad build system.

You can test against a single environment, e.g.
tox -e py27
for example if you are working on fixing a bug, but please do a full run-tests
before submitting a merge request.