You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.0 KiB
57 lines
2.0 KiB
# 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. |
|
|
|
import re |
|
import sys |
|
from setuptools import find_packages, setup |
|
from setuptools.command.test import test as TestCommand |
|
|
|
version = '' |
|
with open('kafkatest/__init__.py', 'r') as fd: |
|
version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', fd.read(), re.MULTILINE).group(1) |
|
|
|
|
|
class PyTest(TestCommand): |
|
user_options = [('pytest-args=', 'a', "Arguments to pass to py.test")] |
|
|
|
def initialize_options(self): |
|
TestCommand.initialize_options(self) |
|
self.pytest_args = [] |
|
|
|
def finalize_options(self): |
|
TestCommand.finalize_options(self) |
|
self.test_args = [] |
|
self.test_suite = True |
|
|
|
def run_tests(self): |
|
# import here, cause outside the eggs aren't loaded |
|
import pytest |
|
print(self.pytest_args) |
|
errno = pytest.main(self.pytest_args) |
|
sys.exit(errno) |
|
|
|
# Note: when changing the version of ducktape, also revise tests/docker/Dockerfile |
|
setup(name="kafkatest", |
|
version=version, |
|
description="Apache Kafka System Tests", |
|
author="Apache Kafka", |
|
platforms=["any"], |
|
license="apache2.0", |
|
packages=find_packages(), |
|
include_package_data=True, |
|
install_requires=["ducktape==0.7.9", "requests==2.22.0"], |
|
tests_require=["pytest", "mock"], |
|
cmdclass={'test': PyTest}, |
|
)
|
|
|