Download tests/test_budgeted_cli.py from Kai9987kai/CROSSWIRE: direct link, hf CLI and curl.
- Browser
- Download file 2.81 kB
-
https://huggingface.co/Kai9987kai/CROSSWIRE/resolve/main/tests/test_budgeted_cli.py
- Command line
-
hf download hf://Kai9987kai/CROSSWIRE/tests/test_budgeted_cli.py
-
curl -L -o test_budgeted_cli.py https://huggingface.co/Kai9987kai/CROSSWIRE/resolve/main/tests/test_budgeted_cli.py
2.81 kB
| """Backend and experiment policy plumbing without executing changing science.""" | |
| import json | |
| import threading | |
| from urllib.request import urlopen | |
| import pytest | |
| from crosswire import cli | |
| from crosswire.server import make_server | |
| def _capture_configuration(monkeypatch): | |
| configurations = [] | |
| def capture(configuration): | |
| configuration.check() | |
| configurations.append(configuration) | |
| return {'decision': {'admitted': False}, 'audit': {'contract_satisfied': None}, | |
| 'scientific_hash': 'configuration-only'} | |
| monkeypatch.setattr(cli, 'run', capture) | |
| monkeypatch.setattr(cli, 'pack', lambda result: result) | |
| return configurations | |
| def test_cli_routes_selected_backend_and_lookahead_policy(flag, backend, tmp_path, monkeypatch, capsys): | |
| configurations = _capture_configuration(monkeypatch) | |
| output = tmp_path / 'configuration.json' | |
| assert cli.main(['run', flag, backend, '--policy', 'lookahead', '--budget', '4', | |
| '--out', str(output)]) == 0 | |
| assert len(configurations) == 1 | |
| assert configurations[0].candidate_backend == backend | |
| assert configurations[0].policy == 'lookahead' | |
| assert configurations[0].budget == 4 | |
| assert json.loads(capsys.readouterr().out)['path'] == str(output.resolve()) | |
| def test_cli_preserves_flat_backend_for_omitted_selection(monkeypatch, capsys): | |
| configurations = _capture_configuration(monkeypatch) | |
| assert cli.main(['run', '--budget', '0']) == 0 | |
| assert configurations[0].candidate_backend == 'flat' | |
| capsys.readouterr() | |
| def test_cli_rejects_unknown_backend_before_dispatch(monkeypatch, capsys): | |
| configurations = _capture_configuration(monkeypatch) | |
| with pytest.raises(SystemExit) as stopped: | |
| cli.main(['run', '--candidate-backend', 'approximate']) | |
| assert stopped.value.code == 2 | |
| assert configurations == [] | |
| assert 'invalid choice' in capsys.readouterr().err | |
| def test_catalog_exposes_backend_choices_policy_and_nominal_default(): | |
| server = make_server(port=0) | |
| worker = threading.Thread(target=server.serve_forever, daemon=True) | |
| worker.start() | |
| try: | |
| with urlopen(f'http://127.0.0.1:{server.server_port}/api/catalog', timeout=10) as response: | |
| catalog = json.load(response) | |
| assert catalog['candidate_backends'] == ['flat', 'factored'] | |
| assert catalog['defaults']['candidate_backend'] == 'flat' | |
| assert 'lookahead' in catalog['policies'] | |
| finally: | |
| server.shutdown() | |
| server.server_close() | |
| server.manager.close() | |
| worker.join(3) | |