Skip to content

Commit 7e4b38b

Browse files
committed
[feat/1316] test cases fix
1 parent 38f6182 commit 7e4b38b

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

jupyter_server/prometheus/server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ def stop(self) -> None:
234234
self.http_server.stop()
235235
self.http_server = None
236236

237-
if hasattr(self, "ioloop") and self.ioloop is not None:
237+
if hasattr(self, 'ioloop') and self.ioloop:
238238
# Stop the IOLoop
239239
self.ioloop.add_callback(self.ioloop.stop)
240240
self.ioloop = None

tests/test_metrics.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,24 @@
1010
from jupyter_server.serverapp import ServerApp
1111

1212

13+
@pytest.fixture(autouse=True)
14+
def cleanup_metrics_servers():
15+
"""Ensure metrics servers are cleaned up after each test."""
16+
yield
17+
# Give any remaining threads time to clean up
18+
time.sleep(0.2)
19+
20+
1321
@pytest.fixture
1422
def metrics_server_app():
1523
"""Create a server app with metrics enabled on a specific port."""
24+
# Use a unique port for this test
25+
port = 9090
1626
# Override the environment variable for this test
17-
with patch.dict("os.environ", {"JUPYTER_SERVER_METRICS_PORT": "9090"}):
27+
with patch.dict("os.environ", {"JUPYTER_SERVER_METRICS_PORT": str(port)}):
1828
app = ServerApp()
1929
# Set the metrics_port directly as a trait
20-
app.metrics_port = 9090
30+
app.metrics_port = port
2131
app.initialize([])
2232
return app
2333

@@ -32,6 +42,8 @@ def metrics_server(metrics_server_app):
3242
# Cleanup
3343
if hasattr(server, "stop"):
3444
server.stop()
45+
# Give time for cleanup
46+
time.sleep(0.2)
3547

3648

3749
def test_metrics_server_starts(metrics_server):
@@ -86,6 +98,7 @@ def test_metrics_server_with_authentication():
8698
finally:
8799
if hasattr(server, "stop"):
88100
server.stop()
101+
time.sleep(0.2)
89102

90103

91104
def test_metrics_server_port_conflict_handling():
@@ -109,8 +122,10 @@ def test_metrics_server_port_conflict_handling():
109122
finally:
110123
if hasattr(server1, "stop"):
111124
server1.stop()
125+
time.sleep(0.2)
112126
if server2 is not None and hasattr(server2, "stop"):
113127
server2.stop()
128+
time.sleep(0.2)
114129

115130

116131
def test_metrics_server_disabled_when_port_zero():
@@ -144,6 +159,7 @@ def test_metrics_url_logging_with_separate_server():
144159
finally:
145160
if hasattr(server, "stop"):
146161
server.stop()
162+
time.sleep(0.2)
147163

148164

149165
def test_metrics_url_logging_with_main_server():

0 commit comments

Comments
 (0)