11import * as path from 'path' ;
2+ import * as fs from 'fs-extra' ;
23import { runTests } from '@vscode/test-electron' ;
34import { EXTENSION_ROOT_DIR_FOR_TESTS } from './constants' ;
45import { initializeLogger } from './testLogger' ;
6+ import { EXTENSION_ROOT_DIR } from '../client/common/constants' ;
57
68const workspacePath = path . join ( __dirname , '..' , '..' , 'src' , 'testMultiRootWkspc' , 'multi.code-workspace' ) ;
79process . env . IS_CI_SERVER_TEST_DEBUGGER = '' ;
810process . env . VSC_PYTHON_CI_TEST = '1' ;
911
1012initializeLogger ( ) ;
1113
12- const channel = process . env . VSC_PYTHON_CI_TEST_VSC_CHANNEL || 'stable' ;
14+ function getChannel ( ) : string {
15+ if ( process . env . VSC_PYTHON_CI_TEST_VSC_CHANNEL ) {
16+ return process . env . VSC_PYTHON_CI_TEST_VSC_CHANNEL ;
17+ }
18+ const packageJsonPath = path . join ( EXTENSION_ROOT_DIR , 'package.json' ) ;
19+ if ( fs . pathExistsSync ( packageJsonPath ) ) {
20+ const packageJson = fs . readJSONSync ( packageJsonPath ) ;
21+ if ( packageJson . engines . vscode . endsWith ( 'insider' ) ) {
22+ return 'insiders' ;
23+ }
24+ }
25+ return 'stable' ;
26+ }
1327
1428function start ( ) {
1529 console . log ( '*' . repeat ( 100 ) ) ;
@@ -18,7 +32,7 @@ function start() {
1832 extensionDevelopmentPath : EXTENSION_ROOT_DIR_FOR_TESTS ,
1933 extensionTestsPath : path . join ( EXTENSION_ROOT_DIR_FOR_TESTS , 'out' , 'test' , 'index' ) ,
2034 launchArgs : [ workspacePath ] ,
21- version : channel ,
35+ version : getChannel ( ) ,
2236 extensionTestsEnv : { ...process . env , UITEST_DISABLE_INSIDERS : '1' } ,
2337 } ) . catch ( ( ex ) => {
2438 console . error ( 'End Multiroot tests (with errors)' , ex ) ;
0 commit comments