# # 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. # [flake8] accept-encodings = utf-8 application-import-names = superset tests commands = flake8 setup.py superset tests exclude = superset/assets superset/data superset/migrations ignore = E203 E501 W503 W605 import-order-style = google max-line-length = 88 [testenv] commands = {toxinidir}/superset/bin/superset db upgrade {toxinidir}/superset/bin/superset init nosetests tests/load_examples_test.py nosetests -e load_examples_test {posargs} deps = -rrequirements.txt -rrequirements-dev.txt setenv = PYTHONPATH = {toxinidir} SUPERSET_CONFIG = tests.superset_test_config SUPERSET_HOME = {envtmpdir} py36-mysql: SUPERSET__SQLALCHEMY_DATABASE_URI = mysql://mysqluser:mysqluserpassword@localhost/superset py36-postgres: SUPERSET__SQLALCHEMY_DATABASE_URI = postgresql+psycopg2://postgresuser:pguserpassword@localhost/superset py36-sqlite: SUPERSET__SQLALCHEMY_DATABASE_URI = sqlite:////{envtmpdir}/superset.db whitelist_externals = npm [testenv:black] commands = black --check setup.py superset tests [testenv:cypress-dashboard] commands = npm install -g npm@'>=6.5.0' pip install -e {toxinidir}/ {toxinidir}/superset/assets/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/assets/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/assets/cypress_build.sh sqllab deps = -rrequirements.txt -rrequirements-dev.txt setenv = PYTHONPATH = {toxinidir} SUPERSET_CONFIG = tests.superset_test_config SUPERSET_HOME = {envtmpdir} [testenv:eslint] changedir = {toxinidir}/superset/assets commands = npm run lint deps = [testenv:flake8] commands = flake8 setup.py superset tests deps = -rrequirements-dev.txt [testenv:javascript] commands = npm install -g npm@'>=6.5.0' {toxinidir}/superset/assets/js_build.sh deps = [testenv:license-check] commands = {toxinidir}/scripts/check_license.sh passenv = * whitelist_externals = {toxinidir}/scripts/check_license.sh [testenv:py36-mysql] deps = -rrequirements.txt -rrequirements-dev.txt .[mysql] [testenv:py36-postgres] deps = -rrequirements.txt -rrequirements-dev.txt .[postgres] [testenv:pylint] commands = pylint superset deps = -rrequirements.txt -rrequirements-dev.txt [tox] envlist = black cypress-dashboard cypress-explore cypress-sqllab eslint flake8 javascript pylint license-check skipsdist = true