197 lines
7.3 KiB
JSON
197 lines
7.3 KiB
JSON
// A task runner that invokes Pester to run all Pester tests under the
|
|
// current workspace folder.
|
|
// NOTE: This Test task runner requires an updated version of Pester (>=4.0.3)
|
|
// in order for the problemMatcher to find failed test information (message, line, file).
|
|
// If you don't have that version, you can update Pester from the PowerShell Gallery
|
|
// with this command:
|
|
//
|
|
// PS C:\> Update-Module Pester
|
|
//
|
|
// If that gives an error like:
|
|
// "Module 'Pester' was not installed by using Install-Module, so it cannot be updated."
|
|
// then execute:
|
|
//
|
|
// PS C:\> Install-Module Pester -Scope CurrentUser -Force
|
|
//
|
|
// NOTE: The Clean, Build and Publish tasks require PSake. PSake can be installed
|
|
// from the PowerShell Gallery with this command:
|
|
//
|
|
// PS C:\> Install-Module PSake -Scope CurrentUser -Force
|
|
//
|
|
// Available variables which can be used inside of strings:
|
|
// ${workspaceFolder} the path of the workspace folder that contains the tasks.json file
|
|
// ${workspaceFolderBasename} the name of the workspace folder that contains the tasks.json file without any slashes (/)
|
|
// ${file} the current opened file
|
|
// ${relativeFile} the current opened file relative to the workspace folder containing the file
|
|
// ${fileBasename} the current opened file's basename
|
|
// ${fileBasenameNoExtension} the current opened file's basename without the extension
|
|
// ${fileDirname} the current opened file's dirname
|
|
// ${fileExtname} the current opened file's extension
|
|
// ${cwd} the task runner's current working directory on startup
|
|
// ${lineNumber} the current selected line number in the active file
|
|
{
|
|
"version": "2.0.0",
|
|
//"windows": {
|
|
// "options": {
|
|
// "shell": {
|
|
// // switch back to windows powershell 5.1
|
|
// // "executable": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
|
|
// "executable": "pwsh.exe",
|
|
// "args": [
|
|
// "-NoProfile",
|
|
// "-ExecutionPolicy",
|
|
// "Bypass",
|
|
// "-Command"
|
|
// ]
|
|
// }
|
|
// }
|
|
//},
|
|
//"linux": {
|
|
// "options": {
|
|
// "shell": {
|
|
// "executable": "/usr/bin/pwsh",
|
|
// "args": [
|
|
// "-NoProfile",
|
|
// "-Command"
|
|
// ]
|
|
// }
|
|
// }
|
|
//},
|
|
//"osx": {
|
|
// "options": {
|
|
// "shell": {
|
|
// "executable": "/usr/local/bin/pwsh",
|
|
// "args": [
|
|
// "-NoProfile",
|
|
// "-Command"
|
|
// ]
|
|
// }
|
|
// }
|
|
//},
|
|
"tasks": [
|
|
{
|
|
"label": "DroneHelper: Invoke-FileLinter",
|
|
"type": "shell",
|
|
"command": [
|
|
"Remove-Item ./build/FileLinter-Results.log -ErrorAction 'SilentlyContinue';",
|
|
"Remove-Item ./failure.log -ErrorAction 'SilentlyContinue';",
|
|
"Import-Module ./src/DroneHelper.psd1;",
|
|
"Invoke-FileLinter"
|
|
],
|
|
"group": "test",
|
|
"problemMatcher": [
|
|
"$pester"
|
|
]
|
|
},
|
|
{
|
|
"label": "DroneHelper: Invoke-Linter",
|
|
"type": "shell",
|
|
"command": [
|
|
"Remove-Item ./build/ScriptAnalyzer-Results.log -ErrorAction 'SilentlyContinue';",
|
|
"Remove-Item ./failure.log -ErrorAction 'SilentlyContinue';",
|
|
"Import-Module ./src/DroneHelper.psd1;",
|
|
"Invoke-Linter"
|
|
],
|
|
"group": "test",
|
|
"problemMatcher": [
|
|
"$pester"
|
|
]
|
|
},
|
|
{
|
|
"label": "DroneHelper: Invoke-UnitTest",
|
|
"type": "shell",
|
|
"command": [
|
|
"Remove-Item ./coverage.xml -ErrorAction 'SilentlyContinue';",
|
|
"Remove-Item ./testResults.xml -ErrorAction 'SilentlyContinue';",
|
|
"Remove-Item ./build/FileLinter-Results.log -ErrorAction 'SilentlyContinue';",
|
|
"Remove-Item ./build/Pester-Results.log -ErrorAction 'SilentlyContinue';",
|
|
"Remove-Item ./failure.log -ErrorAction 'SilentlyContinue';",
|
|
"Import-Module ./src/DroneHelper.psd1;",
|
|
"Invoke-UnitTest -CoverageFormat 'CoverageGutters' -Verbosity 'Detailed'"
|
|
],
|
|
"group": "test",
|
|
"problemMatcher": [
|
|
"$pester"
|
|
]
|
|
},
|
|
{
|
|
"label": "DroneHelper: Full Test",
|
|
"type": "shell",
|
|
"command": [
|
|
"Remove-Item ./build/ScriptAnalyzer-Results.log -ErrorAction 'SilentlyContinue';",
|
|
"Remove-Item ./build/FileLinter-Results.log -ErrorAction 'SilentlyContinue';",
|
|
"Remove-Item ./build/Pester-Results.log -ErrorAction 'SilentlyContinue';",
|
|
"Remove-Item ./coverage.xml -ErrorAction 'SilentlyContinue';",
|
|
"Remove-Item ./testResults.xml -ErrorAction 'SilentlyContinue';",
|
|
"Remove-Item ./failure.log -ErrorAction 'SilentlyContinue';",
|
|
"Import-Module ./src/DroneHelper.psd1;",
|
|
"Invoke-FileLinter;",
|
|
"Invoke-Linter;",
|
|
"Invoke-UnitTest -CoverageFormat 'CoverageGutters' -Verbosity 'Detailed'"
|
|
],
|
|
"group": {
|
|
"kind": "test",
|
|
"isDefault": true
|
|
},
|
|
"problemMatcher": [
|
|
"$pester"
|
|
]
|
|
},
|
|
{
|
|
"label": "Add dictionary item",
|
|
"type": "shell",
|
|
"command": [
|
|
"$DefaultFile = Get-ChildItem -Path './.vscode/dictionaries/default.txt';",
|
|
"$Content = Get-Content -Path $DefaultFile;",
|
|
"$Content += '${input:DictionaryItem}';",
|
|
"$Content = $Content | Sort-Object -Unique;",
|
|
"Set-Content -Value $Content -Path $DefaultFile"
|
|
],
|
|
"group": "none",
|
|
"problemMatcher": [
|
|
"$pester"
|
|
]
|
|
},
|
|
{
|
|
"label": "DroneHelper: New Docs",
|
|
"type": "shell",
|
|
"command": [
|
|
"Import-Module ./src/DroneHelper.psd1;",
|
|
"New-Docs"
|
|
],
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "DroneHelper: Update Docs",
|
|
"type": "shell",
|
|
"command": [
|
|
"Import-Module ./src/DroneHelper.psd1;",
|
|
"Update-Docs"
|
|
],
|
|
"problemMatcher": []
|
|
},
|
|
{
|
|
"label": "DroneHelper: Update Changelog",
|
|
"type": "shell",
|
|
"command": [
|
|
"Import-Module ./src/DroneHelper.psd1;",
|
|
"Update-Changelog -NewVersion '${input:NewVersion}'"
|
|
],
|
|
"problemMatcher": []
|
|
}
|
|
],
|
|
"inputs": [
|
|
{
|
|
"id": "DictionaryItem",
|
|
"type": "promptString",
|
|
"description": "Input for dictionary file default.txt"
|
|
},
|
|
{
|
|
"id": "NewVersion",
|
|
"type": "promptString",
|
|
"description": "Enter a new semver version id",
|
|
"default": "v1.0.0"
|
|
}
|
|
]
|
|
}
|