prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  CI run to install the built package
  In light of bug #1645  we should amend our CI run to install the built package, in a new virtual env and run something simple like a redis.Redis().ping(). Eventually we could build up to running the full integration test against the package.
  CI run to install the built package
  In light of bug #1645  we should amend our CI run to install the built package, in a new virtual env and run something simple like a redis.Redis().ping(). Eventually we could build up to running the full integration test against the package.
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `tasks.py`
  Content:
  ```
  1 import os
  2 import shutil
  3 from invoke import task, run
  4 
  5 with open('tox.ini') as fp:
  6     lines = fp.read().split("\n")
  7     dockers = [line.split("=")[1].strip() for line in lines
  8                if line.find("name") != -1]
  9 
  10 
  11 @task
  12 def devenv(c):
  13     """Builds a development environment: downloads, and starts all dockers
  14     specified in the tox.ini file.
  15     """
  16     clean(c)
  17     cmd = 'tox -e devenv'
  18     for d in dockers:
  19         cmd += " --docker-dont-stop={}".format(d)
  20     run(cmd)
  21 
  22 
  23 @task
  24 def linters(c):
  25     """Run code linters"""
  26     run("tox -e linters")
  27 
  28 
  29 @task
  30 def all_tests(c):
  31     """Run all linters, and tests in redis-py. This assumes you have all
  32     the python versions specified in the tox.ini file.
  33     """
  34     linters(c)
  35     tests(c)
  36 
  37 
  38 @task
  39 def tests(c):
  40     """Run the redis-py test suite against the current python,
  41     with and without hiredis.
  42     """
  43     run("tox -e plain -e hiredis")
  44 
  45 
  46 @task
  47 def clean(c):
  48     """Stop all dockers, and clean up the built binaries, if generated."""
  49     if os.path.isdir("build"):
  50         shutil.rmtree("build")
  51     if os.path.isdir("dist"):
  52         shutil.rmtree("dist")
  53     run("docker rm -f {}".format(' '.join(dockers)))
  54 
  55 
  56 @task
  57 def package(c):
  58     """Create the python packages"""
  59     run("python setup.py build install")
  60
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/tasks.py b/tasks.py
  --- a/tasks.py
  +++ b/tasks.py
  @@ -56,4 +56,4 @@
   @task
   def package(c):
       """Create the python packages"""
  -    run("python setup.py build install")
  +    run("python setup.py sdist bdist_wheel")
  
verification_info: {"golden_diff": "diff --git a/tasks.py b/tasks.py\n--- a/tasks.py\n+++ b/tasks.py\n@@ -56,4 +56,4 @@\n @task\n def package(c):\n     \"\"\"Create the python packages\"\"\"\n-    run(\"python setup.py build install\")\n+    run(\"python setup.py sdist bdist_wheel\")\n", "issue": "CI run to install the built package\nIn light of bug #1645  we should amend our CI run to install the built package, in a new virtual env and run something simple like a redis.Redis().ping(). Eventually we could build up to running the full integration test against the package.\nCI run to install the built package\nIn light of bug #1645  we should amend our CI run to install the built package, in a new virtual env and run something simple like a redis.Redis().ping(). Eventually we could build up to running the full integration test against the package.\n", "before_files": [{"content": "import os\nimport shutil\nfrom invoke import task, run\n\nwith open('tox.ini') as fp:\n    lines = fp.read().split(\"\\n\")\n    dockers = [line.split(\"=\")[1].strip() for line in lines\n               if line.find(\"name\") != -1]\n\n\n@task\ndef devenv(c):\n    \"\"\"Builds a development environment: downloads, and starts all dockers\n    specified in the tox.ini file.\n    \"\"\"\n    clean(c)\n    cmd = 'tox -e devenv'\n    for d in dockers:\n        cmd += \" --docker-dont-stop={}\".format(d)\n    run(cmd)\n\n\n@task\ndef linters(c):\n    \"\"\"Run code linters\"\"\"\n    run(\"tox -e linters\")\n\n\n@task\ndef all_tests(c):\n    \"\"\"Run all linters, and tests in redis-py. This assumes you have all\n    the python versions specified in the tox.ini file.\n    \"\"\"\n    linters(c)\n    tests(c)\n\n\n@task\ndef tests(c):\n    \"\"\"Run the redis-py test suite against the current python,\n    with and without hiredis.\n    \"\"\"\n    run(\"tox -e plain -e hiredis\")\n\n\n@task\ndef clean(c):\n    \"\"\"Stop all dockers, and clean up the built binaries, if generated.\"\"\"\n    if os.path.isdir(\"build\"):\n        shutil.rmtree(\"build\")\n    if os.path.isdir(\"dist\"):\n        shutil.rmtree(\"dist\")\n    run(\"docker rm -f {}\".format(' '.join(dockers)))\n\n\n@task\ndef package(c):\n    \"\"\"Create the python packages\"\"\"\n    run(\"python setup.py build install\")\n", "path": "tasks.py"}], "after_files": [{"content": "import os\nimport shutil\nfrom invoke import task, run\n\nwith open('tox.ini') as fp:\n    lines = fp.read().split(\"\\n\")\n    dockers = [line.split(\"=\")[1].strip() for line in lines\n               if line.find(\"name\") != -1]\n\n\n@task\ndef devenv(c):\n    \"\"\"Builds a development environment: downloads, and starts all dockers\n    specified in the tox.ini file.\n    \"\"\"\n    clean(c)\n    cmd = 'tox -e devenv'\n    for d in dockers:\n        cmd += \" --docker-dont-stop={}\".format(d)\n    run(cmd)\n\n\n@task\ndef linters(c):\n    \"\"\"Run code linters\"\"\"\n    run(\"tox -e linters\")\n\n\n@task\ndef all_tests(c):\n    \"\"\"Run all linters, and tests in redis-py. This assumes you have all\n    the python versions specified in the tox.ini file.\n    \"\"\"\n    linters(c)\n    tests(c)\n\n\n@task\ndef tests(c):\n    \"\"\"Run the redis-py test suite against the current python,\n    with and without hiredis.\n    \"\"\"\n    run(\"tox -e plain -e hiredis\")\n\n\n@task\ndef clean(c):\n    \"\"\"Stop all dockers, and clean up the built binaries, if generated.\"\"\"\n    if os.path.isdir(\"build\"):\n        shutil.rmtree(\"build\")\n    if os.path.isdir(\"dist\"):\n        shutil.rmtree(\"dist\")\n    run(\"docker rm -f {}\".format(' '.join(dockers)))\n\n\n@task\ndef package(c):\n    \"\"\"Create the python packages\"\"\"\n    run(\"python setup.py sdist bdist_wheel\")\n", "path": "tasks.py"}]}