2
from pathlib import Path
9
from gradio.cli.commands.reload import _setup_config
10
from gradio.networking import Server
14
with gr.Blocks() as demo:
29
@pytest.fixture(autouse=True)
31
return ["demo/calculator/run.py"]
34
def config(self, monkeypatch, argv) -> Config:
35
monkeypatch.setattr("sys.argv", ["gradio"] + argv)
36
name = argv[1].replace("--demo-name", "").strip() if len(argv) > 1 else "demo"
37
return Config(*_setup_config(argv[0], name))
39
@pytest.fixture(params=[{}])
40
def reloader(self, config):
41
reloader = Server(config)
42
reloader.should_exit = True
46
def test_config_default_app(self, config):
47
assert config.module_name == "demo.calculator.run"
49
@pytest.mark.parametrize("argv", [["demo/calculator/run.py", "--demo-name test"]])
50
def test_config_custom_app(self, config):
51
assert config.module_name == "demo.calculator.run"
52
assert config.demo_name == "test"
54
def test_config_watch_gradio(self, config):
55
gradio_dir = str(Path(gradio.__file__).parent)
56
assert gradio_dir in config.watch_dirs
58
def test_config_watch_app(self, config):
59
demo_dir = str(Path("demo/calculator/run.py").resolve().parent)
60
assert demo_dir in config.watch_dirs