forked from AcademySoftwareFoundation/OpenTimelineIO
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.cfg
151 lines (135 loc) · 4.39 KB
/
setup.cfg
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
###############################################################################
# Python Distribution
###############################################################################
[metadata]
description-file = README.md
###############################################################################
# flake8
###############################################################################
[flake8]
exclude =
.tox
*.egg
build
venv
__pycache__
docs
dist
.git
deps
select = E,W,F
max-line-length = 88
# @TODO: for now, ignoring both line continuation before OR after binary
# operators. The pep8 style seems to have adopted the W504 style as
# correct, which we've been doing conventionally but not 100% uniformly.
# At some point in the future, we should remove W504 from this list and
# conform all the continuation to be the same.
ignore =
W503
W504
###############################################################################
# TOX
###############################################################################
[tox]
envlist = clean,py27,py35,py36,stats
skip_missing_interpreters = true
[testenv]
# C++ coverage means that compiling will produce .gcno and running .gcda files
# putting them all in this directory makes it predictable where to find them
# in order to build coverage reports later
cmake_build_dir = {toxworkdir}/build-{envname}
# the setup.py listens for these environment variables so that they don't have
# to be passed via commandline arguments.
#
# tox passes ALL commandline arguments to ALL pip commands (including
# dependencies) which means you can't have custom flags, or your dependencies
# will break when installing them.
setenv =
OTIO_CXX_COVERAGE_BUILD = 1
OTIO_CXX_BUILD_TMP_DIR = {[testenv]cmake_build_dir}
# these dependencies are similar to the .[dev] option.
deps =
coverage
check-manifest
flake8
Pillow
mock
commands_pre=
# remove any old cmakecache file just in case you're working locally
rm -f {[testenv]cmake_build_dir}/CMakeCache.txt
whitelist_externals=
rm
lcov
commands =
check-manifest
python -m flake8
coverage run -a -m unittest discover tests -vvv
coverage run -a -m unittest discover contrib/opentimelineio_contrib/adapters/tests -vvv
coverage report
lcov --capture -b {toxinidir} --directory {[testenv]cmake_build_dir} --output-file {[testenv]cmake_build_dir}/coverage.info -q
# remove coverage of dependency files
lcov --remove {[testenv]cmake_build_dir}/coverage.info '/usr/*' --output-file {[testenv]cmake_build_dir}/coverage.info -q
lcov --remove {[testenv]cmake_build_dir}/coverage.info '*/deps/*' --output-file {toxinidir}/coverage.info -q
lcov --list {toxinidir}/coverage.info # debug info
[testenv:clean]
commands =
coverage erase
rm {[testenv]cmake_build_dir} -f coverage.info
[testenv:stats]
commands =
coverage report
coverage html
lcov --list {toxinidir}/coverage.info # debug info
[testenv:build-docs]
changedir = docs
deps =
sphinx
sphinx-rtd-theme
recommonmark
commands =
sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
[testenv:dist]
skip_install = True
deps = wheel
commands =
python setup.py bdist_wheel --universal
###############################################################################
# Check-Manifest
###############################################################################
[check-manifest]
ignore =
tests*
requirements*
contrib/opentimelineio_contrib/application_plugins
contrib/opentimelineio_contrib/application_plugins/*
ignore-bad-ideas =
*.egg-info
*egg-info/*
###############################################################################
# Python Coverage
###############################################################################
[coverage:run]
branch = True
[coverage:report]
include =*
# Regexes for lines to exclude from consideration
omit =
*aaf2*
*pkg_resources*
*pbr*
*mock*
*PIL*
*funcsigs*
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover
# Don't complain if tests don't hit defensive assertion code:
# raise AssertionError
# raise NotImplementedError
# # Don't complain if non-runnable code isn't run:
# if 0:
# if __name__ == .__main__.:
ignore_errors = True
show_missing = True
[coverage:html]
directory = coverage_html_report