48 строки
1.5 KiB
JavaScript
48 строки
1.5 KiB
JavaScript
//@ts-check
|
|
|
|
import fs from 'fs';
|
|
import { defineConfig } from '@vscode/test-cli';
|
|
import { fileURLToPath } from 'url';
|
|
import { dirname } from 'path';
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = dirname(__filename);
|
|
|
|
async function generateConfig() {
|
|
const venvFolder = `${__dirname}/.venv`;
|
|
const pythonPath = fs.existsSync(venvFolder)
|
|
? process.platform === 'win32'
|
|
? `${venvFolder}/Scripts/python.exe`
|
|
: `${venvFolder}/bin/python`
|
|
: '';
|
|
|
|
/** @type {import('@vscode/test-cli').TestConfiguration} */
|
|
let config = {
|
|
label: 'Extension Test',
|
|
files: ['out/**/*.vscode.test.js', 'out/**/*.vscode.common.test.js'],
|
|
version: 'insiders',
|
|
srcDir: 'src',
|
|
workspaceFolder: `${__dirname}/src/test/datascience`,
|
|
launchArgs: ['--enable-proposed-api'],
|
|
env: {
|
|
VSC_JUPYTER_FORCE_LOGGING: '1',
|
|
CI_PYTHON_PATH: pythonPath,
|
|
XVSC_JUPYTER_INSTRUMENT_CODE_FOR_COVERAGE: '1',
|
|
XVSC_JUPYTER_INSTRUMENT_CODE_FOR_COVERAGE_HTML: '1', //Enable to get full coverage repor (in coverage folder).
|
|
VSC_JUPYTER_EXPOSE_SVC: '1'
|
|
},
|
|
installExtensions: ['ms-python.vscode-pylance@prerelease']
|
|
};
|
|
|
|
config.mocha = {
|
|
ui: 'tdd',
|
|
color: true,
|
|
timeout: 25000,
|
|
preload: `${__dirname}/out/platform/ioc/reflectMetadata.js`
|
|
};
|
|
|
|
return config;
|
|
}
|
|
|
|
export default defineConfig(generateConfig());
|