| import pytest |
|
|
| from sglang.srt.debug_utils.comparator.preset import PRESETS, expand_preset |
| from sglang.test.ci.ci_register import register_cpu_ci |
|
|
| register_cpu_ci(est_time=5, suite="default", nightly=True) |
|
|
|
|
| class TestExpandPreset: |
| """Test preset expansion logic.""" |
|
|
| def test_explicit_preset(self): |
| """--preset sglang_megatron expands into its argv.""" |
| argv = [ |
| "--baseline-path", |
| "/a", |
| "--preset", |
| "sglang_megatron", |
| "--diff-threshold", |
| "0.01", |
| ] |
| result = expand_preset(argv, presets=PRESETS) |
| assert "--preset" not in result |
| assert "--grouping-skip-keys" in result |
| assert "concat_steps" in result |
| assert "--baseline-path" in result |
| assert "--diff-threshold" in result |
|
|
| def test_default_preset_applied(self): |
| """No --preset and no --grouping-skip-keys triggers default preset.""" |
| argv = ["--baseline-path", "/a"] |
| result = expand_preset(argv, presets=PRESETS) |
| assert "--grouping-skip-keys" in result |
|
|
| def test_explicit_skip_keys_prevents_default(self): |
| """Explicit --grouping-skip-keys prevents default preset injection.""" |
| argv = ["--grouping-skip-keys", "rank", "--baseline-path", "/a"] |
| result = expand_preset(argv, presets=PRESETS) |
| assert result == argv |
|
|
| def test_unknown_preset_raises(self): |
| """Unknown preset name raises ValueError.""" |
| with pytest.raises(ValueError, match="Unknown value for --preset"): |
| expand_preset(["--preset", "nonexistent"], presets=PRESETS) |
|
|