from types import SimpleNamespace import pytest from grimboost.targets.hf import HFTarget @pytest.mark.parametrize('mode,budget,enabled', [ ('auto', 256, False), ('auto', 8191, False), ('auto', 8192, True), ('off', 50000, False), ('on', 256, True), ]) def test_optimization_dispatch_uses_requested_generation_budget(mode, budget, enabled): calls = [] target = HFTarget.__new__(HFTarget) target.decode_optimizations = mode target.decode_optimizations_fallback = None target._decode = SimpleNamespace(enable_optimizations=lambda: calls.append(True)) target.prepare_generation(budget) assert bool(calls) is enabled def test_auto_optimization_falls_back_once_on_unsupported_configuration(): calls = [] def unsupported(): calls.append(True) raise ValueError('unsupported quantization kernel') target = HFTarget.__new__(HFTarget) target.decode_optimizations = 'auto' target.decode_optimizations_fallback = None target._decode = SimpleNamespace(enable_optimizations=unsupported) target.prepare_generation(50000) target.prepare_generation(50000) assert calls == [True] assert target.decode_optimizations_fallback == 'unsupported quantization kernel' target.decode_optimizations = 'on' target.decode_optimizations_fallback = None with pytest.raises(ValueError, match='unsupported quantization kernel'): target.prepare_generation(50000)