blob: 9ff47a24fa169a87d265be3ee90a9a5ac6ed16c6 [file] [log] [blame]
#
# 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