# # 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