From ebc2c6ddbd084676765cb2f9a7822c9a3f62acf5 Mon Sep 17 00:00:00 2001 From: Kevin Marquette Date: Mon, 13 Feb 2017 00:28:27 -0800 Subject: [PATCH] Adjusted default actions #14 (#15) * Added auto discovery fo files to monitor. * Fixed scriptanalyzer rule * Adjusted the parameter attributes --- Chronometer/Public/Get-Chronometer.ps1 | 23 ++++++++++++++++++----- psake.ps1 | 4 ++++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/Chronometer/Public/Get-Chronometer.ps1 b/Chronometer/Public/Get-Chronometer.ps1 index cc9d977..fa48e95 100644 --- a/Chronometer/Public/Get-Chronometer.ps1 +++ b/Chronometer/Public/Get-Chronometer.ps1 @@ -12,8 +12,10 @@ function Get-Chronometer [CmdletBinding()] param( # Script file to measure execution times on - [Parameter(Position=0)] - [string[]] + [Parameter( + ValueFromPipeline = $true + )] + [Object[]] $Path, # Line numbers within the script file to measure @@ -21,12 +23,23 @@ function Get-Chronometer $LineNumber = $null, # The script to start the scrupt or execute other commands - [Parameter(Position=1)] + [Parameter(Position=0)] [alias('Script','CommandScript')] [scriptblock] - $ScriptBlock + $ScriptBlock + ) + if( $null -eq $Path ) + { + $Path = Get-ChildItem -Recurse -Include *.psm1,*.ps1 -File + } + + if($Path.FullName) + { + $Path = $Path.FullName + } + $Chronometer = [Chronometer]::New() Write-Verbose "Setting breapoints" @@ -36,7 +49,7 @@ function Get-Chronometer { Write-Verbose "Executing Script" [ScriptProfiler]::Start() - [void] $ScriptBlock.Invoke() + [void] $ScriptBlock.Invoke($Path) Write-Verbose "Clearing Breapoints" $Chronometer.ClearBreakpoint() diff --git a/psake.ps1 b/psake.ps1 index 0082ca1..05e1628 100644 --- a/psake.ps1 +++ b/psake.ps1 @@ -52,6 +52,10 @@ Task Test -Depends UnitTests { # In Appveyor? Upload our tests! #Abstract this into a function? If($ENV:BHBuildSystem -eq 'AppVeyor') { + [xml]$content = Get-Content "$ProjectRoot\$TestFile" + $content.'test-results'.'test-suite'.type = "Powershell" + $content.Save("$ProjectRoot\$TestFile") + "Uploading $ProjectRoot\$TestFile to AppVeyor" "JobID: $env:APPVEYOR_JOB_ID" (New-Object 'System.Net.WebClient').UploadFile("https://ci.appveyor.com/api/testresults/nunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path "$ProjectRoot\$TestFile"))