prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  [BUG] Development guide missing `test` argument for conda install and pytest install failure on windows
  ### Missing `test` argument
  
  The current [developement guide](https://bokeh.pydata.org/en/latest/docs/dev_guide/setup.html#conda-packages) is missing the `test` argument for windows setups. 
  
  As for OSX / Linux (bash / sh), it is: 
  - ```conda install `python scripts/deps.py build run test```.
  
  As for windows, the `test` argument is missing for the `deps.py`:
  - ```conda install $(python scripts/deps.py build run).split() | where {$_}```
  - ```for /F "delims=" %i in ('python scripts\deps.py build run') do (conda install %i)```
  
  Instead, it should be:
  - ```conda install $(python scripts/deps.py build run test).split() | where {$_}```
  - ```for /F "delims=" %i in ('python scripts\deps.py build run test') do (conda install %i)```
  
  ### `pytest<5.0.0` fails
  In addition, running ```for /F "delims=" %i in ('python scripts\deps.py build run test') do (conda install %i)``` fails with error `System can't find given file.` which is due to `pytest<5.0.0`. Providing double quotes actually fixes the issue -> `conda install "pytest<5.0.0"`.
  
  </issue>
  <code>
  [start of scripts/deps.py]
  1 import sys
  2 import jinja2
  3 import yaml
  4 
  5 
  6 def load_setup_py_data():
  7     import os
  8     import setuptools
  9     os.environ['CONDA_BUILD_STATE'] = 'RENDER'
  10     data = {}
  11 
  12     def _setup(**kw): data.update(kw)
  13     setuptools.setup = _setup
  14     return data
  15 
  16 meta_src = jinja2.Template(open("conda.recipe/meta.yaml").read())
  17 meta_src = yaml.load(meta_src.render(load_setup_py_data=load_setup_py_data),
  18                      Loader=yaml.FullLoader)
  19 
  20 section = {
  21     "build"  : meta_src["requirements"]["build"],
  22     "deploy" : meta_src["extra"]["deploy"],
  23     "run"    : meta_src["requirements"]["run"],
  24     "test"   : meta_src["test"]["requires"],
  25 }
  26 
  27 spec = []
  28 for name in sys.argv[1:]:
  29     spec += section[name]
  30 
  31 # bare python unpins python version causing upgrade to latest
  32 if 'python' in spec: spec.remove('python')
  33 
  34 deps = ""
  35 deps += " ".join(s for s in spec)
  36 deps = deps.replace(' >=', '>=')  # conda syntax doesn't allow spaces b/w pkg name and version spec
  37 deps = deps.replace(' <', '<')
  38 deps = deps.replace(' [unix]', ' ')
  39 
  40 print(deps)
  41
  [end of scripts/deps.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/scripts/deps.py b/scripts/deps.py
  --- a/scripts/deps.py
  +++ b/scripts/deps.py
  @@ -1,4 +1,5 @@
   import sys
  +import platform
   import jinja2
   import yaml
   
  @@ -31,6 +32,10 @@
   # bare python unpins python version causing upgrade to latest
   if 'python' in spec: spec.remove('python')
   
  +# add double quotes to specs for windows, fixes #9065
  +if "windows" in platform.platform().lower():
  +    spec = ['"{}"'.format(s) for s in spec]
  +
   deps = ""
   deps += " ".join(s for s in spec)
   deps = deps.replace(' >=', '>=')  # conda syntax doesn't allow spaces b/w pkg name and version spec
  
verification_info: {"golden_diff": "diff --git a/scripts/deps.py b/scripts/deps.py\n--- a/scripts/deps.py\n+++ b/scripts/deps.py\n@@ -1,4 +1,5 @@\n import sys\n+import platform\n import jinja2\n import yaml\n \n@@ -31,6 +32,10 @@\n # bare python unpins python version causing upgrade to latest\n if 'python' in spec: spec.remove('python')\n \n+# add double quotes to specs for windows, fixes #9065\n+if \"windows\" in platform.platform().lower():\n+    spec = ['\"{}\"'.format(s) for s in spec]\n+\n deps = \"\"\n deps += \" \".join(s for s in spec)\n deps = deps.replace(' >=', '>=')  # conda syntax doesn't allow spaces b/w pkg name and version spec\n", "issue": "[BUG] Development guide missing `test` argument for conda install and pytest install failure on windows\n### Missing `test` argument\r\n\r\nThe current [developement guide](https://bokeh.pydata.org/en/latest/docs/dev_guide/setup.html#conda-packages) is missing the `test` argument for windows setups. \r\n\r\nAs for OSX / Linux (bash / sh), it is: \r\n- ```conda install `python scripts/deps.py build run test```.\r\n\r\nAs for windows, the `test` argument is missing for the `deps.py`:\r\n- ```conda install $(python scripts/deps.py build run).split() | where {$_}```\r\n- ```for /F \"delims=\" %i in ('python scripts\\deps.py build run') do (conda install %i)```\r\n\r\nInstead, it should be:\r\n- ```conda install $(python scripts/deps.py build run test).split() | where {$_}```\r\n- ```for /F \"delims=\" %i in ('python scripts\\deps.py build run test') do (conda install %i)```\r\n\r\n### `pytest<5.0.0` fails\r\nIn addition, running ```for /F \"delims=\" %i in ('python scripts\\deps.py build run test') do (conda install %i)``` fails with error `System can't find given file.` which is due to `pytest<5.0.0`. Providing double quotes actually fixes the issue -> `conda install \"pytest<5.0.0\"`.\n", "before_files": [{"content": "import sys\nimport jinja2\nimport yaml\n\n\ndef load_setup_py_data():\n    import os\n    import setuptools\n    os.environ['CONDA_BUILD_STATE'] = 'RENDER'\n    data = {}\n\n    def _setup(**kw): data.update(kw)\n    setuptools.setup = _setup\n    return data\n\nmeta_src = jinja2.Template(open(\"conda.recipe/meta.yaml\").read())\nmeta_src = yaml.load(meta_src.render(load_setup_py_data=load_setup_py_data),\n                     Loader=yaml.FullLoader)\n\nsection = {\n    \"build\"  : meta_src[\"requirements\"][\"build\"],\n    \"deploy\" : meta_src[\"extra\"][\"deploy\"],\n    \"run\"    : meta_src[\"requirements\"][\"run\"],\n    \"test\"   : meta_src[\"test\"][\"requires\"],\n}\n\nspec = []\nfor name in sys.argv[1:]:\n    spec += section[name]\n\n# bare python unpins python version causing upgrade to latest\nif 'python' in spec: spec.remove('python')\n\ndeps = \"\"\ndeps += \" \".join(s for s in spec)\ndeps = deps.replace(' >=', '>=')  # conda syntax doesn't allow spaces b/w pkg name and version spec\ndeps = deps.replace(' <', '<')\ndeps = deps.replace(' [unix]', ' ')\n\nprint(deps)\n", "path": "scripts/deps.py"}]}