forked from rdiff-backup/rdiff-backup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtox_win.ini
110 lines (105 loc) · 4.68 KB
/
tox_win.ini
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# tox (https://tox.readthedocs.io/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.
# Configuration file for quick / short tests.
# Use tox_slow.ini for longer running tests.
[tox]
envlist = check-static, py
[testenv]
# make sure those variables are passed down; you should define
# either explicitly the RDIFF_TEST_* variables or rely on the current
# user being correctly identified (which might not happen in a container)
passenv = RDIFF_TEST_*, RDIFF_BACKUP_*, LIBRSYNC_DIR
deps = -r{toxinidir}/requs/base.txt
-r{toxinidir}/requs/optional.txt
whitelist_externals = cmd
commands_pre =
rdiff-backup info
# must be the first command to setup the test environment
python testing/commontest.py
commands =
# The commented tests do not run on Windows yet and will be fixed & uncommented one by one
python testing/action_backuprestore_test.py --verbose --buffer
python testing/action_calculate_test.py --verbose --buffer
python testing/action_compare_test.py --verbose --buffer
python testing/action_list_test.py --verbose --buffer
python testing/action_regress_test.py --verbose --buffer
python testing/action_remove_test.py --verbose --buffer
python testing/action_test_test.py --verbose --buffer
python testing/action_verify_test.py --verbose --buffer
python testing/api_test.py --verbose --buffer
python testing/arguments_test.py --verbose --buffer
# python testing/backup_test.py # No module named rdiff_backup in server.py
python testing/c_test.py
# python testing/cmdline_test.py # too many issues to count
python testing/compare_test.py
python testing/connection_test.py
# python testing/eas_acls_test.py # no module named pwd under Windows
# python testing/errorsrecover_test.py # FIXME pipeline has become unstable
# python testing/filename_mapping_test.py # issues with : in date/time-string
# python testing/fs_abilities_test.py # module 'os' has no attribute 'getuid'
# python testing/hardlink_test.py # too many path errors
python testing/hash_test.py
python testing/increment_test.py # skipping symlinks
python testing/iterfile_test.py
# python testing/kill_test.py # cannot create symbolic link
# python testing/librsync_test.py # rdiff binary is missing
python testing/location_lock_test.py --verbose --buffer
python testing/location_map_filenames_test.py --verbose --buffer
# python testing/location_map_hardlinks_test.py --verbose --buffer
# python testing/longname_test.py # handling of long filenames too different
# python testing/metadata_test.py # issues with : in date/time/string
python testing/rdiff_test.py
# python testing/rdiffbackupdelete_test.py # not written to run under Windows
python testing/readonly_actions_test.py --verbose --buffer
# python testing/regress_test.py # issue with : in date/time/string
# python testing/restore_test.py # too many issues to count
python testing/robust_test.py
python testing/rorpiter_test.py
python testing/rpath_test.py
# python testing/security_test.py # no os.getuid + backslash in path handlingon --server
python testing/selection_test.py
python testing/setconnections_test.py # backslashes interpreted differently
python testing/statistics_test.py
python testing/time_test.py
# python testing/user_group_test.py # no module named pwd under Windows
python testing/utils_simpleps_test.py --verbose --buffer
# can only work on OS/X TODO later
# python testing/resourcefork_macostest.py
[testenv:check-static]
deps = -r{toxinidir}/requs/base.txt
-r{toxinidir}/requs/test.txt
commands =
flake8 setup.py src testing tools
black --check setup.py src testing tools
bandit -r -ll -c pyproject.toml ./setup.py src testing tools
mypy --non-interactive --install-types
[flake8]
ignore =
# line too long (86 > 79 characters)
E501
# line break before binary operator
W503
# whitespace before ':' (due to black)
E203
exclude =
.git
.tox
.tox.root
__pycache__
build
max-complexity = 40
[testenv:buildexe]
deps = -r{toxinidir}/requs/base.txt
-r{toxinidir}/requs/optional.txt
-r{toxinidir}/requs/build.txt
# add hook file to hooks-dir for each new plugin manager!
commands =
pyproject-build
pyinstaller --onefile --distpath build/{env:RDIFF_BACKUP_VERSION} \
--additional-hooks-dir=tools \
--console {envsitepackagesdir}/rdiffbackup/run.py \
--name rdiff-backup \
--copy-metadata rdiff-backup
python tools/get_pip_freeze.py build/{env:RDIFF_BACKUP_VERSION}/pipfreeze.txt