Download tests/test_browser_benchmark.py from INLEVEL9/Vons: direct link, hf CLI and curl.
- Browser
- Download file 6.49 kB
-
https://huggingface.co/INLEVEL9/Vons/resolve/main/tests/test_browser_benchmark.py
- Command line
-
hf download hf://INLEVEL9/Vons/tests/test_browser_benchmark.py
-
curl -L -o test_browser_benchmark.py https://huggingface.co/INLEVEL9/Vons/resolve/main/tests/test_browser_benchmark.py
6.49 kB
| import importlib.util | |
| import json | |
| import tempfile | |
| import unittest | |
| from pathlib import Path | |
| def _load_tool(): | |
| path = Path(__file__).parents[1] / "tools" / "verify_browser_benchmark.py" | |
| spec = importlib.util.spec_from_file_location("vons_browser_benchmark", path) | |
| if spec is None or spec.loader is None: | |
| raise RuntimeError("could not load browser benchmark verifier") | |
| module = importlib.util.module_from_spec(spec) | |
| spec.loader.exec_module(module) | |
| return module | |
| benchmark_tool = _load_tool() | |
| def _sample(repeat: int, status: str = "ok") -> dict[str, object]: | |
| values = { | |
| "tokenizeMs": 1.0 + repeat, | |
| "prepareFeedMs": 2.0 + repeat, | |
| "inferenceAndReadbackMs": 3.0 + repeat, | |
| "postprocessMs": 4.0 + repeat, | |
| "totalRequestMs": 10.0 + repeat, | |
| } | |
| if status == "error": | |
| values = {key: None for key in values} | |
| return { | |
| **values, | |
| "session_start": 1, | |
| "repeat": repeat, | |
| "run_id": "run-1", | |
| "case_id": f"case-{repeat + 1}", | |
| "backend": "direct", | |
| "requested_provider": "wasm", | |
| "observed_provider": None, | |
| "observed_provider_status": "session_created; execution_partition_not_exposed", | |
| "live_candidates": 4 if status == "ok" else None, | |
| "allocated_candidates": 4 if status == "ok" else None, | |
| "live_tokens": 12 if status == "ok" else None, | |
| "sequence_length": 512 if status == "ok" else None, | |
| "bundle_hash": "a" * 64, | |
| "tokenizer_hash": "b" * 64, | |
| "input_hash": "c" * 64, | |
| "noise_hash": None, | |
| "status": status, | |
| "js_heap_used_bytes_before": None, | |
| "js_heap_used_bytes_after": None, | |
| } | |
| class BrowserBenchmarkTests(unittest.TestCase): | |
| def test_recomputes_raw_samples_and_allows_unavailable_memory(self) -> None: | |
| report = { | |
| "schema": "vons.browser-benchmark/v1", | |
| "sessions": 1, | |
| "warmup_excluded_per_session": 1, | |
| "repeats_per_session": 3, | |
| "run_id": "run-1", | |
| "backend": "direct", | |
| "cases": 1, | |
| "requested_provider": "wasm", | |
| "environment": {"user_agent": "test", "cross_origin_isolated": False}, | |
| "runtime_info": None, | |
| "execution_provider_evidence": "test evidence", | |
| "session_records": [{"session_start": 1, "load_ms": 5.0, "status": "ok"}], | |
| "samples": [_sample(0), _sample(1), _sample(2, "error")], | |
| } | |
| with tempfile.TemporaryDirectory() as directory: | |
| path = Path(directory) / "report.json" | |
| path.write_text(json.dumps(report), encoding="utf-8") | |
| result = benchmark_tool.verify_report(path) | |
| self.assertEqual(result["sample_rows"], 3) | |
| self.assertEqual(result["successful_samples"], 2) | |
| self.assertEqual(result["failed_samples"], 1) | |
| self.assertEqual(result["recomputed_summary"]["total_request_ms_p50"], 10.5) | |
| self.assertIsNone(result["recomputed_summary"]["js_heap_before_max"]) | |
| def test_rejects_failed_sample_with_fabricated_timing(self) -> None: | |
| report = { | |
| "schema": "vons.browser-benchmark/v1", | |
| "sessions": 1, | |
| "warmup_excluded_per_session": 1, | |
| "repeats_per_session": 1, | |
| "run_id": "run-1", | |
| "backend": "direct", | |
| "cases": 1, | |
| "requested_provider": "webgpu", | |
| "environment": {"user_agent": "test", "cross_origin_isolated": False}, | |
| "runtime_info": None, | |
| "execution_provider_evidence": "test evidence", | |
| "session_records": [{"session_start": 1, "load_ms": 5.0, "status": "ok"}], | |
| "samples": [_sample(0, "error")], | |
| } | |
| report["samples"][0]["requested_provider"] = "webgpu" | |
| report["samples"][0]["totalRequestMs"] = 2.0 | |
| with tempfile.TemporaryDirectory() as directory: | |
| path = Path(directory) / "report.json" | |
| path.write_text(json.dumps(report), encoding="utf-8") | |
| with self.assertRaises(ValueError): | |
| benchmark_tool.verify_report(path) | |
| def test_rejects_sample_without_provenance_hashes(self) -> None: | |
| report = { | |
| "schema": "vons.browser-benchmark/v1", | |
| "sessions": 1, | |
| "warmup_excluded_per_session": 1, | |
| "repeats_per_session": 1, | |
| "run_id": "run-1", | |
| "backend": "direct", | |
| "cases": 1, | |
| "requested_provider": "wasm", | |
| "environment": {"user_agent": "test", "cross_origin_isolated": False}, | |
| "runtime_info": None, | |
| "execution_provider_evidence": "test evidence", | |
| "session_records": [{"session_start": 1, "load_ms": 5.0, "status": "ok"}], | |
| "samples": [_sample(0)], | |
| } | |
| report["samples"][0]["input_hash"] = None | |
| with tempfile.TemporaryDirectory() as directory: | |
| path = Path(directory) / "report.json" | |
| path.write_text(json.dumps(report), encoding="utf-8") | |
| with self.assertRaises(ValueError): | |
| benchmark_tool.verify_report(path) | |
| def test_rejects_partial_session_matrix_by_default(self) -> None: | |
| report = { | |
| "schema": "vons.browser-benchmark/v1", | |
| "sessions": 2, | |
| "warmup_excluded_per_session": 1, | |
| "repeats_per_session": 1, | |
| "run_id": "run-1", | |
| "backend": "direct", | |
| "cases": 1, | |
| "requested_provider": "wasm", | |
| "environment": {"user_agent": "test", "cross_origin_isolated": False}, | |
| "runtime_info": None, | |
| "execution_provider_evidence": "test evidence", | |
| "session_records": [ | |
| {"session_start": 1, "load_ms": 5.0, "status": "ok"}, | |
| {"session_start": 2, "load_ms": 1.0, "status": "error", "error_kind": "fetch"}, | |
| ], | |
| "samples": [_sample(0)], | |
| } | |
| with tempfile.TemporaryDirectory() as directory: | |
| path = Path(directory) / "report.json" | |
| path.write_text(json.dumps(report), encoding="utf-8") | |
| with self.assertRaises(ValueError): | |
| benchmark_tool.verify_report(path) | |
| result = benchmark_tool.verify_report(path, allow_incomplete=True) | |
| self.assertFalse(result["complete"]) | |
| self.assertTrue(result["incomplete_reasons"]) | |
| if __name__ == "__main__": | |
| unittest.main() | |