@@ -370,7 +370,7 @@ def auth_needed(request: pytest.FixtureRequest) -> bool:
370
370
return request .param
371
371
372
372
373
- @pytest .fixture (params = ("disabled" , "import" , "subprocess" , "auto" ))
373
+ @pytest .fixture (params = (None , "disabled" , "import" , "subprocess" , "auto" ))
374
374
def keyring_provider (request : pytest .FixtureRequest ) -> str :
375
375
return request .param
376
376
@@ -389,17 +389,20 @@ def flags(
389
389
keyring_provider_implementation : str ,
390
390
) -> List [str ]:
391
391
if (
392
- keyring_provider != "auto"
392
+ keyring_provider not in [ None , "auto" ]
393
393
and keyring_provider_implementation != keyring_provider
394
394
):
395
395
pytest .skip ()
396
396
397
- flags = ["--keyring-provider" , keyring_provider ]
397
+ flags = []
398
+ if keyring_provider is not None :
399
+ flags .append ("--keyring-provider" )
400
+ flags .append (keyring_provider )
398
401
if not interactive :
399
402
flags .append ("--no-input" )
400
403
if auth_needed :
401
404
if keyring_provider_implementation == "disabled" or (
402
- not interactive and keyring_provider == "auto"
405
+ not interactive and keyring_provider in [ None , "auto" ]
403
406
):
404
407
request .applymarker (pytest .mark .xfail ())
405
408
return flags
@@ -441,7 +444,10 @@ def test_prompt_for_keyring_if_needed(
441
444
virtualenv = virtualenv_factory (workspace .joinpath ("venv" ))
442
445
script = script_factory (workspace .joinpath ("venv" ), virtualenv , environ = environ )
443
446
444
- if keyring_provider != "auto" or keyring_provider_implementation != "subprocess" :
447
+ if (
448
+ keyring_provider not in [None , "auto" ]
449
+ or keyring_provider_implementation != "subprocess"
450
+ ):
445
451
script .pip (
446
452
"install" ,
447
453
"keyring" ,
0 commit comments