@@ -437,6 +437,11 @@ def _flaky_replace(src, dst):
437437 pytest .param ({"use_pch" : "" }, id = "use_pch_empty_string" ),
438438 pytest .param ({"pch_dir" : "" }, id = "pch_dir_empty_string" ),
439439 pytest .param ({"pre_include" : "" }, id = "pre_include_empty_string" ),
440+ # Same for ``False`` -- NVRTC's gate on these path-shaped fields is
441+ # ``is not None``, so even False emits a real flag.
442+ pytest .param ({"use_pch" : False }, id = "use_pch_false" ),
443+ pytest .param ({"pch_dir" : False }, id = "pch_dir_false" ),
444+ pytest .param ({"pre_include" : False }, id = "pre_include_false" ),
440445 ],
441446)
442447def test_make_program_cache_key_rejects_external_content_without_extra_digest (option_kw ):
@@ -516,8 +521,13 @@ def test_make_program_cache_key_accepts_external_content_with_extra_digest():
516521 # compilation, so the side effect (writing the PCH) would not run.
517522 pytest .param ({"create_pch" : "out.pch" }, b"x" * 32 , id = "create_pch_with_extra_digest" ),
518523 pytest .param ({"create_pch" : "" }, None , id = "create_pch_empty_string" ),
524+ # NVRTC emits ``--create-pch=False`` for any non-None value, so False
525+ # still triggers the side effect and must be rejected.
526+ pytest .param ({"create_pch" : False }, None , id = "create_pch_false" ),
519527 pytest .param ({"time" : "timing.csv" }, None , id = "time" ),
528+ pytest .param ({"time" : False }, None , id = "time_false" ),
520529 pytest .param ({"fdevice_time_trace" : "trace.json" }, None , id = "fdevice_time_trace" ),
530+ pytest .param ({"fdevice_time_trace" : False }, None , id = "fdevice_time_trace_false" ),
521531 ],
522532)
523533def test_make_program_cache_key_rejects_side_effect_options_nvrtc (option_kw , extra_digest ):
0 commit comments