in src/utils/launchUtils.ts [16:75]
export async function resolveLaunchConfigurationForRunner(runner: BaseRunner, testContext: IRunTestContext, config?: IExecutionConfig): Promise<DebugConfiguration> {
const launchArguments: IJUnitLaunchArguments = await getLaunchArguments(testContext);
if (config && config.vmArgs) {
launchArguments.vmArguments.push(...config.vmArgs.filter(Boolean));
} else if (config && config.vmargs) {
launchArguments.vmArguments.push(...config.vmargs.filter(Boolean));
}
if (testContext.kind === TestKind.TestNG) {
return {
name: `Launch Java Tests - ${testContext.testItems[0].label}`,
type: 'java',
request: 'launch',
mainClass: 'com.microsoft.java.test.runner.Launcher',
projectName: launchArguments.projectName,
cwd: config && config.workingDirectory ? config.workingDirectory : launchArguments.workingDirectory,
classPaths: [
...config?.classPaths || [],
...launchArguments.classpath || [],
path.join(extensionContext.extensionPath, 'server', 'com.microsoft.java.test.runner-jar-with-dependencies.jar'),
],
modulePaths: [
...config?.modulePaths || [],
...launchArguments.modulepath || [],
],
args: runner.getApplicationArgs(config),
vmArgs: launchArguments.vmArguments,
env: config?.env,
envFile: config?.envFile,
noDebug: !testContext.isDebug,
sourcePaths: config?.sourcePaths,
preLaunchTask: config?.preLaunchTask,
};
}
return {
name: `Launch Java Tests - ${testContext.testItems[0].label}`,
type: 'java',
request: 'launch',
mainClass: launchArguments.mainClass,
projectName: launchArguments.projectName,
cwd: config && config.workingDirectory ? config.workingDirectory : launchArguments.workingDirectory,
classPaths: [
...config?.classPaths || [],
...launchArguments.classpath || [],
],
modulePaths: [
...config?.modulePaths || [],
...launchArguments.modulepath || [],
],
args: launchArguments.programArguments,
vmArgs: launchArguments.vmArguments,
env: config?.env,
envFile: config?.envFile,
noDebug: !testContext.isDebug,
sourcePaths: config?.sourcePaths,
preLaunchTask: config?.preLaunchTask,
};
}