@@ -27,7 +27,7 @@ def parser():
2727 parser .add_argument ("--batch-size" , type = int )
2828 parser .add_argument ("--enable-feature" , action = "store_true" )
2929 parser .add_argument ("--hf-overrides" , type = json .loads )
30- parser .add_argument ("-O " , "--compilation-config" , type = json .loads )
30+ parser .add_argument ("-cc " , "--compilation-config" , type = json .loads )
3131 parser .add_argument ("--optimization-level" , type = int )
3232 return parser
3333
@@ -167,8 +167,8 @@ def test_dict_args(parser):
167167 "--hf-overrides.key2.key4" ,
168168 "val3" ,
169169 # Test compile config and compilation mode
170- "-O .use_inductor_graph_partition=true" ,
171- "-O .backend" ,
170+ "-cc .use_inductor_graph_partition=true" ,
171+ "-cc .backend" ,
172172 "custom" ,
173173 "-O1" ,
174174 # Test = sign
@@ -191,9 +191,9 @@ def test_dict_args(parser):
191191 "--hf_overrides.key14.key15" ,
192192 "-minus.and.dot" ,
193193 # Test array values
194- "-O .custom_ops+" ,
194+ "-cc .custom_ops+" ,
195195 "-quant_fp8" ,
196- "-O .custom_ops+=+silu_mul,-rms_norm" ,
196+ "-cc .custom_ops+=+silu_mul,-rms_norm" ,
197197 ]
198198 parsed_args = parser .parse_args (args )
199199 assert parsed_args .model_name == "something.something"
@@ -234,7 +234,7 @@ def test_duplicate_dict_args(caplog_vllm, parser):
234234 "--hf-overrides.key1" ,
235235 "val2" ,
236236 "-O1" ,
237- "-O .mode" ,
237+ "-cc .mode" ,
238238 "2" ,
239239 "-O3" ,
240240 ]
@@ -380,29 +380,29 @@ def test_load_config_file(tmp_path):
380380
381381
382382def test_compilation_mode_string_values (parser ):
383- """Test that -O .mode accepts both integer and string mode values."""
384- args = parser .parse_args (["-O .mode" , "0" ])
383+ """Test that -cc .mode accepts both integer and string mode values."""
384+ args = parser .parse_args (["-cc .mode" , "0" ])
385385 assert args .compilation_config == {"mode" : 0 }
386386
387387 args = parser .parse_args (["-O3" ])
388388 assert args .optimization_level == 3
389389
390- args = parser .parse_args (["-O .mode=NONE" ])
390+ args = parser .parse_args (["-cc .mode=NONE" ])
391391 assert args .compilation_config == {"mode" : "NONE" }
392392
393- args = parser .parse_args (["-O .mode" , "STOCK_TORCH_COMPILE" ])
393+ args = parser .parse_args (["-cc .mode" , "STOCK_TORCH_COMPILE" ])
394394 assert args .compilation_config == {"mode" : "STOCK_TORCH_COMPILE" }
395395
396- args = parser .parse_args (["-O .mode=DYNAMO_TRACE_ONCE" ])
396+ args = parser .parse_args (["-cc .mode=DYNAMO_TRACE_ONCE" ])
397397 assert args .compilation_config == {"mode" : "DYNAMO_TRACE_ONCE" }
398398
399- args = parser .parse_args (["-O .mode" , "VLLM_COMPILE" ])
399+ args = parser .parse_args (["-cc .mode" , "VLLM_COMPILE" ])
400400 assert args .compilation_config == {"mode" : "VLLM_COMPILE" }
401401
402- args = parser .parse_args (["-O .mode=none" ])
402+ args = parser .parse_args (["-cc .mode=none" ])
403403 assert args .compilation_config == {"mode" : "none" }
404404
405- args = parser .parse_args (["-O .mode=vllm_compile" ])
405+ args = parser .parse_args (["-cc .mode=vllm_compile" ])
406406 assert args .compilation_config == {"mode" : "vllm_compile" }
407407
408408
@@ -458,3 +458,25 @@ def test_flat_product():
458458 (3 , 4 , "a" , 5 , 6 ),
459459 (3 , 4 , "b" , 5 , 6 ),
460460 ]
461+
462+
463+ def test_o_legacy_syntax_deprecation (caplog_vllm ):
464+ """Test that -O.* dotted syntax emits warnings and converts correctly to -cc syntax."""
465+ parser = FlexibleArgumentParser ()
466+ parser .add_argument ("-cc" , "--compilation-config" , type = json .loads )
467+
468+ # Test that -O.backend gets converted correctly AND emits warning
469+ args = parser .parse_args (["-O.backend=eager" ])
470+ assert args .compilation_config == {"backend" : "eager" }
471+
472+ # Check that deprecation warning was logged
473+ assert len (caplog_vllm .records ) >= 1
474+ assert (
475+ "The -O.* dotted syntax for --compilation-config is deprecated"
476+ in caplog_vllm .text
477+ )
478+
479+ # Test that -O.mode gets converted correctly
480+ # Note: warning_once won't emit again in same session
481+ args = parser .parse_args (["-O.mode=2" ])
482+ assert args .compilation_config == {"mode" : 2 }
0 commit comments