prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Write NOC test using SystemTestsCompareTwo infrastructure
  We want to convert the various system tests that compare two runs to use the SystemTestsCompareTwo infrastructure, where possible. I am opening separate issues for each such system test, so that we can check them off as we do this conversion.
  
  Currently it looks like the NOC test is essentially just an SMS test - it looks like a place-holder waiting to be filled in.
  
  </issue>
  <code>
  [start of utils/python/CIME/SystemTests/noc.py]
  1 """
  2 CIME NOC? test  This class inherits from SystemTestsCommon
  3 """
  4 from CIME.XML.standard_module_setup import *
  5 from CIME.SystemTests.system_tests_common import SystemTestsCommon
  6 
  7 logger = logging.getLogger(__name__)
  8 
  9 class NOC(SystemTestsCommon):
  10 
  11     def __init__(self, case):
  12         """
  13         initialize an object interface to the NOC system test
  14         """
  15         #expectedrunvars = ["CONTINUE_RUN", "REST_OPTION", "HIST_OPTION", "HIST_N"]
  16         SystemTestsCommon.__init__(self, case)
  17
  [end of utils/python/CIME/SystemTests/noc.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/utils/python/CIME/SystemTests/noc.py b/utils/python/CIME/SystemTests/noc.py
  deleted file mode 100644
  --- a/utils/python/CIME/SystemTests/noc.py
  +++ /dev/null
  @@ -1,16 +0,0 @@
  -"""
  -CIME NOC? test  This class inherits from SystemTestsCommon
  -"""
  -from CIME.XML.standard_module_setup import *
  -from CIME.SystemTests.system_tests_common import SystemTestsCommon
  -
  -logger = logging.getLogger(__name__)
  -
  -class NOC(SystemTestsCommon):
  -
  -    def __init__(self, case):
  -        """
  -        initialize an object interface to the NOC system test
  -        """
  -        #expectedrunvars = ["CONTINUE_RUN", "REST_OPTION", "HIST_OPTION", "HIST_N"]
  -        SystemTestsCommon.__init__(self, case)
  
verification_info: {"golden_diff": "diff --git a/utils/python/CIME/SystemTests/noc.py b/utils/python/CIME/SystemTests/noc.py\ndeleted file mode 100644\n--- a/utils/python/CIME/SystemTests/noc.py\n+++ /dev/null\n@@ -1,16 +0,0 @@\n-\"\"\"\n-CIME NOC? test  This class inherits from SystemTestsCommon\n-\"\"\"\n-from CIME.XML.standard_module_setup import *\n-from CIME.SystemTests.system_tests_common import SystemTestsCommon\n-\n-logger = logging.getLogger(__name__)\n-\n-class NOC(SystemTestsCommon):\n-\n-    def __init__(self, case):\n-        \"\"\"\n-        initialize an object interface to the NOC system test\n-        \"\"\"\n-        #expectedrunvars = [\"CONTINUE_RUN\", \"REST_OPTION\", \"HIST_OPTION\", \"HIST_N\"]\n-        SystemTestsCommon.__init__(self, case)\n", "issue": "Write NOC test using SystemTestsCompareTwo infrastructure\nWe want to convert the various system tests that compare two runs to use the SystemTestsCompareTwo infrastructure, where possible. I am opening separate issues for each such system test, so that we can check them off as we do this conversion.\n\nCurrently it looks like the NOC test is essentially just an SMS test - it looks like a place-holder waiting to be filled in.\n", "before_files": [{"content": "\"\"\"\nCIME NOC? test  This class inherits from SystemTestsCommon\n\"\"\"\nfrom CIME.XML.standard_module_setup import *\nfrom CIME.SystemTests.system_tests_common import SystemTestsCommon\n\nlogger = logging.getLogger(__name__)\n\nclass NOC(SystemTestsCommon):\n\n    def __init__(self, case):\n        \"\"\"\n        initialize an object interface to the NOC system test\n        \"\"\"\n        #expectedrunvars = [\"CONTINUE_RUN\", \"REST_OPTION\", \"HIST_OPTION\", \"HIST_N\"]\n        SystemTestsCommon.__init__(self, case)\n", "path": "utils/python/CIME/SystemTests/noc.py"}]}