vscode-jupyter/.vscode-test.mjs

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());