@@ -408,55 +408,74 @@ async function probeFrontendPlugins(plugins, port, pluginsRoot) {
408408// Reporting
409409// ---------------------------------------------------------------------------
410410
411+ function logPassResult ( result ) {
412+ if ( result . pluginId ) {
413+ return ` PASS ${ result . pkgName } → /api/${ result . pluginId } (${ result . http } )` ;
414+ }
415+ if ( isFrontendRole ( result . role ) ) {
416+ return ` PASS ${ result . pkgName } (${ result . role } )` ;
417+ }
418+ return null ;
419+ }
420+
421+ function logResultAndCollectFailures ( result , failedPlugins ) {
422+ const statusHandlers = {
423+ skip : ( ) => ( { line : ` SKIP ${ result . pkgName } (${ result . role } )` } ) ,
424+ pass : ( ) => ( { line : logPassResult ( result ) } ) ,
425+ warn : ( ) => ( {
426+ line : ` WARN ${ result . pkgName } → /api/${ result . pluginId } (404 — pluginId guess may be wrong)` ,
427+ } ) ,
428+ "fail-bundle" : ( ) => ( {
429+ line : ` FAIL ${ result . pkgName } [bundle] ${ result . detail } ` ,
430+ failed : true ,
431+ } ) ,
432+ "fail-load" : ( ) => ( {
433+ line : ` FAIL ${ result . pkgName } [load] ${ result . detail } ` ,
434+ failed : true ,
435+ } ) ,
436+ } ;
437+
438+ const handled = statusHandlers [ result . status ] ?. ( ) ?? {
439+ line : ` FAIL ${ result . pkgName } ${ result . error } ` ,
440+ failed : true ,
441+ } ;
442+
443+ if ( handled . line ) {
444+ console . log ( handled . line ) ;
445+ }
446+ if ( handled . failed ) {
447+ failedPlugins . push ( result . pkgName ) ;
448+ }
449+ }
450+
451+ function updateResultCounts ( result , backendCounts , frontendCounts ) {
452+ const isFrontend = isFrontendRole ( result . role ) ;
453+ if ( result . status === "fail-bundle" || result . status === "fail-load" ) {
454+ if ( isFrontend ) frontendCounts . fail ++ ;
455+ else backendCounts . fail ++ ;
456+ return ;
457+ }
458+
459+ if ( isFrontend ) {
460+ frontendCounts [ result . status ] = ( frontendCounts [ result . status ] ?? 0 ) + 1 ;
461+ return ;
462+ }
463+
464+ backendCounts [ result . status ] = ( backendCounts [ result . status ] ?? 0 ) + 1 ;
465+ }
466+
411467function reportAndWrite ( results , resultsFile ) {
412468 console . log ( "\n========== Smoke Test Results ==========\n" ) ;
413469 const failedPlugins = [ ] ;
414470
415471 for ( const r of results ) {
416- switch ( r . status ) {
417- case "skip" :
418- console . log ( ` SKIP ${ r . pkgName } (${ r . role } )` ) ;
419- break ;
420- case "pass" :
421- if ( r . pluginId ) {
422- console . log (
423- ` PASS ${ r . pkgName } → /api/${ r . pluginId } (${ r . http } )` ,
424- ) ;
425- } else if ( isFrontendRole ( r . role ) ) {
426- console . log ( ` PASS ${ r . pkgName } (${ r . role } )` ) ;
427- }
428- break ;
429- case "warn" :
430- console . log (
431- ` WARN ${ r . pkgName } → /api/${ r . pluginId } (404 — pluginId guess may be wrong)` ,
432- ) ;
433- break ;
434- case "fail-bundle" :
435- console . log ( ` FAIL ${ r . pkgName } [bundle] ${ r . detail } ` ) ;
436- failedPlugins . push ( r . pkgName ) ;
437- break ;
438- case "fail-load" :
439- console . log ( ` FAIL ${ r . pkgName } [load] ${ r . detail } ` ) ;
440- failedPlugins . push ( r . pkgName ) ;
441- break ;
442- default :
443- console . log ( ` FAIL ${ r . pkgName } ${ r . error } ` ) ;
444- failedPlugins . push ( r . pkgName ) ;
445- }
472+ logResultAndCollectFailures ( r , failedPlugins ) ;
446473 }
447474
448475 const be = { pass : 0 , warn : 0 , skip : 0 , fail : 0 } ;
449476 const fe = { pass : 0 , fail : 0 } ;
450477 for ( const r of results ) {
451- const isFe = isFrontendRole ( r . role ) ;
452- if ( r . status === "fail-bundle" || r . status === "fail-load" ) {
453- if ( isFe ) fe . fail ++ ;
454- else be . fail ++ ;
455- } else if ( isFe ) {
456- fe [ r . status ] = ( fe [ r . status ] ?? 0 ) + 1 ;
457- } else {
458- be [ r . status ] = ( be [ r . status ] ?? 0 ) + 1 ;
459- }
478+ updateResultCounts ( r , be , fe ) ;
460479 }
461480 const total = results . length ;
462481 const totalFail = be . fail + fe . fail ;
0 commit comments