@@ -14,6 +14,7 @@ import {
1414 listScenarios ,
1515 listClientScenarios ,
1616 listActiveClientScenarios ,
17+ listPendingClientScenarios ,
1718 listAuthScenarios ,
1819 listMetadataScenarios
1920} from './scenarios' ;
@@ -53,7 +54,9 @@ program
5354
5455 const suites : Record < string , ( ) => string [ ] > = {
5556 auth : listAuthScenarios ,
56- metadata : listMetadataScenarios
57+ metadata : listMetadataScenarios ,
58+ 'sep-835' : ( ) =>
59+ listAuthScenarios ( ) . filter ( ( name ) => name . startsWith ( 'auth/scope-' ) )
5760 } ;
5861
5962 const suiteName = options . suite . toLowerCase ( ) ;
@@ -123,8 +126,9 @@ program
123126 totalWarnings += warnings ;
124127
125128 const status = failed === 0 ? '✓' : '✗' ;
129+ const warningStr = warnings > 0 ? `, ${ warnings } warnings` : '' ;
126130 console . log (
127- `${ status } ${ result . scenario } : ${ passed } passed, ${ failed } failed`
131+ `${ status } ${ result . scenario } : ${ passed } passed, ${ failed } failed${ warningStr } `
128132 ) ;
129133
130134 if ( verbose && failed > 0 ) {
@@ -149,7 +153,7 @@ program
149153 console . error ( 'Either --scenario or --suite is required' ) ;
150154 console . error ( '\nAvailable client scenarios:' ) ;
151155 listScenarios ( ) . forEach ( ( s ) => console . error ( ` - ${ s } ` ) ) ;
152- console . error ( '\nAvailable suites: auth, metadata' ) ;
156+ console . error ( '\nAvailable suites: auth, metadata, sep-835 ' ) ;
153157 process . exit ( 1 ) ;
154158 }
155159
@@ -193,7 +197,12 @@ program
193197 . requiredOption ( '--url <url>' , 'URL of the server to test' )
194198 . option (
195199 '--scenario <scenario>' ,
196- 'Scenario to test (defaults to all scenarios if not specified)'
200+ 'Scenario to test (defaults to active suite if not specified)'
201+ )
202+ . option (
203+ '--suite <suite>' ,
204+ 'Suite to run: "active" (default, excludes pending), "all", or "pending"' ,
205+ 'active'
197206 )
198207 . action ( async ( options ) => {
199208 try {
@@ -213,10 +222,24 @@ program
213222 ) ;
214223 process . exit ( failed > 0 ? 1 : 0 ) ;
215224 } else {
216- // Run all active scenarios
217- const scenarios = listActiveClientScenarios ( ) ;
225+ // Run scenarios based on suite
226+ const suite = options . suite ?. toLowerCase ( ) || 'active' ;
227+ let scenarios : string [ ] ;
228+
229+ if ( suite === 'all' ) {
230+ scenarios = listClientScenarios ( ) ;
231+ } else if ( suite === 'active' ) {
232+ scenarios = listActiveClientScenarios ( ) ;
233+ } else if ( suite === 'pending' ) {
234+ scenarios = listPendingClientScenarios ( ) ;
235+ } else {
236+ console . error ( `Unknown suite: ${ suite } ` ) ;
237+ console . error ( 'Available suites: active, all, pending' ) ;
238+ process . exit ( 1 ) ;
239+ }
240+
218241 console . log (
219- `Running ${ scenarios . length } scenarios against ${ validated . url } \n`
242+ `Running ${ suite } suite ( ${ scenarios . length } scenarios) against ${ validated . url } \n`
220243 ) ;
221244
222245 const allResults : { scenario : string ; checks: ConformanceCheck [ ] } [ ] =
0 commit comments