We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Backend test flake: Incomplete coverage of create_topological_sort_of_all_services
Example: https://github.com/oppia/oppia/actions/runs/3521701249/jobs/5903838607#step:8:1749

Log:

```
INCOMPLETE COVERAGE (99.0%): scripts.create_topological_sort_of_all_services_test
Name                                                 Stmts   Miss Branch BrPart  Cover   Missing
------------------------------------------------------------------------------------------------
scripts/create_topological_sort_of_all_services.py      72      0     40      1    99%   139->138
------------------------------------------------------------------------------------------------
TOTAL                                                   72      0     40      1    99%
```

The topological sort script produces a different order each time, so I suspect that this non-determinism is at the root of this flake. From the code it doesn't look like we actually take advantage of any of the set's special properties, so we could just swap it out for a list:

https://github.com/oppia/oppia/blob/09adf9fd37f1c93564515fc736fb9c657b645dda/scripts/create_topological_sort_of_all_services.py#L73
Backend test flake: Incomplete coverage of create_topological_sort_of_all_services
Example: https://github.com/oppia/oppia/actions/runs/3521701249/jobs/5903838607#step:8:1749

Log:

```
INCOMPLETE COVERAGE (99.0%): scripts.create_topological_sort_of_all_services_test
Name                                                 Stmts   Miss Branch BrPart  Cover   Missing
------------------------------------------------------------------------------------------------
scripts/create_topological_sort_of_all_services.py      72      0     40      1    99%   139->138
------------------------------------------------------------------------------------------------
TOTAL                                                   72      0     40      1    99%
```

The topological sort script produces a different order each time, so I suspect that this non-determinism is at the root of this flake. From the code it doesn't look like we actually take advantage of any of the set's special properties, so we could just swap it out for a list:

https://github.com/oppia/oppia/blob/09adf9fd37f1c93564515fc736fb9c657b645dda/scripts/create_topological_sort_of_all_services.py#L73

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `scripts/create_topological_sort_of_all_services.py`
Content:
```
1 # coding: utf-8
2 #
3 # Copyright 2019 The Oppia Authors. All Rights Reserved.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #      http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS-IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 
17 """This script generates topological sort of all the services based on how
18 services are dependent on each other.
19 """
20 
21 from __future__ import annotations
22 
23 import collections
24 import os
25 
26 from core import utils
27 
28 import esprima
29 from typing import Dict, List, Set, Tuple
30 
31 
32 DIRECTORY_NAMES = ['core/templates', 'extensions']
33 SERVICE_FILES_SUFFICES = ('.service.ts', 'Service.ts', 'Factory.ts')
34 
35 
36 def dfs(
37     node: str,
38     topo_sort_stack: List[str],
39     adj_list: Dict[str, List[str]],
40     visit_stack: List[str]
41 ) -> None:
42     """Depth First Search starting with node.
43 
44     Args:
45         node: str. The service name from which dfs will begin.
46         topo_sort_stack: list(str). Stores topological sort of services
47             in reveresed way.
48         adj_list: dict. Adjacency list of the graph formed with services
49             as nodes and dependencies as edges.
50         visit_stack: list(str). Keeps track of visited and unvisited nodes.
51     """
52     visit_stack.append(node)
53     for pt in adj_list[node]:
54         if pt not in visit_stack:
55             dfs(pt, topo_sort_stack, adj_list, visit_stack)
56     topo_sort_stack.append(node)
57 
58 
59 def make_graph() -> Tuple[Dict[str, List[str]], Set[str]]:
60     """Creates an adjaceny list considering services as node and dependencies
61     as edges.
62 
63     Returns:
64         tuple(dict, set(str)). Adjancency list of the graph formed with
65         services as nodes and dependencies as edges, set of all the services.
66     """
67     adj_list = collections.defaultdict(list)
68     nodes_set = set()
69     for dirname in DIRECTORY_NAMES:
70         for root, _, filenames in os.walk(dirname):
71             for filename in filenames:
72                 if filename.endswith(SERVICE_FILES_SUFFICES):
73                     nodes_set.add(filename)
74                     filepath = os.path.join(root, filename)
75                     with utils.open_file(filepath, 'r') as f:
76                         file_lines = f.readlines()
77 
78                     dep_lines = ''
79                     index = 0
80 
81                     while index < len(file_lines):
82                         line = file_lines[index]
83                         if line.startswith('require'):
84                             while not line.endswith(';\n'):
85                                 dep_lines = dep_lines + line
86                                 index += 1
87                                 line = file_lines[index]
88                             dep_lines = dep_lines + line
89                             index += 1
90                         elif line.startswith('import'):
91                             while not line.endswith(';\n'):
92                                 index += 1
93                                 line = file_lines[index]
94                                 if '\'' in line:
95                                     break
96 
97                             dep_lines = dep_lines + (
98                                 'require (' + line[
99                                     line.find('\''):line.rfind('\'') + 1
100                                     ] + ');\n')
101                             index += 1
102                         else:
103                             index += 1
104 
105                     parsed_script = esprima.parseScript(dep_lines, comment=True)
106                     parsed_nodes = parsed_script.body
107                     for parsed_node in parsed_nodes:
108                         # We make sure that 'dep_lines' contains only the
109                         # expressions beginning with the 'require' keyword.
110                         # Hence the below assert statements always hold.
111                         assert parsed_node.type == 'ExpressionStatement'
112                         assert parsed_node.expression.callee.name == (
113                             'require')
114                         arguments = parsed_node.expression.arguments
115                         for argument in arguments:
116                             dep_path = argument.value
117                             if argument.operator == '+':
118                                 dep_path = (
119                                     argument.left.value +
120                                     argument.right.value)
121                             if not dep_path.endswith('.ts'):
122                                 dep_path = dep_path + '.ts'
123                             if dep_path.endswith(SERVICE_FILES_SUFFICES):
124                                 dep_name = os.path.basename(dep_path)
125                                 adj_list[dep_name].append(filename)
126 
127     return (adj_list, nodes_set)
128 
129 
130 def main() -> None:
131     """Prints the topological order of the services based on the
132     dependencies.
133     """
134     adj_list, nodes_set = make_graph()
135     visit_stack: List[str] = []
136     topo_sort_stack: List[str] = []
137 
138     for unchecked_node in nodes_set:
139         if unchecked_node not in visit_stack:
140             dfs(unchecked_node, topo_sort_stack, adj_list, visit_stack)
141 
142     topo_sort_stack.reverse()
143     for service in topo_sort_stack:
144         print(service)
145 
146 
147 # The 'no coverage' pragma is used as this line is un-testable. This is because
148 # it will only be called when create_topological_sort_of_all_services.py
149 # is used as a script.
150 if __name__ == '__main__':  # pragma: no cover
151     main()
152
```
--- 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()

```

diff --git a/scripts/create_topological_sort_of_all_services.py b/scripts/create_topological_sort_of_all_services.py
--- a/scripts/create_topological_sort_of_all_services.py
+++ b/scripts/create_topological_sort_of_all_services.py
@@ -26,7 +26,7 @@
 from core import utils
 
 import esprima
-from typing import Dict, List, Set, Tuple
+from typing import Dict, List, Tuple
 
 
 DIRECTORY_NAMES = ['core/templates', 'extensions']
@@ -56,21 +56,21 @@
     topo_sort_stack.append(node)
 
 
-def make_graph() -> Tuple[Dict[str, List[str]], Set[str]]:
+def make_graph() -> Tuple[Dict[str, List[str]], List[str]]:
     """Creates an adjaceny list considering services as node and dependencies
     as edges.
 
     Returns:
-        tuple(dict, set(str)). Adjancency list of the graph formed with
-        services as nodes and dependencies as edges, set of all the services.
+        tuple(dict, list(str)). Adjancency list of the graph formed with
+        services as nodes and dependencies as edges, list of all the services.
     """
     adj_list = collections.defaultdict(list)
-    nodes_set = set()
+    nodes_list = []
     for dirname in DIRECTORY_NAMES:
         for root, _, filenames in os.walk(dirname):
             for filename in filenames:
                 if filename.endswith(SERVICE_FILES_SUFFICES):
-                    nodes_set.add(filename)
+                    nodes_list.append(filename)
                     filepath = os.path.join(root, filename)
                     with utils.open_file(filepath, 'r') as f:
                         file_lines = f.readlines()
@@ -124,18 +124,18 @@
                                 dep_name = os.path.basename(dep_path)
                                 adj_list[dep_name].append(filename)
 
-    return (adj_list, nodes_set)
+    return (adj_list, nodes_list)
 
 
 def main() -> None:
     """Prints the topological order of the services based on the
     dependencies.
     """
-    adj_list, nodes_set = make_graph()
+    adj_list, nodes_list = make_graph()
     visit_stack: List[str] = []
     topo_sort_stack: List[str] = []
 
-    for unchecked_node in nodes_set:
+    for unchecked_node in nodes_list:
         if unchecked_node not in visit_stack:
             dfs(unchecked_node, topo_sort_stack, adj_list, visit_stack)

{"golden_diff": "diff --git a/scripts/create_topological_sort_of_all_services.py b/scripts/create_topological_sort_of_all_services.py\n--- a/scripts/create_topological_sort_of_all_services.py\n+++ b/scripts/create_topological_sort_of_all_services.py\n@@ -26,7 +26,7 @@\n from core import utils\n \n import esprima\n-from typing import Dict, List, Set, Tuple\n+from typing import Dict, List, Tuple\n \n \n DIRECTORY_NAMES = ['core/templates', 'extensions']\n@@ -56,21 +56,21 @@\n     topo_sort_stack.append(node)\n \n \n-def make_graph() -> Tuple[Dict[str, List[str]], Set[str]]:\n+def make_graph() -> Tuple[Dict[str, List[str]], List[str]]:\n     \"\"\"Creates an adjaceny list considering services as node and dependencies\n     as edges.\n \n     Returns:\n-        tuple(dict, set(str)). Adjancency list of the graph formed with\n-        services as nodes and dependencies as edges, set of all the services.\n+        tuple(dict, list(str)). Adjancency list of the graph formed with\n+        services as nodes and dependencies as edges, list of all the services.\n     \"\"\"\n     adj_list = collections.defaultdict(list)\n-    nodes_set = set()\n+    nodes_list = []\n     for dirname in DIRECTORY_NAMES:\n         for root, _, filenames in os.walk(dirname):\n             for filename in filenames:\n                 if filename.endswith(SERVICE_FILES_SUFFICES):\n-                    nodes_set.add(filename)\n+                    nodes_list.append(filename)\n                     filepath = os.path.join(root, filename)\n                     with utils.open_file(filepath, 'r') as f:\n                         file_lines = f.readlines()\n@@ -124,18 +124,18 @@\n                                 dep_name = os.path.basename(dep_path)\n                                 adj_list[dep_name].append(filename)\n \n-    return (adj_list, nodes_set)\n+    return (adj_list, nodes_list)\n \n \n def main() -> None:\n     \"\"\"Prints the topological order of the services based on the\n     dependencies.\n     \"\"\"\n-    adj_list, nodes_set = make_graph()\n+    adj_list, nodes_list = make_graph()\n     visit_stack: List[str] = []\n     topo_sort_stack: List[str] = []\n \n-    for unchecked_node in nodes_set:\n+    for unchecked_node in nodes_list:\n         if unchecked_node not in visit_stack:\n             dfs(unchecked_node, topo_sort_stack, adj_list, visit_stack)\n", "issue": "Backend test flake: Incomplete coverage of create_topological_sort_of_all_services\nExample: https://github.com/oppia/oppia/actions/runs/3521701249/jobs/5903838607#step:8:1749\n\nLog:\n\n```\nINCOMPLETE COVERAGE (99.0%): scripts.create_topological_sort_of_all_services_test\nName                                                 Stmts   Miss Branch BrPart  Cover   Missing\n------------------------------------------------------------------------------------------------\nscripts/create_topological_sort_of_all_services.py      72      0     40      1    99%   139->138\n------------------------------------------------------------------------------------------------\nTOTAL                                                   72      0     40      1    99%\n```\n\nThe topological sort script produces a different order each time, so I suspect that this non-determinism is at the root of this flake. From the code it doesn't look like we actually take advantage of any of the set's special properties, so we could just swap it out for a list:\n\nhttps://github.com/oppia/oppia/blob/09adf9fd37f1c93564515fc736fb9c657b645dda/scripts/create_topological_sort_of_all_services.py#L73\nBackend test flake: Incomplete coverage of create_topological_sort_of_all_services\nExample: https://github.com/oppia/oppia/actions/runs/3521701249/jobs/5903838607#step:8:1749\n\nLog:\n\n```\nINCOMPLETE COVERAGE (99.0%): scripts.create_topological_sort_of_all_services_test\nName                                                 Stmts   Miss Branch BrPart  Cover   Missing\n------------------------------------------------------------------------------------------------\nscripts/create_topological_sort_of_all_services.py      72      0     40      1    99%   139->138\n------------------------------------------------------------------------------------------------\nTOTAL                                                   72      0     40      1    99%\n```\n\nThe topological sort script produces a different order each time, so I suspect that this non-determinism is at the root of this flake. From the code it doesn't look like we actually take advantage of any of the set's special properties, so we could just swap it out for a list:\n\nhttps://github.com/oppia/oppia/blob/09adf9fd37f1c93564515fc736fb9c657b645dda/scripts/create_topological_sort_of_all_services.py#L73\n", "before_files": [{"content": "# coding: utf-8\n#\n# Copyright 2019 The Oppia Authors. All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS-IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"This script generates topological sort of all the services based on how\nservices are dependent on each other.\n\"\"\"\n\nfrom __future__ import annotations\n\nimport collections\nimport os\n\nfrom core import utils\n\nimport esprima\nfrom typing import Dict, List, Set, Tuple\n\n\nDIRECTORY_NAMES = ['core/templates', 'extensions']\nSERVICE_FILES_SUFFICES = ('.service.ts', 'Service.ts', 'Factory.ts')\n\n\ndef dfs(\n    node: str,\n    topo_sort_stack: List[str],\n    adj_list: Dict[str, List[str]],\n    visit_stack: List[str]\n) -> None:\n    \"\"\"Depth First Search starting with node.\n\n    Args:\n        node: str. The service name from which dfs will begin.\n        topo_sort_stack: list(str). Stores topological sort of services\n            in reveresed way.\n        adj_list: dict. Adjacency list of the graph formed with services\n            as nodes and dependencies as edges.\n        visit_stack: list(str). Keeps track of visited and unvisited nodes.\n    \"\"\"\n    visit_stack.append(node)\n    for pt in adj_list[node]:\n        if pt not in visit_stack:\n            dfs(pt, topo_sort_stack, adj_list, visit_stack)\n    topo_sort_stack.append(node)\n\n\ndef make_graph() -> Tuple[Dict[str, List[str]], Set[str]]:\n    \"\"\"Creates an adjaceny list considering services as node and dependencies\n    as edges.\n\n    Returns:\n        tuple(dict, set(str)). Adjancency list of the graph formed with\n        services as nodes and dependencies as edges, set of all the services.\n    \"\"\"\n    adj_list = collections.defaultdict(list)\n    nodes_set = set()\n    for dirname in DIRECTORY_NAMES:\n        for root, _, filenames in os.walk(dirname):\n            for filename in filenames:\n                if filename.endswith(SERVICE_FILES_SUFFICES):\n                    nodes_set.add(filename)\n                    filepath = os.path.join(root, filename)\n                    with utils.open_file(filepath, 'r') as f:\n                        file_lines = f.readlines()\n\n                    dep_lines = ''\n                    index = 0\n\n                    while index < len(file_lines):\n                        line = file_lines[index]\n                        if line.startswith('require'):\n                            while not line.endswith(';\\n'):\n                                dep_lines = dep_lines + line\n                                index += 1\n                                line = file_lines[index]\n                            dep_lines = dep_lines + line\n                            index += 1\n                        elif line.startswith('import'):\n                            while not line.endswith(';\\n'):\n                                index += 1\n                                line = file_lines[index]\n                                if '\\'' in line:\n                                    break\n\n                            dep_lines = dep_lines + (\n                                'require (' + line[\n                                    line.find('\\''):line.rfind('\\'') + 1\n                                    ] + ');\\n')\n                            index += 1\n                        else:\n                            index += 1\n\n                    parsed_script = esprima.parseScript(dep_lines, comment=True)\n                    parsed_nodes = parsed_script.body\n                    for parsed_node in parsed_nodes:\n                        # We make sure that 'dep_lines' contains only the\n                        # expressions beginning with the 'require' keyword.\n                        # Hence the below assert statements always hold.\n                        assert parsed_node.type == 'ExpressionStatement'\n                        assert parsed_node.expression.callee.name == (\n                            'require')\n                        arguments = parsed_node.expression.arguments\n                        for argument in arguments:\n                            dep_path = argument.value\n                            if argument.operator == '+':\n                                dep_path = (\n                                    argument.left.value +\n                                    argument.right.value)\n                            if not dep_path.endswith('.ts'):\n                                dep_path = dep_path + '.ts'\n                            if dep_path.endswith(SERVICE_FILES_SUFFICES):\n                                dep_name = os.path.basename(dep_path)\n                                adj_list[dep_name].append(filename)\n\n    return (adj_list, nodes_set)\n\n\ndef main() -> None:\n    \"\"\"Prints the topological order of the services based on the\n    dependencies.\n    \"\"\"\n    adj_list, nodes_set = make_graph()\n    visit_stack: List[str] = []\n    topo_sort_stack: List[str] = []\n\n    for unchecked_node in nodes_set:\n        if unchecked_node not in visit_stack:\n            dfs(unchecked_node, topo_sort_stack, adj_list, visit_stack)\n\n    topo_sort_stack.reverse()\n    for service in topo_sort_stack:\n        print(service)\n\n\n# The 'no coverage' pragma is used as this line is un-testable. This is because\n# it will only be called when create_topological_sort_of_all_services.py\n# is used as a script.\nif __name__ == '__main__':  # pragma: no cover\n    main()\n", "path": "scripts/create_topological_sort_of_all_services.py"}], "after_files": [{"content": "# coding: utf-8\n#\n# Copyright 2019 The Oppia Authors. All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS-IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n\"\"\"This script generates topological sort of all the services based on how\nservices are dependent on each other.\n\"\"\"\n\nfrom __future__ import annotations\n\nimport collections\nimport os\n\nfrom core import utils\n\nimport esprima\nfrom typing import Dict, List, Tuple\n\n\nDIRECTORY_NAMES = ['core/templates', 'extensions']\nSERVICE_FILES_SUFFICES = ('.service.ts', 'Service.ts', 'Factory.ts')\n\n\ndef dfs(\n    node: str,\n    topo_sort_stack: List[str],\n    adj_list: Dict[str, List[str]],\n    visit_stack: List[str]\n) -> None:\n    \"\"\"Depth First Search starting with node.\n\n    Args:\n        node: str. The service name from which dfs will begin.\n        topo_sort_stack: list(str). Stores topological sort of services\n            in reveresed way.\n        adj_list: dict. Adjacency list of the graph formed with services\n            as nodes and dependencies as edges.\n        visit_stack: list(str). Keeps track of visited and unvisited nodes.\n    \"\"\"\n    visit_stack.append(node)\n    for pt in adj_list[node]:\n        if pt not in visit_stack:\n            dfs(pt, topo_sort_stack, adj_list, visit_stack)\n    topo_sort_stack.append(node)\n\n\ndef make_graph() -> Tuple[Dict[str, List[str]], List[str]]:\n    \"\"\"Creates an adjaceny list considering services as node and dependencies\n    as edges.\n\n    Returns:\n        tuple(dict, list(str)). Adjancency list of the graph formed with\n        services as nodes and dependencies as edges, list of all the services.\n    \"\"\"\n    adj_list = collections.defaultdict(list)\n    nodes_list = []\n    for dirname in DIRECTORY_NAMES:\n        for root, _, filenames in os.walk(dirname):\n            for filename in filenames:\n                if filename.endswith(SERVICE_FILES_SUFFICES):\n                    nodes_list.append(filename)\n                    filepath = os.path.join(root, filename)\n                    with utils.open_file(filepath, 'r') as f:\n                        file_lines = f.readlines()\n\n                    dep_lines = ''\n                    index = 0\n\n                    while index < len(file_lines):\n                        line = file_lines[index]\n                        if line.startswith('require'):\n                            while not line.endswith(';\\n'):\n                                dep_lines = dep_lines + line\n                                index += 1\n                                line = file_lines[index]\n                            dep_lines = dep_lines + line\n                            index += 1\n                        elif line.startswith('import'):\n                            while not line.endswith(';\\n'):\n                                index += 1\n                                line = file_lines[index]\n                                if '\\'' in line:\n                                    break\n\n                            dep_lines = dep_lines + (\n                                'require (' + line[\n                                    line.find('\\''):line.rfind('\\'') + 1\n                                    ] + ');\\n')\n                            index += 1\n                        else:\n                            index += 1\n\n                    parsed_script = esprima.parseScript(dep_lines, comment=True)\n                    parsed_nodes = parsed_script.body\n                    for parsed_node in parsed_nodes:\n                        # We make sure that 'dep_lines' contains only the\n                        # expressions beginning with the 'require' keyword.\n                        # Hence the below assert statements always hold.\n                        assert parsed_node.type == 'ExpressionStatement'\n                        assert parsed_node.expression.callee.name == (\n                            'require')\n                        arguments = parsed_node.expression.arguments\n                        for argument in arguments:\n                            dep_path = argument.value\n                            if argument.operator == '+':\n                                dep_path = (\n                                    argument.left.value +\n                                    argument.right.value)\n                            if not dep_path.endswith('.ts'):\n                                dep_path = dep_path + '.ts'\n                            if dep_path.endswith(SERVICE_FILES_SUFFICES):\n                                dep_name = os.path.basename(dep_path)\n                                adj_list[dep_name].append(filename)\n\n    return (adj_list, nodes_list)\n\n\ndef main() -> None:\n    \"\"\"Prints the topological order of the services based on the\n    dependencies.\n    \"\"\"\n    adj_list, nodes_list = make_graph()\n    visit_stack: List[str] = []\n    topo_sort_stack: List[str] = []\n\n    for unchecked_node in nodes_list:\n        if unchecked_node not in visit_stack:\n            dfs(unchecked_node, topo_sort_stack, adj_list, visit_stack)\n\n    topo_sort_stack.reverse()\n    for service in topo_sort_stack:\n        print(service)\n\n\n# The 'no coverage' pragma is used as this line is un-testable. This is because\n# it will only be called when create_topological_sort_of_all_services.py\n# is used as a script.\nif __name__ == '__main__':  # pragma: no cover\n    main()\n", "path": "scripts/create_topological_sort_of_all_services.py"}]}