Chandan Singh pushed to branch bst-1.2 at BuildStream / buildstream
Commits:
-
aa983200
by Chandan Singh at 2019-01-19T14:05:03Z
-
15cf12a5
by Chandan Singh at 2019-01-19T14:05:03Z
-
898cd9d1
by Chandan Singh at 2019-01-28T22:00:32Z
-
9d9b73e7
by Chandan Singh at 2019-01-28T22:02:22Z
-
0a51e0b1
by Chandan Singh at 2019-01-28T22:02:22Z
-
2bb5e510
by Jim MacArthur at 2019-01-28T22:36:37Z
-
797b8783
by Tristan Van Berkom at 2019-01-28T23:28:01Z
-
c70d2bb3
by Chandan Singh at 2019-01-28T23:30:31Z
-
f4fa33c8
by Chandan Singh at 2019-02-04T19:54:49Z
15 changed files:
- .coveragerc
- .gitignore
- .gitlab-ci.yml
- MANIFEST.in
- + Makefile
- conftest.py
- doc/bst2html.py
- dev-requirements.txt → requirements/dev-requirements.in
- + requirements/dev-requirements.txt
- + requirements/plugin-requirements.in
- + requirements/plugin-requirements.txt
- + requirements/requirements.in
- + requirements/requirements.txt
- setup.py
- + tox.ini
Changes:
| ... | ... | @@ -4,11 +4,15 @@ include = |
| 4 | 4 |
*/buildstream/*
|
| 5 | 5 |
|
| 6 | 6 |
omit =
|
| 7 |
- # Omit profiling helper module
|
|
| 7 |
+ # Omit some internals
|
|
| 8 | 8 |
*/buildstream/_profile.py
|
| 9 |
+ */buildstream/__main__.py
|
|
| 10 |
+ */buildstream/_version.py
|
|
| 9 | 11 |
# Omit generated code
|
| 10 | 12 |
*/buildstream/_protos/*
|
| 11 | 13 |
*/.eggs/*
|
| 14 |
+ # Omit .tox directory
|
|
| 15 |
+ */.tox/*
|
|
| 12 | 16 |
|
| 13 | 17 |
[report]
|
| 14 | 18 |
show_missing = True
|
| ... | ... | @@ -13,9 +13,12 @@ tests/**/*.pyc |
| 13 | 13 |
integration-cache/
|
| 14 | 14 |
tmp
|
| 15 | 15 |
.coverage
|
| 16 |
+.coverage-reports/
|
|
| 16 | 17 |
.coverage.*
|
| 17 | 18 |
.cache
|
| 19 |
+.pytest_cache/
|
|
| 18 | 20 |
*.bst/
|
| 21 |
+.tox/
|
|
| 19 | 22 |
|
| 20 | 23 |
# Pycache, in case buildstream is ran directly from within the source
|
| 21 | 24 |
# tree
|
| 1 |
-image: buildstream/testsuite-debian:9-master-114-4cab18e3
|
|
| 1 |
+image: buildstream/testsuite-debian:9-5da27168-32c47d1c
|
|
| 2 | 2 |
|
| 3 | 3 |
cache:
|
| 4 | 4 |
key: "$CI_JOB_NAME-"
|
| ... | ... | @@ -6,49 +6,13 @@ cache: |
| 6 | 6 |
- cache/
|
| 7 | 7 |
|
| 8 | 8 |
stages:
|
| 9 |
- - prepare
|
|
| 10 | 9 |
- test
|
| 11 | 10 |
- post
|
| 12 | 11 |
|
| 13 |
-#####################################################
|
|
| 14 |
-# Prepare stage #
|
|
| 15 |
-#####################################################
|
|
| 16 |
- |
|
| 17 |
-# Create a source distribution
|
|
| 18 |
-#
|
|
| 19 |
-source_dist:
|
|
| 20 |
- stage: prepare
|
|
| 21 |
- script:
|
|
| 22 |
- |
|
| 23 |
- # Generate the source distribution tarball
|
|
| 24 |
- #
|
|
| 25 |
- - python3 setup.py sdist
|
|
| 26 |
- - tar -ztf dist/*
|
|
| 27 |
- - tarball=$(cd dist && echo $(ls *))
|
|
| 28 |
- |
|
| 29 |
- # Create an installer script
|
|
| 30 |
- - |
|
|
| 31 |
- cat > dist/install.sh << EOF
|
|
| 32 |
- #!/bin/sh
|
|
| 33 |
- tar -zxf ${tarball}
|
|
| 34 |
- cd ${tarball%.tar.gz}
|
|
| 35 |
- pip3 install --no-index .
|
|
| 36 |
- EOF
|
|
| 37 |
- |
|
| 38 |
- # unpack tarball as `dist/buildstream` directory
|
|
| 39 |
- - |
|
|
| 40 |
- cat > dist/unpack.sh << EOF
|
|
| 41 |
- #!/bin/sh
|
|
| 42 |
- tar -zxf ${tarball}
|
|
| 43 |
- mv ${tarball%.tar.gz} buildstream
|
|
| 44 |
- EOF
|
|
| 45 |
- |
|
| 46 |
- # Make our helpers executable
|
|
| 47 |
- - chmod +x dist/install.sh
|
|
| 48 |
- - chmod +x dist/unpack.sh
|
|
| 49 |
- artifacts:
|
|
| 50 |
- paths:
|
|
| 51 |
- - dist/
|
|
| 12 |
+variables:
|
|
| 13 |
+ INTEGRATION_CACHE: "${CI_PROJECT_DIR}/cache/integration-cache"
|
|
| 14 |
+ TEST_COMMAND: "tox -- --color=yes --integration"
|
|
| 15 |
+ COVERAGE_PREFIX: "${CI_JOB_NAME}."
|
|
| 52 | 16 |
|
| 53 | 17 |
|
| 54 | 18 |
#####################################################
|
| ... | ... | @@ -57,66 +21,53 @@ source_dist: |
| 57 | 21 |
|
| 58 | 22 |
# Run premerge commits
|
| 59 | 23 |
#
|
| 60 |
-.linux-tests-template: &linux-tests
|
|
| 24 |
+.tests-template: &tests
|
|
| 61 | 25 |
stage: test
|
| 62 |
- variables:
|
|
| 63 |
- PYTEST_ADDOPTS: "--color=yes"
|
|
| 64 |
- script:
|
|
| 26 |
+ |
|
| 27 |
+ before_script:
|
|
| 65 | 28 |
# Diagnostics
|
| 66 | 29 |
- mount
|
| 67 | 30 |
- df -h
|
| 68 | 31 |
|
| 32 |
+ script:
|
|
| 33 |
+ - mkdir -p "${INTEGRATION_CACHE}"
|
|
| 69 | 34 |
- useradd -Um buildstream
|
| 70 | 35 |
- chown -R buildstream:buildstream .
|
| 71 | 36 |
|
| 72 |
- - export INTEGRATION_CACHE="$(pwd)/cache/integration-cache"
|
|
| 73 |
- |
|
| 74 |
- # Unpack and get into dist/buildstream
|
|
| 75 |
- - cd dist && ./unpack.sh
|
|
| 76 |
- - chown -R buildstream:buildstream buildstream
|
|
| 77 |
- - cd buildstream
|
|
| 78 |
- |
|
| 79 |
- # Run the tests from the source distribution, We run as a simple
|
|
| 80 |
- # user to test for permission issues
|
|
| 81 |
- - su buildstream -c 'python3 setup.py test --index-url invalid://uri --addopts --integration'
|
|
| 37 |
+ # Run the tests as a simple user to test for permission issues
|
|
| 38 |
+ - su buildstream -c "${TEST_COMMAND}"
|
|
| 82 | 39 |
|
| 83 |
- # Go back to the toplevel and collect our reports
|
|
| 84 |
- - cd ../..
|
|
| 85 |
- - mkdir -p coverage-linux/
|
|
| 86 |
- - cp dist/buildstream/.coverage.* coverage-linux/coverage."${CI_JOB_NAME}"
|
|
| 87 | 40 |
except:
|
| 88 | 41 |
- schedules
|
| 89 | 42 |
artifacts:
|
| 90 | 43 |
paths:
|
| 91 |
- - coverage-linux/
|
|
| 44 |
+ - .coverage-reports
|
|
| 92 | 45 |
|
| 93 | 46 |
tests-debian-9:
|
| 94 |
- image: buildstream/testsuite-debian:9-master-117-aa3a33b3
|
|
| 95 |
- <<: *linux-tests
|
|
| 47 |
+ image: buildstream/testsuite-debian:9-5da27168-32c47d1c
|
|
| 48 |
+ <<: *tests
|
|
| 96 | 49 |
|
| 97 | 50 |
tests-fedora-27:
|
| 98 |
- image: buildstream/testsuite-fedora:27-master-117-aa3a33b3
|
|
| 99 |
- <<: *linux-tests
|
|
| 51 |
+ image: buildstream/testsuite-fedora:27-5da27168-32c47d1c
|
|
| 52 |
+ <<: *tests
|
|
| 100 | 53 |
|
| 101 | 54 |
tests-fedora-28:
|
| 102 |
- image: buildstream/testsuite-fedora:28-master-117-aa3a33b3
|
|
| 103 |
- <<: *linux-tests
|
|
| 55 |
+ image: buildstream/testsuite-fedora:28-5da27168-32c47d1c
|
|
| 56 |
+ <<: *tests
|
|
| 104 | 57 |
|
| 105 | 58 |
tests-ubuntu-18.04:
|
| 106 |
- image: buildstream/testsuite-ubuntu:18.04-master-117-aa3a33b3
|
|
| 107 |
- <<: *linux-tests
|
|
| 59 |
+ image: buildstream/testsuite-ubuntu:18.04-5da27168-32c47d1c
|
|
| 60 |
+ <<: *tests
|
|
| 108 | 61 |
|
| 109 | 62 |
tests-unix:
|
| 110 | 63 |
# Use fedora here, to a) run a test on fedora and b) ensure that we
|
| 111 | 64 |
# can get rid of ostree - this is not possible with debian-8
|
| 112 |
- image: buildstream/testsuite-fedora:27-master-117-aa3a33b3
|
|
| 113 |
- stage: test
|
|
| 65 |
+ image: buildstream/testsuite-fedora:27-5da27168-32c47d1c
|
|
| 66 |
+ <<: *tests
|
|
| 114 | 67 |
variables:
|
| 115 | 68 |
BST_FORCE_BACKEND: "unix"
|
| 116 |
- PYTEST_ADDOPTS: "--color=yes"
|
|
| 117 |
- script:
|
|
| 118 | 69 |
|
| 119 |
- - export INTEGRATION_CACHE="$(pwd)/cache/integration-cache"
|
|
| 70 |
+ script:
|
|
| 120 | 71 |
|
| 121 | 72 |
# We remove the Bubblewrap and OSTree packages here so that we catch any
|
| 122 | 73 |
# codepaths that try to use them. Removing OSTree causes fuse-libs to
|
| ... | ... | @@ -124,39 +75,19 @@ tests-unix: |
| 124 | 75 |
- dnf mark install fuse-libs
|
| 125 | 76 |
- dnf erase -y bubblewrap ostree
|
| 126 | 77 |
|
| 127 |
- # Unpack and get into dist/buildstream
|
|
| 128 |
- - cd dist && ./unpack.sh && cd buildstream
|
|
| 129 |
- |
|
| 130 | 78 |
# Since the unix platform is required to run as root, no user change required
|
| 131 |
- - python3 setup.py test --index-url invalid://uri --addopts --integration
|
|
| 132 |
- |
|
| 133 |
- # Go back to the toplevel and collect our reports
|
|
| 134 |
- - cd ../..
|
|
| 135 |
- - mkdir -p coverage-unix/
|
|
| 136 |
- - cp dist/buildstream/.coverage.* coverage-unix/coverage.unix
|
|
| 137 |
- except:
|
|
| 138 |
- - schedules
|
|
| 139 |
- artifacts:
|
|
| 140 |
- paths:
|
|
| 141 |
- - coverage-unix/
|
|
| 142 |
- - logs-unix/
|
|
| 79 |
+ - ${TEST_COMMAND}
|
|
| 143 | 80 |
|
| 144 | 81 |
|
| 145 | 82 |
# Automatically build documentation for every commit, we want to know
|
| 146 | 83 |
# if building documentation fails even if we're not deploying it.
|
| 147 |
-# Note: We still do not enforce a consistent installation of python3-sphinx,
|
|
| 148 |
-# as it will significantly grow the backing image.
|
|
| 149 | 84 |
docs:
|
| 150 | 85 |
stage: test
|
| 86 |
+ variables:
|
|
| 87 |
+ BST_FORCE_SESSION_REBUILD: 1
|
|
| 151 | 88 |
script:
|
| 152 |
- - export BST_SOURCE_CACHE="$(pwd)/cache/integration-cache/sources"
|
|
| 153 |
- - pip3 install sphinx
|
|
| 154 |
- - pip3 install sphinx-click
|
|
| 155 |
- - pip3 install sphinx_rtd_theme
|
|
| 156 |
- - cd dist && ./unpack.sh && cd buildstream
|
|
| 157 |
- - make BST_FORCE_SESSION_REBUILD=1 -C doc
|
|
| 158 |
- - cd ../..
|
|
| 159 |
- - mv dist/buildstream/doc/build/html public
|
|
| 89 |
+ - env BST_SOURCE_CACHE="$(pwd)/cache/integration-cache/sources" tox -e docs
|
|
| 90 |
+ - mv doc/build/html public
|
|
| 160 | 91 |
except:
|
| 161 | 92 |
- schedules
|
| 162 | 93 |
artifacts:
|
| ... | ... | @@ -170,7 +101,8 @@ docs: |
| 170 | 101 |
bst_ext_ref: 1d6ab71151b93c8cbc0a91a36ffe9270f3b835f1 # 0.5.1
|
| 171 | 102 |
fd_sdk_ref: 88d7c22c2281b987faa02edd57df80d430eecf1f # 18.08.12
|
| 172 | 103 |
before_script:
|
| 173 |
- - (cd dist && ./unpack.sh && cd buildstream && pip3 install .)
|
|
| 104 |
+ - pip3 install -r requirements/requirements.txt -r requirements/plugin-requirements.txt
|
|
| 105 |
+ - pip3 install --no-index .
|
|
| 174 | 106 |
- pip3 install --user -e ${bst_ext_url}@${bst_ext_ref}#egg=bst_ext
|
| 175 | 107 |
- git clone https://gitlab.com/freedesktop-sdk/freedesktop-sdk.git
|
| 176 | 108 |
- git -C freedesktop-sdk checkout ${fd_sdk_ref}
|
| ... | ... | @@ -253,21 +185,15 @@ coverage: |
| 253 | 185 |
stage: post
|
| 254 | 186 |
coverage: '/TOTAL +\d+ +\d+ +(\d+\.\d+)%/'
|
| 255 | 187 |
script:
|
| 256 |
- - cd dist && ./unpack.sh && cd buildstream
|
|
| 257 |
- - pip3 install --no-index .
|
|
| 258 |
- - mkdir report
|
|
| 259 |
- - cd report
|
|
| 260 |
- - cp ../../../coverage-unix/coverage.unix .
|
|
| 261 |
- - cp ../../../coverage-linux/coverage.* .
|
|
| 262 |
- - ls coverage.*
|
|
| 263 |
- - coverage combine --rcfile=../.coveragerc -a coverage.*
|
|
| 264 |
- - coverage report --rcfile=../.coveragerc -m
|
|
| 188 |
+ - cp -a .coverage-reports/ ./coverage-sources
|
|
| 189 |
+ - tox -e coverage
|
|
| 190 |
+ - cp -a .coverage-reports/ ./coverage-report
|
|
| 265 | 191 |
dependencies:
|
| 266 | 192 |
- tests-debian-9
|
| 267 | 193 |
- tests-fedora-27
|
| 268 | 194 |
- tests-fedora-28
|
| 195 |
+ - tests-ubuntu-18.04
|
|
| 269 | 196 |
- tests-unix
|
| 270 |
- - source_dist
|
|
| 271 | 197 |
except:
|
| 272 | 198 |
- schedules
|
| 273 | 199 |
|
| ... | ... | @@ -276,7 +202,6 @@ coverage: |
| 276 | 202 |
pages:
|
| 277 | 203 |
stage: post
|
| 278 | 204 |
dependencies:
|
| 279 |
- - source_dist
|
|
| 280 | 205 |
- docs
|
| 281 | 206 |
script:
|
| 282 | 207 |
- find public/
|
| ... | ... | @@ -23,4 +23,12 @@ recursive-include tests *.expected |
| 23 | 23 |
recursive-include buildstream/_protos *.proto
|
| 24 | 24 |
|
| 25 | 25 |
# Requirements files
|
| 26 |
-include dev-requirements.txt
|
|
| 26 |
+include requirements/requirements.in
|
|
| 27 |
+include requirements/requirements.txt
|
|
| 28 |
+include requirements/dev-requirements.in
|
|
| 29 |
+include requirements/dev-requirements.txt
|
|
| 30 |
+include requirements/plugin-requirements.in
|
|
| 31 |
+include requirements/plugin-requirements.txt
|
|
| 32 |
+ |
|
| 33 |
+# Versioneer
|
|
| 34 |
+include versioneer.py
|
| 1 |
+# Makefile for updating BuildStream's requirements files.
|
|
| 2 |
+#
|
|
| 3 |
+ |
|
| 4 |
+REQUIREMENTS_IN := $(wildcard *.in)
|
|
| 5 |
+REQUIREMENTS_TXT := $(REQUIREMENTS_IN:.in=.txt)
|
|
| 6 |
+PYTHON := python3
|
|
| 7 |
+VENV := $(PYTHON) -m venv
|
|
| 8 |
+ |
|
| 9 |
+VENV_PIP = $(VENVDIR)/bin/pip
|
|
| 10 |
+ |
|
| 11 |
+ |
|
| 12 |
+.PHONY: all
|
|
| 13 |
+ |
|
| 14 |
+all: $(REQUIREMENTS_TXT)
|
|
| 15 |
+ |
|
| 16 |
+%.txt: %.in
|
|
| 17 |
+ $(eval VENVDIR := $(shell mktemp -d $(CURDIR)/.bst-venv.XXXXXX))
|
|
| 18 |
+ $(VENV) $(VENVDIR)
|
|
| 19 |
+ $(VENV_PIP) install -r $^
|
|
| 20 |
+ $(VENV_PIP) freeze -r $^ > $@
|
|
| 21 |
+ rm -rf $(VENVDIR)
|
| ... | ... | @@ -30,7 +30,7 @@ def pytest_addoption(parser): |
| 30 | 30 |
|
| 31 | 31 |
|
| 32 | 32 |
def pytest_runtest_setup(item):
|
| 33 |
- if item.get_marker('integration') and not item.config.getvalue('integration'):
|
|
| 33 |
+ if item.get_closest_marker('integration') and not item.config.getvalue('integration'):
|
|
| 34 | 34 |
pytest.skip('skipping integration test')
|
| 35 | 35 |
|
| 36 | 36 |
|
| ... | ... | @@ -440,7 +440,7 @@ def run_session(description, tempdir, source_cache, palette, config_file, force) |
| 440 | 440 |
@click.option('--palette', '-p', default='tango',
|
| 441 | 441 |
type=click.Choice(['solarized', 'solarized-xterm', 'tango', 'xterm', 'console']),
|
| 442 | 442 |
help="Selects a palette for the output style")
|
| 443 |
-@click.argument('description', click.Path(file_okay=True, dir_okay=False, readable=True))
|
|
| 443 |
+@click.argument('description', type=click.Path(file_okay=True, dir_okay=False, readable=True))
|
|
| 444 | 444 |
def run_bst(directory, force, source_cache, description, palette):
|
| 445 | 445 |
"""Run a bst command and capture stdout/stderr in html
|
| 446 | 446 |
|
| 1 |
+coverage==4.4
|
|
| 2 |
+pep8==1.7.1
|
|
| 3 |
+pylint==2.1.1
|
|
| 4 |
+pytest==4.1.1
|
|
| 5 |
+pytest-cov==2.6.1
|
|
| 6 |
+pytest-datafiles==2.0
|
|
| 7 |
+pytest-env==0.6.2
|
|
| 8 |
+pytest-pep8==1.0.6
|
|
| 9 |
+pytest-pylint==0.14.0
|
|
| 10 |
+pytest-xdist==1.26.0
|
|
| 11 |
+pytest-timeout==1.3.3
|
|
| 12 |
+## The following requirements were added by pip freeze:
|
|
| 13 |
+apipkg==1.5
|
|
| 14 |
+astroid==2.1.0
|
|
| 15 |
+atomicwrites==1.2.1
|
|
| 16 |
+attrs==18.2.0
|
|
| 17 |
+execnet==1.5.0
|
|
| 18 |
+isort==4.3.4
|
|
| 19 |
+lazy-object-proxy==1.3.1
|
|
| 20 |
+mccabe==0.6.1
|
|
| 21 |
+more-itertools==5.0.0
|
|
| 22 |
+pluggy==0.8.1
|
|
| 23 |
+py==1.7.0
|
|
| 24 |
+pytest-cache==1.0
|
|
| 25 |
+pytest-forked==1.0.1
|
|
| 26 |
+six==1.12.0
|
|
| 27 |
+wrapt==1.11.0
|
| 1 |
+arpy
|
|
| 2 |
+PyGObject
|
| 1 |
+arpy==1.1.1
|
|
| 2 |
+PyGObject==3.30.4
|
|
| 3 |
+## The following requirements were added by pip freeze:
|
|
| 4 |
+pycairo==1.18.0
|
| 1 |
+Click
|
|
| 2 |
+grpcio >= 1.10
|
|
| 3 |
+jinja2 >= 2.10
|
|
| 4 |
+pluginbase
|
|
| 5 |
+protobuf >= 3.5
|
|
| 6 |
+psutil
|
|
| 7 |
+ruamel.yaml < 0.15.52
|
|
| 8 |
+setuptools
|
| 1 |
+Click==7.0
|
|
| 2 |
+grpcio==1.18.0
|
|
| 3 |
+pluginbase==0.7
|
|
| 4 |
+protobuf==3.6.1
|
|
| 5 |
+psutil==5.4.8
|
|
| 6 |
+ruamel.yaml==0.15.51
|
|
| 7 |
+setuptools==40.6.2
|
|
| 8 |
+## The following requirements were added by pip freeze:
|
|
| 9 |
+Jinja2==2.10
|
|
| 10 |
+MarkupSafe==1.1.0
|
|
| 11 |
+six==1.12.0
|
| ... | ... | @@ -228,9 +228,12 @@ def get_cmdclass(): |
| 228 | 228 |
#####################################################
|
| 229 | 229 |
# Gather requirements #
|
| 230 | 230 |
#####################################################
|
| 231 |
-with open('dev-requirements.txt') as dev_reqs:
|
|
| 231 |
+with open('requirements/dev-requirements.in') as dev_reqs:
|
|
| 232 | 232 |
dev_requires = dev_reqs.read().splitlines()
|
| 233 | 233 |
|
| 234 |
+with open('requirements/requirements.in') as install_reqs:
|
|
| 235 |
+ install_requires = install_reqs.read().splitlines()
|
|
| 236 |
+ |
|
| 234 | 237 |
#####################################################
|
| 235 | 238 |
# Prepare package description from README #
|
| 236 | 239 |
#####################################################
|
| ... | ... | @@ -291,16 +294,7 @@ setup(name='BuildStream', |
| 291 | 294 |
os.path.join('buildstream', 'data', 'bst')
|
| 292 | 295 |
])
|
| 293 | 296 |
],
|
| 294 |
- install_requires=[
|
|
| 295 |
- 'setuptools',
|
|
| 296 |
- 'psutil',
|
|
| 297 |
- 'ruamel.yaml < 0.15.52',
|
|
| 298 |
- 'pluginbase',
|
|
| 299 |
- 'Click',
|
|
| 300 |
- 'jinja2 >= 2.10',
|
|
| 301 |
- 'protobuf >= 3.5',
|
|
| 302 |
- 'grpcio >= 1.10',
|
|
| 303 |
- ],
|
|
| 297 |
+ install_requires=install_requires,
|
|
| 304 | 298 |
entry_points=bst_install_entry_points,
|
| 305 | 299 |
setup_requires=['pytest-runner'],
|
| 306 | 300 |
tests_require=dev_requires,
|
| 1 |
+#
|
|
| 2 |
+# Tox global configuration
|
|
| 3 |
+#
|
|
| 4 |
+[tox]
|
|
| 5 |
+envlist = py35,py36,py37
|
|
| 6 |
+skip_missing_interpreters = true
|
|
| 7 |
+ |
|
| 8 |
+#
|
|
| 9 |
+# Defaults for all environments
|
|
| 10 |
+#
|
|
| 11 |
+# Anything specified here is iherited by the sections
|
|
| 12 |
+#
|
|
| 13 |
+[testenv]
|
|
| 14 |
+commands =
|
|
| 15 |
+ pytest --basetemp {envtmpdir} {posargs}
|
|
| 16 |
+ mkdir -p .coverage-reports
|
|
| 17 |
+ mv {envtmpdir}/.coverage {toxinidir}/.coverage-reports/.coverage.{env:COVERAGE_PREFIX:}{envname}
|
|
| 18 |
+deps =
|
|
| 19 |
+ -rrequirements/requirements.txt
|
|
| 20 |
+ -rrequirements/dev-requirements.txt
|
|
| 21 |
+ -rrequirements/plugin-requirements.txt
|
|
| 22 |
+passenv =
|
|
| 23 |
+ BST_FORCE_BACKEND
|
|
| 24 |
+ GI_TYPELIB_PATH
|
|
| 25 |
+ INTEGRATION_CACHE
|
|
| 26 |
+ |
|
| 27 |
+#
|
|
| 28 |
+# These keys are not inherited by any other sections
|
|
| 29 |
+#
|
|
| 30 |
+setenv =
|
|
| 31 |
+ py{35,36,37}: COVERAGE_FILE = {envtmpdir}/.coverage
|
|
| 32 |
+whitelist_externals =
|
|
| 33 |
+ py{35,36,37}:
|
|
| 34 |
+ mv
|
|
| 35 |
+ mkdir
|
|
| 36 |
+ |
|
| 37 |
+#
|
|
| 38 |
+# Coverage reporting
|
|
| 39 |
+#
|
|
| 40 |
+[testenv:coverage]
|
|
| 41 |
+commands =
|
|
| 42 |
+ - coverage combine --rcfile={toxinidir}/.coveragerc {toxinidir}/.coverage-reports/
|
|
| 43 |
+ coverage report --rcfile={toxinidir}/.coveragerc -m
|
|
| 44 |
+deps =
|
|
| 45 |
+ -rrequirements/requirements.txt
|
|
| 46 |
+ -rrequirements/dev-requirements.txt
|
|
| 47 |
+setenv =
|
|
| 48 |
+ COVERAGE_FILE = {toxinidir}/.coverage-reports/.coverage
|
|
| 49 |
+ |
|
| 50 |
+#
|
|
| 51 |
+# Building documentation
|
|
| 52 |
+#
|
|
| 53 |
+[testenv:docs]
|
|
| 54 |
+commands =
|
|
| 55 |
+ make -C doc
|
|
| 56 |
+# sphinx_rtd_theme < 0.4.2 breaks search functionality for Sphinx >= 1.8
|
|
| 57 |
+deps =
|
|
| 58 |
+ sphinx
|
|
| 59 |
+ sphinx-click
|
|
| 60 |
+ sphinx_rtd_theme >= 0.4.2
|
|
| 61 |
+ -rrequirements/requirements.txt
|
|
| 62 |
+ -rrequirements/plugin-requirements.txt
|
|
| 63 |
+passenv =
|
|
| 64 |
+ BST_FORCE_SESSION_REBUILD
|
|
| 65 |
+ BST_SOURCE_CACHE
|
|
| 66 |
+ HOME
|
|
| 67 |
+ LANG
|
|
| 68 |
+ LC_ALL
|
|
| 69 |
+whitelist_externals =
|
|
| 70 |
+ make
|
