-
Notifications
You must be signed in to change notification settings - Fork 42
/
tox.ini
96 lines (80 loc) · 2.87 KB
/
tox.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
# Copyright © 2019, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
# 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.
#
# See also https://tox.readthedocs.io/en/latest/config.html for more
# configuration options.
[tox]
requires = tox>=4
envlist = py{38,39,310,311}-tests-{clean,unit,integration}
# Allow execution even if all Python versions are not present
skip_missing_interpreters = {env:TOX_SKIP_MISSING_INTERPRETERS:True}
# Required by tox-gh-actions GH action. Maps GH Python runtime to tox envlist.
[gh-actions]
python =
3.8: py38
3.9: py39
3.10: py310
3.11: py311
[testenv]
description = run standard unit and integration tests
skip_install =
clean: true
#basepython =
# py38: python3.8
# py39: python3.9
# py310: python3.10
# py311: python3.11
deps =
clean: coverage
tests: pytest >= 4.4.1
tests: pytest-cov
tests: betamax >= 0.8.1
tests: betamax_serializers >= 0.2.0
tests: scikit-learn < 1.5.0
tests: pandas < 2.0.0
tests: numpy < 2.0.0
tests: cython # required to install pandas from source
tests: swat >= 1.8
tests: kerberos ; platform_system != "Windows" and platform_system != "Darwin"
tests: xgboost == 1.7.3
tests: urllib3 < 2.0.0
tests: nbconvert
tests: nbformat
# tests: torch
# tests: onnx
# tests: h2o
# tests: tensorflow
# tests: lightgbm ; platform_system != "Darwin" # lightgmb seems to have build issues on MacOS
# doc skips install, so explicitly add minimum packages
deeplearn: torch
doc: sphinx
doc: pydata_sphinx_theme
doc: pyyaml
setenv =
tests: SASCTL_USER_NAME=dummy
tests: SASCTL_PASSWORD=dummy
tests: SASCTL_TEST_SERVERS=example.com
tests: REQUESTS_CA_BUNDLE=
passenv =
codecov: TOXENV
codecov: CI
codecov: CODEVOC_*
commands =
clean: coverage erase
unit: {posargs:pytest --cov={envsitepackagesdir}/sasctl --cov-report=xml:./.reports/unit.xml --cov-append tests/unit/}
integration: {posargs:pytest --cov={envsitepackagesdir}/sasctl --cov-report=xml:./.reports/integration.xml --cov-append tests/integration/}
# Uncomment when tests are working again for scenarios
# scenarios: {posargs:pytest --cov={envsitepackagesdir}/sasctl --cov-report=xml:./.reports/scenarios.xml --cov-append tests/scenarios/}
doc: sphinx-build -Ean -b html -j auto ./doc ./doc/_build/html
[testenv:deeplearn]
description = run additional tests that require deep learning libraries.
deps =
tests: torch
tests: onnx
tests: tensorflow
commands =
unit: {posargs:pytest --cov={envsitepackagesdir}/sasctl --cov-report=xml:./.reports/unit.xml --cov-append tests/unit/}