blob: ccd2c0af03aad89c9e08e63d6aeec22290284d72 [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.
################################################################################
[tox]
# 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.
# new environments will be excluded by default unless explicitly added to envlist.
envlist = {py36, py37, py38}-cython
[testenv]
whitelist_externals=
/bin/bash
deps =
pytest
apache-beam==2.27.0
cython==0.29.16
grpcio>=1.29.0,<2
grpcio-tools>=1.3.5,<=1.14.2
apache-flink-libraries
passenv = *
commands =
python --version
# python test
bash ./dev/integration_test.sh
python setup.py build_ext --inplace --force
# cython test
bash ./dev/integration_test.sh
bash ./dev/run_pip_test.sh
# Replace the default installation command with a custom retry installation script, because on high-speed
# networks, downloading a package may raise a ConnectionResetError: [Errno 104] Peer reset connection.
install_command = {toxinidir}/dev/install_command.sh {opts} {packages}
[flake8]
# We follow PEP 8 (https://www.python.org/dev/peps/pep-0008/) with one exception: lines can be
# up to 100 characters in length, not 79.
ignore=E226,E241,E305,E402,E722,E731,E741,W503,W504
max-line-length=100
exclude=.tox/*,dev/*,lib/*,target/*,build/*,dist/*,pyflink/shell.py,.eggs/*,pyflink/fn_execution/tests/process_mode_test_data.py,pyflink/fn_execution/*_pb2.py
[mypy]
files=pyflink/common/*.py,pyflink/table/*.py,pyflink/datastream/*.py,pyflink/metrics/*.py
ignore_missing_imports = True
strict_optional=False
[mypy-pyflink.fn_execution.*]
ignore_errors = True