Fix build error
Browse files- app.py +12 -1
- tests/test_app_startup.py +18 -0
app.py
CHANGED
|
@@ -246,7 +246,18 @@ def _choose_server_port(preferred: int = 7860, attempts: int = 10) -> int:
|
|
| 246 |
)
|
| 247 |
|
| 248 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 249 |
if __name__ == "__main__":
|
| 250 |
server_port = _choose_server_port()
|
| 251 |
print(f"Starting {APP_TITLE} on port {server_port}")
|
| 252 |
-
|
|
|
|
| 246 |
)
|
| 247 |
|
| 248 |
|
| 249 |
+
def _launch_app(server_port: int) -> None:
|
| 250 |
+
demo.launch(
|
| 251 |
+
_app=app,
|
| 252 |
+
server_name="0.0.0.0",
|
| 253 |
+
server_port=server_port,
|
| 254 |
+
# This app serves its own frontend and uses Gradio for the API layer only.
|
| 255 |
+
# SSR adds a Node proxy that is unnecessary here and has been noisy in Spaces.
|
| 256 |
+
ssr_mode=False,
|
| 257 |
+
)
|
| 258 |
+
|
| 259 |
+
|
| 260 |
if __name__ == "__main__":
|
| 261 |
server_port = _choose_server_port()
|
| 262 |
print(f"Starting {APP_TITLE} on port {server_port}")
|
| 263 |
+
_launch_app(server_port)
|
tests/test_app_startup.py
CHANGED
|
@@ -13,3 +13,21 @@ def test_app_module_exposes_top_level_server_demo() -> None:
|
|
| 13 |
assert hasattr(module, "demo")
|
| 14 |
assert isinstance(module.demo, gr.Blocks)
|
| 15 |
assert module.demo.mode == "server"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
assert hasattr(module, "demo")
|
| 14 |
assert isinstance(module.demo, gr.Blocks)
|
| 15 |
assert module.demo.mode == "server"
|
| 16 |
+
|
| 17 |
+
|
| 18 |
+
def test_launch_app_disables_ssr_for_custom_server_mode(monkeypatch) -> None:
|
| 19 |
+
sys.modules.pop("app", None)
|
| 20 |
+
module = importlib.import_module("app")
|
| 21 |
+
captured = {}
|
| 22 |
+
|
| 23 |
+
def fake_launch(**kwargs):
|
| 24 |
+
captured.update(kwargs)
|
| 25 |
+
|
| 26 |
+
monkeypatch.setattr(module.demo, "launch", fake_launch)
|
| 27 |
+
|
| 28 |
+
module._launch_app(7860)
|
| 29 |
+
|
| 30 |
+
assert captured["server_name"] == "0.0.0.0"
|
| 31 |
+
assert captured["server_port"] == 7860
|
| 32 |
+
assert captured["ssr_mode"] is False
|
| 33 |
+
assert captured["_app"] is module.app
|