mirror of
https://github.com/apache/superset.git
synced 2024-09-18 19:49:37 -04:00
4e340c8368
* Switch from nosetest to pytest Fix schedule tests Collect pytest coverage Move pytest config into pytest.ini Move cov to the pytest.ini * Append coverage for the 2nd run * Add coverage to all commands * Coverage only for tests * Get coverage from 1 place * Rename classes to be pytest compatible * Test coverage for examples and tests * Max diff to -1 * Explain how to run pytest for the whole project * Do not append code coverage for the main run * Do not run coverage on examples Co-authored-by: bogdan kyryliuk <bogdankyryliuk@dropbox.com>
175 lines
4.4 KiB
INI
175 lines
4.4 KiB
INI
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership.
|
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
# (the "License"); you may not use this file except in compliance with
|
|
# the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
[testenv]
|
|
commands =
|
|
{toxinidir}/superset/bin/superset db upgrade
|
|
{toxinidir}/superset/bin/superset init
|
|
pytest -ra -q tests/load_examples_test.py
|
|
# use -s to be able to use break pointers.
|
|
# no args or tests/* can be passed as an argument to run all tests
|
|
pytest --ignore=load_examples_test {posargs}
|
|
deps =
|
|
-rrequirements.txt
|
|
-rrequirements-dev.txt
|
|
mysql: .[mysql]
|
|
postgres: .[postgres]
|
|
setenv =
|
|
PYTHONPATH = {toxinidir}
|
|
SUPERSET_CONFIG = tests.superset_test_config
|
|
SUPERSET_HOME = {envtmpdir}
|
|
mysql: SUPERSET__SQLALCHEMY_DATABASE_URI = mysql://mysqluser:mysqluserpassword@localhost/superset?charset=utf8
|
|
postgres: SUPERSET__SQLALCHEMY_DATABASE_URI = postgresql+psycopg2://superset:superset@localhost/test
|
|
sqlite: SUPERSET__SQLALCHEMY_DATABASE_URI = sqlite:////{envtmpdir}/superset.db
|
|
whitelist_externals =
|
|
npm
|
|
|
|
[testenv:black]
|
|
commands =
|
|
black --check setup.py superset tests
|
|
deps =
|
|
-rrequirements-dev.txt
|
|
|
|
[testenv:cypress-dashboard]
|
|
commands =
|
|
npm install -g npm@'>=6.5.0'
|
|
pip install -e {toxinidir}/
|
|
{toxinidir}/superset-frontend/cypress_build.sh dashboard
|
|
deps =
|
|
-rrequirements.txt
|
|
-rrequirements-dev.txt
|
|
setenv =
|
|
PYTHONPATH = {toxinidir}
|
|
SUPERSET_CONFIG = tests.superset_test_config
|
|
SUPERSET_HOME = {envtmpdir}
|
|
|
|
[testenv:cypress-explore]
|
|
commands =
|
|
npm install -g npm@'>=6.5.0'
|
|
pip install -e {toxinidir}/
|
|
{toxinidir}/superset-frontend/cypress_build.sh explore
|
|
deps =
|
|
-rrequirements.txt
|
|
-rrequirements-dev.txt
|
|
setenv =
|
|
PYTHONPATH = {toxinidir}
|
|
SUPERSET_CONFIG = tests.superset_test_config
|
|
SUPERSET_HOME = {envtmpdir}
|
|
|
|
[testenv:cypress-sqllab]
|
|
commands =
|
|
npm install -g npm@'>=6.5.0'
|
|
pip install -e {toxinidir}/
|
|
{toxinidir}/superset-frontend/cypress_build.sh sqllab
|
|
deps =
|
|
-rrequirements.txt
|
|
-rrequirements-dev.txt
|
|
setenv =
|
|
PYTHONPATH = {toxinidir}
|
|
SUPERSET_CONFIG = tests.superset_test_config
|
|
SUPERSET_HOME = {envtmpdir}
|
|
|
|
[testenv:cypress-sqllab-backend-persist]
|
|
commands =
|
|
npm install -g npm@'>=6.5.0'
|
|
pip install -e {toxinidir}/
|
|
{toxinidir}/superset-frontend/cypress_build.sh sqllab
|
|
deps =
|
|
-rrequirements.txt
|
|
-rrequirements-dev.txt
|
|
setenv =
|
|
PYTHONPATH = {toxinidir}
|
|
SUPERSET_CONFIG = tests.superset_test_config_sqllab_backend_persist
|
|
SUPERSET_HOME = {envtmpdir}
|
|
|
|
[testenv:docs]
|
|
commands =
|
|
sphinx-build -b html docs _build/html -W
|
|
deps =
|
|
-rrequirements.txt
|
|
-rrequirements-dev.txt
|
|
-rdocs/requirements.txt
|
|
|
|
[testenv:eslint]
|
|
changedir = {toxinidir}/superset-frontend
|
|
commands =
|
|
npm run lint
|
|
deps =
|
|
|
|
[testenv:fossa]
|
|
commands =
|
|
{toxinidir}/scripts/fossa.sh
|
|
deps =
|
|
passenv = *
|
|
|
|
[testenv:isort]
|
|
commands =
|
|
isort --check-only --recursive setup.py superset tests
|
|
deps =
|
|
-rrequirements-dev.txt
|
|
|
|
[testenv:javascript]
|
|
commands =
|
|
npm install -g npm@'>=6.5.0'
|
|
{toxinidir}/superset-frontend/js_build.sh
|
|
deps =
|
|
|
|
[testenv:license-check]
|
|
commands =
|
|
{toxinidir}/scripts/check_license.sh
|
|
passenv = *
|
|
whitelist_externals =
|
|
{toxinidir}/scripts/check_license.sh
|
|
deps =
|
|
|
|
[testenv:mypy]
|
|
commands =
|
|
mypy setup.py superset tests
|
|
deps =
|
|
-rrequirements-dev.txt
|
|
|
|
[testenv:pylint]
|
|
commands =
|
|
pylint superset
|
|
deps =
|
|
-rrequirements.txt
|
|
-rrequirements-dev.txt
|
|
|
|
[testenv:thumbnails]
|
|
setenv =
|
|
SUPERSET_CONFIG = tests.superset_test_config_thumbnails
|
|
deps =
|
|
-rrequirements.txt
|
|
-rrequirements-dev.txt
|
|
.[postgres]
|
|
|
|
[tox]
|
|
envlist =
|
|
black
|
|
cypress-dashboard
|
|
cypress-explore
|
|
cypress-sqllab
|
|
cypress-sqllab-backend-persist
|
|
docs
|
|
eslint
|
|
fossa
|
|
isort
|
|
javascript
|
|
license-check
|
|
mypy
|
|
pylint
|
|
skipsdist = true
|