prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Add test coverage report to Azure Pipelines
  https://docs.microsoft.com/en-us/azure/devops/pipelines/languages/python?view=azure-devops#test-with-pytest-and-collect-coverage-metrics-with-pytest-cov
  
  </issue>
  <code>
  [start of setup.py]
  1 from setuptools import setup, find_packages
  2 
  3 
  4 def readme():
  5     with open("README.md", "r") as f:
  6         return f.read()
  7 
  8 
  9 setup(
  10     name="pl-xquant",
  11     version="0.0.0",
  12     author="Plumerai",
  13     author_email="lukas@plumerai.co.uk",
  14     description="An Open Source Machine Learning Framework for Training Extreme Quantized Neural Networks",
  15     long_description=readme(),
  16     long_description_content_type="text/markdown",
  17     url="https://github.com/lgeiger/xquant",
  18     packages=find_packages(),
  19     license="Apache 2.0",
  20     install_requires=["numpy >= 1.15.4, < 2.0"],
  21     extras_require={
  22         "tensorflow": ["tensorflow>=1.13.1"],
  23         "tensorflow_gpu": ["tensorflow-gpu>=1.13.1"],
  24         "test": ["absl-py>=0.7.0", "pytest>=4.3.1"],
  25         "docs": [
  26             "pydoc-markdown@https://github.com/lgeiger/pydoc-markdown/archive/master.zip",
  27             "mkdocs-material>=4.1.0",
  28             "pymdown-extensions>=6.0",
  29             "mknotebooks>=0.1.5",
  30         ],
  31     },
  32     classifiers=[
  33         "Development Status :: 2 - Pre-Alpha",
  34         "Intended Audience :: Developers",
  35         "Intended Audience :: Education",
  36         "Intended Audience :: Science/Research",
  37         "License :: OSI Approved :: Apache Software License",
  38         "Programming Language :: Python :: 3",
  39         "Programming Language :: Python :: 3 :: Only",
  40         "Programming Language :: Python :: 3.6",
  41         "Programming Language :: Python :: 3.7",
  42         "Topic :: Scientific/Engineering",
  43         "Topic :: Scientific/Engineering :: Mathematics",
  44         "Topic :: Scientific/Engineering :: Artificial Intelligence",
  45         "Topic :: Software Development",
  46         "Topic :: Software Development :: Libraries",
  47         "Topic :: Software Development :: Libraries :: Python Modules",
  48     ],
  49 )
  50
  [end of setup.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -21,7 +21,7 @@
       extras_require={
           "tensorflow": ["tensorflow>=1.13.1"],
           "tensorflow_gpu": ["tensorflow-gpu>=1.13.1"],
  -        "test": ["absl-py>=0.7.0", "pytest>=4.3.1"],
  +        "test": ["absl-py>=0.7.0", "pytest>=4.3.1", "pytest-cov>=2.6.1"],
           "docs": [
               "pydoc-markdown@https://github.com/lgeiger/pydoc-markdown/archive/master.zip",
               "mkdocs-material>=4.1.0",
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -21,7 +21,7 @@\n     extras_require={\n         \"tensorflow\": [\"tensorflow>=1.13.1\"],\n         \"tensorflow_gpu\": [\"tensorflow-gpu>=1.13.1\"],\n-        \"test\": [\"absl-py>=0.7.0\", \"pytest>=4.3.1\"],\n+        \"test\": [\"absl-py>=0.7.0\", \"pytest>=4.3.1\", \"pytest-cov>=2.6.1\"],\n         \"docs\": [\n             \"pydoc-markdown@https://github.com/lgeiger/pydoc-markdown/archive/master.zip\",\n             \"mkdocs-material>=4.1.0\",\n", "issue": "Add test coverage report to Azure Pipelines\nhttps://docs.microsoft.com/en-us/azure/devops/pipelines/languages/python?view=azure-devops#test-with-pytest-and-collect-coverage-metrics-with-pytest-cov\n", "before_files": [{"content": "from setuptools import setup, find_packages\n\n\ndef readme():\n    with open(\"README.md\", \"r\") as f:\n        return f.read()\n\n\nsetup(\n    name=\"pl-xquant\",\n    version=\"0.0.0\",\n    author=\"Plumerai\",\n    author_email=\"lukas@plumerai.co.uk\",\n    description=\"An Open Source Machine Learning Framework for Training Extreme Quantized Neural Networks\",\n    long_description=readme(),\n    long_description_content_type=\"text/markdown\",\n    url=\"https://github.com/lgeiger/xquant\",\n    packages=find_packages(),\n    license=\"Apache 2.0\",\n    install_requires=[\"numpy >= 1.15.4, < 2.0\"],\n    extras_require={\n        \"tensorflow\": [\"tensorflow>=1.13.1\"],\n        \"tensorflow_gpu\": [\"tensorflow-gpu>=1.13.1\"],\n        \"test\": [\"absl-py>=0.7.0\", \"pytest>=4.3.1\"],\n        \"docs\": [\n            \"pydoc-markdown@https://github.com/lgeiger/pydoc-markdown/archive/master.zip\",\n            \"mkdocs-material>=4.1.0\",\n            \"pymdown-extensions>=6.0\",\n            \"mknotebooks>=0.1.5\",\n        ],\n    },\n    classifiers=[\n        \"Development Status :: 2 - Pre-Alpha\",\n        \"Intended Audience :: Developers\",\n        \"Intended Audience :: Education\",\n        \"Intended Audience :: Science/Research\",\n        \"License :: OSI Approved :: Apache Software License\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3 :: Only\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Topic :: Scientific/Engineering\",\n        \"Topic :: Scientific/Engineering :: Mathematics\",\n        \"Topic :: Scientific/Engineering :: Artificial Intelligence\",\n        \"Topic :: Software Development\",\n        \"Topic :: Software Development :: Libraries\",\n        \"Topic :: Software Development :: Libraries :: Python Modules\",\n    ],\n)\n", "path": "setup.py"}]}