prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Move system tests into a separate Kokoro build
  At the moment, we run the system tests [at the end of *every* Kokoro build](https://github.com/googleapis/google-auth-library-python/blob/da8bb13c1349e771ffc2e125256030495c53d956/.kokoro/build.sh#L57-L63).  Not only should we *not* be running them during e.g. the `docs-presubmit` build, we should also run them separately from the `unit` / `cover` / `lint` sessions, so that we parallelize the long-running systests.
  
  </issue>
  <code>
  [start of owlbot.py]
  1 import synthtool as s
  2 from synthtool import gcp
  3 
  4 common = gcp.CommonTemplates()
  5 
  6 # ----------------------------------------------------------------------------
  7 # Add templated files
  8 # ----------------------------------------------------------------------------
  9 templated_files = common.py_library(unit_cov_level=100, cov_level=100)
  10 
  11 
  12 s.move(
  13     templated_files / ".kokoro",
  14     excludes=[
  15         "continuous/common.cfg",
  16         "docs/common.cfg",
  17         "presubmit/common.cfg",
  18         "build.sh",
  19     ],
  20 )  # just move kokoro configs
  21 
  22 
  23 assert 1 == s.replace(
  24     ".kokoro/docs/docs-presubmit.cfg",
  25     'value: "docs docfx"',
  26     'value: "docs"',
  27 )
  28 
  29 assert 1 == s.replace(
  30     ".kokoro/docker/docs/Dockerfile",
  31     """\
  32 CMD \["python3\.8"\]""",
  33     """\
  34 # Install gcloud SDK
  35 RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | \\
  36     tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \\
  37   && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \\
  38     apt-key --keyring /usr/share/keyrings/cloud.google.gpg  add - \\
  39   && apt-get update -y \\
  40   && apt-get install python2 google-cloud-sdk -y
  41 
  42 CMD ["python3.8"]""",
  43 )
  44 
  45 s.shell.run(["nox", "-s", "blacken"], hide_output=False)
  46
  [end of owlbot.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/owlbot.py b/owlbot.py
  --- a/owlbot.py
  +++ b/owlbot.py
  @@ -13,7 +13,6 @@
       templated_files / ".kokoro",
       excludes=[
           "continuous/common.cfg",
  -        "docs/common.cfg",
           "presubmit/common.cfg",
           "build.sh",
       ],
  @@ -26,20 +25,4 @@
       'value: "docs"',
   )
   
  -assert 1 == s.replace(
  -    ".kokoro/docker/docs/Dockerfile",
  -    """\
  -CMD \["python3\.8"\]""",
  -    """\
  -# Install gcloud SDK
  -RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | \\
  -    tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \\
  -  && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \\
  -    apt-key --keyring /usr/share/keyrings/cloud.google.gpg  add - \\
  -  && apt-get update -y \\
  -  && apt-get install python2 google-cloud-sdk -y
  -
  -CMD ["python3.8"]""",
  -)
  -
   s.shell.run(["nox", "-s", "blacken"], hide_output=False)
  
verification_info: {"golden_diff": "diff --git a/owlbot.py b/owlbot.py\n--- a/owlbot.py\n+++ b/owlbot.py\n@@ -13,7 +13,6 @@\n     templated_files / \".kokoro\",\n     excludes=[\n         \"continuous/common.cfg\",\n-        \"docs/common.cfg\",\n         \"presubmit/common.cfg\",\n         \"build.sh\",\n     ],\n@@ -26,20 +25,4 @@\n     'value: \"docs\"',\n )\n \n-assert 1 == s.replace(\n-    \".kokoro/docker/docs/Dockerfile\",\n-    \"\"\"\\\n-CMD \\[\"python3\\.8\"\\]\"\"\",\n-    \"\"\"\\\n-# Install gcloud SDK\n-RUN echo \"deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main\" | \\\\\n-    tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \\\\\n-  && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \\\\\n-    apt-key --keyring /usr/share/keyrings/cloud.google.gpg  add - \\\\\n-  && apt-get update -y \\\\\n-  && apt-get install python2 google-cloud-sdk -y\n-\n-CMD [\"python3.8\"]\"\"\",\n-)\n-\n s.shell.run([\"nox\", \"-s\", \"blacken\"], hide_output=False)\n", "issue": "Move system tests into a separate Kokoro build\nAt the moment, we run the system tests [at the end of *every* Kokoro build](https://github.com/googleapis/google-auth-library-python/blob/da8bb13c1349e771ffc2e125256030495c53d956/.kokoro/build.sh#L57-L63).  Not only should we *not* be running them during e.g. the `docs-presubmit` build, we should also run them separately from the `unit` / `cover` / `lint` sessions, so that we parallelize the long-running systests.\n", "before_files": [{"content": "import synthtool as s\nfrom synthtool import gcp\n\ncommon = gcp.CommonTemplates()\n\n# ----------------------------------------------------------------------------\n# Add templated files\n# ----------------------------------------------------------------------------\ntemplated_files = common.py_library(unit_cov_level=100, cov_level=100)\n\n\ns.move(\n    templated_files / \".kokoro\",\n    excludes=[\n        \"continuous/common.cfg\",\n        \"docs/common.cfg\",\n        \"presubmit/common.cfg\",\n        \"build.sh\",\n    ],\n)  # just move kokoro configs\n\n\nassert 1 == s.replace(\n    \".kokoro/docs/docs-presubmit.cfg\",\n    'value: \"docs docfx\"',\n    'value: \"docs\"',\n)\n\nassert 1 == s.replace(\n    \".kokoro/docker/docs/Dockerfile\",\n    \"\"\"\\\nCMD \\[\"python3\\.8\"\\]\"\"\",\n    \"\"\"\\\n# Install gcloud SDK\nRUN echo \"deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main\" | \\\\\n    tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \\\\\n  && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \\\\\n    apt-key --keyring /usr/share/keyrings/cloud.google.gpg  add - \\\\\n  && apt-get update -y \\\\\n  && apt-get install python2 google-cloud-sdk -y\n\nCMD [\"python3.8\"]\"\"\",\n)\n\ns.shell.run([\"nox\", \"-s\", \"blacken\"], hide_output=False)\n", "path": "owlbot.py"}]}