@@ -319,6 +319,7 @@ class RunTestForHBuilderXCli extends Common {
319319 this . consoleMsgPrefix = "[uniapp.test] " ;
320320 this . raw_argv_uni_platform = "" ;
321321 this . raw_argv_vapor = false ;
322+ this . raw_argv_vapor_render_target = "" ;
322323
323324 this . terminal_id = "" ;
324325 this . projectName = '' ;
@@ -392,8 +393,10 @@ class RunTestForHBuilderXCli extends Common {
392393 */
393394 async run_uni_test ( testPlatform , deviceId , deviceType = "" ) {
394395 let UNI_APP_X_DOM2 = false ;
396+ let UNI_APP_X_VAPOR_RENDER_TARGET = "" ;
395397 if ( this . raw_argv_vapor === true && is_uniapp_x ) {
396398 UNI_APP_X_DOM2 = true ;
399+ UNI_APP_X_VAPOR_RENDER_TARGET = [ "bytecode" , "nativecode" ] . includes ( this . raw_argv_vapor_render_target ) ? this . raw_argv_vapor_render_target : "bytecode" ;
397400 } ;
398401 let uniProjectAttributeData = {
399402 "is_uniapp_x" : is_uniapp_x ,
@@ -491,6 +494,7 @@ class RunTestForHBuilderXCli extends Common {
491494 // 蒸汽模式:命令行传递
492495 if ( UNI_APP_X_DOM2 === true ) {
493496 cmdOpts [ "env" ] [ "UNI_APP_X_DOM2" ] = UNI_APP_X_DOM2 ;
497+ cmdOpts [ "env" ] [ "UNI_APP_X_VAPOR_RENDER_TARGET" ] = UNI_APP_X_VAPOR_RENDER_TARGET ;
494498 } ;
495499
496500 if ( [ 'android' , 'ios' , "harmony" ] . includes ( UNI_OS_NAME ) ) {
@@ -710,6 +714,7 @@ class RunTestForHBuilderXCli extends Common {
710714 let argv_uni_platform = uni_platformName ;
711715 this . raw_argv_uni_platform = uni_platformName ;
712716 this . raw_argv_vapor = params . vapor ;
717+ this . raw_argv_vapor_render_target = params . vapor_render_target || params . uni_app_x_vapor_render_target || "" ;
713718
714719 // console.error("=========>", params);
715720 let argv_device_id = params . device_id || '' ;
@@ -846,7 +851,8 @@ class RunTestForHBuilderXCli extends Common {
846851} ;
847852
848853async function check_cli_args ( args , client_id ) {
849- let { project, device_id, testcaseFile, vapor } = args ;
854+ let { project, device_id, testcaseFile, vapor, vapor_render_target, uni_app_x_vapor_render_target } = args ;
855+ let render_target = vapor_render_target || uni_app_x_vapor_render_target || "" ;
850856 if ( ! fs . existsSync ( project ) ) {
851857 return `项目路径 ${ project } 不存在,请检查。` ;
852858 } ;
@@ -861,6 +867,9 @@ async function check_cli_args(args, client_id) {
861867 return `测试用例文件 ${ testcaseFile } 不存在,请检查。` ;
862868 } ;
863869 }
870+ if ( render_target != "" && ! [ "bytecode" , "nativecode" ] . includes ( render_target ) ) {
871+ return "参数 --vapor_render_target 仅支持 bytecode|nativecode,请检查。" ;
872+ } ;
864873 return "" ;
865874} ;
866875
0 commit comments