From cd1eb06b777030c3a539d59f32fb1c620e883e6e Mon Sep 17 00:00:00 2001 From: Ramesh Giduthuri Date: Fri, 19 Aug 2022 20:41:51 -0700 Subject: [PATCH] Merge with VsTestV2 recent fixes --- Tasks/VsTestV3/Tests/L0.ts | 10 +- Tasks/VsTestV3/make.json | 2 +- Tasks/VsTestV3/nondistributedtest.ts | 2 +- Tasks/VsTestV3/outputstream.ts | 2 +- Tasks/VsTestV3/package-lock.json | 26 +- Tasks/VsTestV3/task.json | 1308 +++++++++++++------------- Tasks/VsTestV3/task.loc.json | 4 +- Tasks/VsTestV3/vstest.ts | 4 +- 8 files changed, 679 insertions(+), 679 deletions(-) diff --git a/Tasks/VsTestV3/Tests/L0.ts b/Tasks/VsTestV3/Tests/L0.ts index 75960512415f..38fb2301b5c0 100644 --- a/Tasks/VsTestV3/Tests/L0.ts +++ b/Tasks/VsTestV3/Tests/L0.ts @@ -28,14 +28,14 @@ describe('VsTest Suite', function() { const inputDataContractInterfaceFileContents = fs.readFileSync('../Tasks/VsTestV3/inputdatacontract.ts', 'utf8').toString(); const listOfInterfaces = inputDataContractInterfaceFileContents.replace(/export interface (.*) \{([\s][^{}]*)+\}(\s)*/g, '$1 ').trim().split(' '); - const interfacesDictionary : { [key: string] : any } = <{ [key: string] : any} >{}; + const interfacesDictionary: { [key: string]: any } = <{ [key: string]: any }>{}; listOfInterfaces.forEach(interfaceName => { const regex = new RegExp(interfaceName + ' \\{\\s([\\s][^\\{\\}]*)+\\}'); const interfaceContents = inputDataContractInterfaceFileContents.match(regex)[1]; const interfaceProperties = interfaceContents.replace(/(\w+) \: (\w+([\[\]])*)\;/g, '$1 $2').split('\n'); - const interfacePropertiesDictionary : { [key: string] : string } = <{ [key: string] : string }>{}; + const interfacePropertiesDictionary: { [key: string]: string } = <{ [key: string]: string }>{}; interfaceProperties.forEach(property => { property = property.trim(); interfacePropertiesDictionary[property.split(' ')[0]] = property.split(' ')[1]; @@ -47,12 +47,12 @@ describe('VsTest Suite', function() { console.log('#######################################################################################################################'); console.log('Ensure that the interfaces file is well formatted without extra newlines or whitespaces as the parser this test uses depends on the correct formatting of the inputdatacontract.ts file'); console.log('#######################################################################################################################'); - + checkParity(inputDataContractParityToolOutput, interfacesDictionary, interfacesDictionary.InputDataContract); function checkParity(dataContractObject: any, interfacesDictionary: any, subInterface: any) { - if (dataContractObject === null || dataContractObject === undefined ) { + if (dataContractObject === null || dataContractObject === undefined) { return; } @@ -81,4 +81,4 @@ describe('VsTest Suite', function() { done(); }); -}); +}); \ No newline at end of file diff --git a/Tasks/VsTestV3/make.json b/Tasks/VsTestV3/make.json index 23e8aa494c74..edf9ead99bd5 100644 --- a/Tasks/VsTestV3/make.json +++ b/Tasks/VsTestV3/make.json @@ -6,7 +6,7 @@ "dest": "./" }, { - "url": "https://testexecution.blob.core.windows.net/testexecution/12117206/TestAgent.zip", + "url": "https://testexecution.blob.core.windows.net/testexecution/17144597/TestAgent.zip", "dest": "./Modules" }, { diff --git a/Tasks/VsTestV3/nondistributedtest.ts b/Tasks/VsTestV3/nondistributedtest.ts index 2b82c0d7b34e..d69e272dbd61 100644 --- a/Tasks/VsTestV3/nondistributedtest.ts +++ b/Tasks/VsTestV3/nondistributedtest.ts @@ -142,4 +142,4 @@ export class NonDistributedTest { private inputDataContract: InputDataContract; private sourceFilter: string[] = tl.getDelimitedInput('testAssemblyVer2', '\n', true); -} \ No newline at end of file +} \ No newline at end of file diff --git a/Tasks/VsTestV3/outputstream.ts b/Tasks/VsTestV3/outputstream.ts index fd827b9694c8..8c9c7a945544 100644 --- a/Tasks/VsTestV3/outputstream.ts +++ b/Tasks/VsTestV3/outputstream.ts @@ -75,4 +75,4 @@ export class StringErrorWritable extends stream.Writable { return line.substring(startIndex, endIndex); } -} \ No newline at end of file +} \ No newline at end of file diff --git a/Tasks/VsTestV3/package-lock.json b/Tasks/VsTestV3/package-lock.json index 6cb915be6825..a4da3ee765bf 100644 --- a/Tasks/VsTestV3/package-lock.json +++ b/Tasks/VsTestV3/package-lock.json @@ -255,9 +255,9 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "0.3.1", @@ -270,20 +270,20 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "mime-db": { "version": "1.37.0", @@ -500,9 +500,9 @@ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" }, "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.3.tgz", + "integrity": "sha512-QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==" }, "uuid": { "version": "3.1.0", diff --git a/Tasks/VsTestV3/task.json b/Tasks/VsTestV3/task.json index e0983d80a743..75d669920257 100644 --- a/Tasks/VsTestV3/task.json +++ b/Tasks/VsTestV3/task.json @@ -1,656 +1,656 @@ { - "id": "EF087383-EE5E-42C7-9A53-AB56C98420F9", - "name": "VSTest", - "friendlyName": "Visual Studio Test", - "description": "Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/test/vstest", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkId=835764)", - "category": "Test", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 3, - "Minor": 198, - "Patch": 0 - }, - "demands": [ - "vstest" - ], - "releaseNotes": "", - "minimumAgentVersion": "2.103.0", - "groups": [ - { - "name": "testSelection", - "displayName": "Test selection", - "isExpanded": true - }, - { - "name": "executionOptions", - "displayName": "Execution options", - "isExpanded": true - }, - { - "name": "advancedExecutionOptions", - "displayName": "Advanced execution options", - "isExpanded": false - }, - { - "name": "reportingOptions", - "displayName": "Reporting options", - "isExpanded": true - } - ], - "inputs": [ - { - "name": "testSelector", - "type": "pickList", - "label": "Select tests using", - "defaultValue": "testAssemblies", - "required": true, - "helpMarkDown": "