@@ -27,7 +27,7 @@ public void DefaultOptions()
2727 Assert . Null ( options . CompilerName ) ;
2828 Assert . Empty ( options . CompilerArguments ) ;
2929 Assert . True ( options . Threads >= 1 ) ;
30- Assert . Equal ( Verbosity . Info , options . Verbosity ) ;
30+ Assert . Equal ( Verbosity . Info , options . LegacyVerbosity ) ;
3131 Assert . False ( options . Console ) ;
3232 Assert . False ( options . PDB ) ;
3333 Assert . False ( options . Fast ) ;
@@ -80,29 +80,60 @@ public void CompilerArguments()
8080 public void VerbosityTests ( )
8181 {
8282 options = CSharp . Options . CreateWithEnvironment ( new string [ ] { "--verbose" } ) ;
83- Assert . Equal ( Verbosity . Debug , options . Verbosity ) ;
83+ Assert . Equal ( Verbosity . Debug , options . LegacyVerbosity ) ;
8484
8585 options = CSharp . Options . CreateWithEnvironment ( new string [ ] { "--verbosity" , "0" } ) ;
86- Assert . Equal ( Verbosity . Off , options . Verbosity ) ;
86+ Assert . Equal ( Verbosity . Off , options . LegacyVerbosity ) ;
8787
8888 options = CSharp . Options . CreateWithEnvironment ( new string [ ] { "--verbosity" , "1" } ) ;
89- Assert . Equal ( Verbosity . Error , options . Verbosity ) ;
89+ Assert . Equal ( Verbosity . Error , options . LegacyVerbosity ) ;
9090
9191 options = CSharp . Options . CreateWithEnvironment ( new string [ ] { "--verbosity" , "2" } ) ;
92- Assert . Equal ( Verbosity . Warning , options . Verbosity ) ;
92+ Assert . Equal ( Verbosity . Warning , options . LegacyVerbosity ) ;
9393
9494 options = CSharp . Options . CreateWithEnvironment ( new string [ ] { "--verbosity" , "3" } ) ;
95- Assert . Equal ( Verbosity . Info , options . Verbosity ) ;
95+ Assert . Equal ( Verbosity . Info , options . LegacyVerbosity ) ;
9696
9797 options = CSharp . Options . CreateWithEnvironment ( new string [ ] { "--verbosity" , "4" } ) ;
98- Assert . Equal ( Verbosity . Debug , options . Verbosity ) ;
98+ Assert . Equal ( Verbosity . Debug , options . LegacyVerbosity ) ;
9999
100100 options = CSharp . Options . CreateWithEnvironment ( new string [ ] { "--verbosity" , "5" } ) ;
101- Assert . Equal ( Verbosity . Trace , options . Verbosity ) ;
101+ Assert . Equal ( Verbosity . Trace , options . LegacyVerbosity ) ;
102102
103103 Assert . Throws < FormatException > ( ( ) => CSharp . Options . CreateWithEnvironment ( new string [ ] { "--verbosity" , "X" } ) ) ;
104104 }
105105
106+
107+ private const string extractorVariableName = "CODEQL_EXTRACTOR_CSHARP_OPTION_LOGGING_VERBOSITY" ;
108+ private const string cliVariableName = "CODEQL_VERBOSITY" ;
109+
110+ private void CheckVerbosity ( string ? extractor , string ? cli , Verbosity expected )
111+ {
112+ var currentExtractorVerbosity = Environment . GetEnvironmentVariable ( extractorVariableName ) ;
113+ var currentCliVerbosity = Environment . GetEnvironmentVariable ( cliVariableName ) ;
114+ try
115+ {
116+ Environment . SetEnvironmentVariable ( extractorVariableName , extractor ) ;
117+ Environment . SetEnvironmentVariable ( cliVariableName , cli ) ;
118+
119+ options = CSharp . Options . CreateWithEnvironment ( new string [ ] { "--verbose" } ) ;
120+ Assert . Equal ( expected , options . Verbosity ) ;
121+ }
122+ finally
123+ {
124+ Environment . SetEnvironmentVariable ( extractorVariableName , currentExtractorVerbosity ) ;
125+ Environment . SetEnvironmentVariable ( cliVariableName , currentCliVerbosity ) ;
126+ }
127+ }
128+
129+ [ Fact ]
130+ public void VerbosityTests_WithExtractorOption ( )
131+ {
132+ CheckVerbosity ( "progress+++" , "progress++" , Verbosity . All ) ;
133+ CheckVerbosity ( null , "progress++" , Verbosity . Trace ) ;
134+ CheckVerbosity ( null , null , Verbosity . Debug ) ;
135+ }
136+
106137 [ Fact ]
107138 public void Console ( )
108139 {
@@ -142,7 +173,7 @@ public void StandaloneDefaults()
142173 public void StandaloneOptions ( )
143174 {
144175 standaloneOptions = CSharp . Standalone . Options . Create ( new string [ ] { "--silent" } ) ;
145- Assert . Equal ( Verbosity . Off , standaloneOptions . Verbosity ) ;
176+ Assert . Equal ( Verbosity . Off , standaloneOptions . LegacyVerbosity ) ;
146177 Assert . False ( standaloneOptions . Errors ) ;
147178 Assert . False ( standaloneOptions . Help ) ;
148179 }
0 commit comments