Commit Graph
600 Commits
Author SHA1 Message Date
Jason Shirk bd9e49d8d9 Make Out-Null fast (#2629)
People use Out-Null despite much faster alternatives:

    $null = Do-Stuff
    [void] = Do-Stuff
    Do-Stuff > $null

This change makes Out-Null work in roughly the same say as the above.

The optimization is to detect that we're calling the built-in Out-Null
cmdlet when invoking a pipeline from script (the change won't have any
effect in the PowerShell api). If we detect Out-Null, we rewrite the
pipe to look similar to `Do-Stuff > $null`.
2016-11-11 11:29:53 -08:00
iSazonov b56bbeabc6 Add Get-Uptime to Microsoft.PowerShell.Utility (C# cmdlet) (#2517)
* Add Get-Uptime (C# code)

1. Add Get-Uptime cmdlet (C# code)
2. Modify psd1 files
3. Add tests

* Remove Pretty parameter after Powershell committee conclusion

1. Remove Pretty parameter
2. Remove tests for Pretty
3. Add Throw if  IsHighResolution is False
4. Fix formatting

* Add test to check throw

1. Add hook that simulate 'System.Diagnostics.Stopwatch.IsHighResolution == false' to test Get-Uptime throw
2. Add test to check throw

* Fixes after review

1. Remove Timespan parameter
2. Remove unneeded tests
3. Fix localization
4. Add string consts
5. Fix throw

* Fix OutputType to add parameter set name information
2016-11-10 09:51:29 -08:00
Nana Lakshmanan 2077e42b52 Fixing background jobs for Unix and Windows (#1972) 2016-11-09 22:44:39 -08:00
Lincoln Atkinson 594fae475b Wire up proper ConsoleHostRawUserInterface.LengthInBufferCells for Unix (#2637)
* Wire up proper ConsoleHostRawUserInterface.LengthInBufferCells for Unix

Ref https://github.com/PowerShell/PowerShell/issues/2502
This allows for Unix console host to properly calculate display width for
strings containing escape sequences (e.g. ANSI color), rather than
falling back to naive string.Length.

* Add basic tests for host LengthInBufferCells calculation
2016-11-09 10:20:31 -08:00
Adam Bertram 35b844a756 Fixed broken link in README (#2643) 2016-11-08 10:22:26 -08:00
Steve Lee ae7b857c23 removed Handles column from Process formatter (#2617)
addressing #1812
2016-11-07 10:39:19 -08:00
Francisco Gomez Gamino 92b0eb336d Adding tests for update/save-help, and fixing existing help tests for
Linux.
2016-11-04 16:39:57 -07:00
Kirk Munro 244827a4aa Added -Top/-Bottom params to Sort-Object for Top/Bottom N sort and many Pester tests (#2518)
* Added -Top/-Bottom params to Sort-Object for Top/Bottom N sorts; added many Pester tests

* updated changelog

* updated CHANGELOG.md

* replaced Get-Service with Get-Alias in Pester tests

* improved performance for -unique -top/-bottom, changed according to PR feedback

* added newlines to end of two files

* Removed whitespace changes

* Missed 2 whitespace changes to undo in last commit

* Updated to try to resolve merge issue

* change heapify return type, cleaned up test code

* unique top/bottom N sorts are now 2-3 times faster

* code cleanup (removed unused vars, simplified logic)
2016-11-04 14:09:48 -07:00
Florian Feldhaus 9ccd778ed6 Enable WebRequestPSCmdlet to not validate HTTPS certificates (#2006)
* Enable WebRequestPSCmdlet to not validate HTTPS certificates

Added switch parameter IgnoreCertificateCheck to WebRequestPSCmdlet to enable Invoke-WebRequest and Invoke-RestMethod to not validate the HTTPS certificate of the server if required.

* Changed IgnoreCertificateCheck parameter name to NoCertificateCheck

Changed the switch parameter IgnoreCertificateCheck to NoCertificateCheck for WebRequestPSCmdlet to enable Invoke-WebRequest and Invoke-RestMethod.

* Changed NoCertificateCheck parameter name to SkipCertificateCheck

Changed the switch parameter NoCertificateCheck to SkipCertificateCheck for WebRequestPSCmdlet to enable Invoke-WebRequest and Invoke-RestMethod.

* Added test for SkipCertificateCheck parameter

Validation of SkipCertificateCheck parameter in Invoke-WebRequest and Invoke-RestMethod. First validating, that exception is thrown for HTTPS URI with expired certificate. Then validating, that no exception is thrown if SkipCertificateCheck parameter is used. HEAD method must be used for Invoke-RestMethod to not return any body. Invoke-RestMethod can't parse the HTML returned when using GET method.

* Updated test for SkipCertificateCheck parameter to use ExecuteWebCommand function
2016-11-03 14:29:17 -07:00
Jason Shirk c8c55b7ce7 Fix NullReferenceException in binder (#2591)
There was a NullReferenceException after turning on constrained language mode
if creating a binding on a thread with no runspace.

The fix is to assume if there is no runspace that we are not in constrained language
mode, and also generate a binding restriction that assumes the same.
2016-11-03 14:15:58 -07:00
Charu Bassi 85825e2b0b Fix Resolve-Path -LiteralPath for drive paths (#2572)
Resolving #2570.
Ignore drive paths in the check. If the input is a drive path,
then "\" is passed as the path to GetDriveQualifiedPath with drive info.
Since, the path here starts with "\", treatAsRelative is set to false
which prevents further formatting of this path.
The check is only valid for PSDrives with root path equals to UNC paths or the paths
in unix.
2016-11-01 18:01:52 -07:00
Jason Shirk b7c04df47b Update NativeCommandProcessor.Tests.ps1
Fix logic error in skipping
2016-11-01 14:15:31 -07:00
Jason Shirk (POWERSHELL) 9b20875d6f Test that pipeline isn't blocked when running windows exes 2016-11-01 14:15:31 -07:00
Steve Lee 1851e1a5dc fixed test on Windows, also should have been pending due to another bug (#2580) 2016-11-01 10:53:19 -07:00
iSazonov 5aee4ba85e Fix Select-Object to approve UX and fix return a property named * (#2421)
There are mainly 2 changes:
1. When '-ExcludeProperty' is specified but '-Property' is not, use "*" as the default value for '-Property'.
2. Allow 'Select-Object -Property noexist-name' to return a PSObject with property noexist-name, unless noexist-name itself contains wildcards.
2016-11-01 10:04:44 -07:00
iSazonov cef0c54157 Fix Get-Alias Name parameter allows Null value (#2545)
1. Add [ValidateNotNullOrEmpty()] to Name parameter
2. Add tests
2016-10-31 17:19:25 -07:00
Steve Lee 44eb20dc8f Fixes #2534 by replacing expensive WMI query with Win32 API calls (#2535)
* Fixes #2534 by replacing expensive WMI query with Win32 API calls

* fix break on unix build

* added tests for #2535

* although test passed, fixing exception that shows up

* fixed Describe text

* addressing code review feedback

* addressing review feedback to comment on why sleep is needed
added check that test processes are created before we try to kill them

* fixed test to timeout and pending fix for #2561
2016-10-31 09:41:13 -07:00
Dongbo Wang 0e8c809ffb Replace 'git rev-parse' with path relative to '$PSScriptRoot' in powershell tests 2016-10-28 16:51:44 -07:00
Dongbo Wang e09ddc494c Further update the tests and product code to fix test failures 2016-10-28 16:51:44 -07:00
Dongbo Wang 4bb0b13e09 Refactor implicit remoting tests to work in CI 2016-10-28 16:51:44 -07:00
PowerShell Team c975b9f6a0 Move implicit remoting tests from source depot to GitHub 2016-10-28 16:51:44 -07:00
Charu Bassi ee2feaa827 Fix set-content failure for creating file in psdrive. (#2392)
Resolving #2206

Set-Content fails to create a file for PSDrive path, if the path root
begins with defaultPathSeperatorString (ex: UNC path and paths in Single
rooted filesystems like Unix)
2016-10-28 14:31:02 -07:00
Hemant Mahawar 67638548fc Add ValidateNullOrEmpty to -Name parameter of Get-Service (#2542)
* Adding validation to Get-Service -Name parameter
2016-10-27 16:37:50 -07:00
iSazonov baeec066d9 Add support <Suppress> in Get-WinEvent -FilterHashtable (#2506)
* Add support <Suppress> in Get-WinEvent -FilterHashtable

1. Add support <Suppress>
2. Refacrtoring BuildStructuredQueryFromHashTable() to use StringBuilder
3. Add tests

* Changelog
2016-10-27 14:54:14 -07:00
PowerShell Team ed38d70cf6 Adding Ported Get-ComputerInfo Tests 2016-10-19 14:59:38 -07:00
Andrew Schwartzmeyer e630c6f79c Fix GetCurrentThreadId 2016-10-14 15:43:00 -07:00
Andrew Schwartzmeyer 24d0ce36e6 Fix SetDate
And use a bunch of unsafe code because of concerns about stack size.
2016-10-14 15:43:00 -07:00
Andrew Schwartzmeyer 0ce5575f57 Clean up CreateSymLink 2016-10-14 15:42:58 -07:00
Dongbo Wang e240c0cb32 Make Pester skip the redirection test for '[Encoding]::Default' instead of ignoring it, so that we can keep track of this encoding issue 2016-10-14 10:02:44 -07:00
Dongbo Wang 139b399223 Fix test failures due to changes in .NET Core and the exclusion of 'Certificate' provider in UNIX PS 2016-10-14 10:02:44 -07:00
Christopher Ubben c0f1d85e99 Added feature level test coverage to Registry provider (#2417) 2016-10-12 14:58:22 -07:00
iSazonov 6a62969f77 Add Invoke-Item deterministic Windows tests (#2443)
* Add Invoke-Item deterministic tests
2016-10-12 13:33:16 -07:00
Francisco Gamino ccffe0755f Skipping New-PSRoleCapabilityFile and Get-PSSessionCapability on help system test since there is no help content for these two cmdlets (#2464) 2016-10-12 12:17:51 -07:00
Francisco Gamino d717458e7d Fixing get-help <cmdletName> -online for .NET Core on Desktop. (#2174)
In PS Core on windows, we try to locate the default web browser and use it for online help. If we cannot find the default web browser (in NanoServer/IoT), we error out.
2016-10-12 12:16:32 -07:00
Paul Higinbotham 3815482082 Fix host remote test InvokeOnRunspace to work with AppVeyor (#2362)
* Fix host remote test InvokeOnRunspace to work with AppVeyor

* Updated to use new local account for remoting tests.

* Set the LocalAccountTokenFilterPolicy as needed.

* Adding verbose messages for debugging.

* Storing creds using Export-CliXml

* Added CITravis skip for Windows only remoting test

* Moving tests back to 'Feature' scope

* Added AppVeyor environment variable check to prevent account creation on non-appveyor configurations

* Removed It block in BeforeAll block

* Moving tests back to 'Feature'
2016-10-10 15:24:04 -07:00
Mike Richmond e188c992e8 Fixing JSON property accessor to attempt user settings directory creation on the first write operation 2016-10-07 21:45:38 -07:00
iSazonov 6ef590dee3 Fix Get-WinEvent -FilterHashtable to work with named event data field (#2373)
Fix Get-WinEvent -FilterHashtable to work with named event data field

Now FilterHashtable parameter in Get-WinEvent for named data field:
1. generates a valid query, ex. @{Logname="System";Param="a"}
2. generates a valid query for multiple values, ex.
@{Logname="System";Param="a","b"}

Also removed double cast in the original code and added more tests to cover the fixed scenarios.
2016-10-07 11:48:08 -07:00
Christopher Ubben 62d7961aa8 Added feature level test coverage to FileSystem provider (#2416) 2016-10-07 10:36:13 -07:00
Dongbo Wang e078b0acb7 Use 'CurrentCulture' for error message and update test to clean up resources 2016-10-05 16:18:50 -07:00
charub d2feb51132 Added testcase for validating invalid filepath scenario. (#1749) 2016-10-05 16:18:50 -07:00
charub 88d64c243e Fix Start-Transcript input path validation (#1749) 2016-10-05 16:18:50 -07:00
Christopher Ubben 5da825bdb1 Added feature level test coverage to Alias provider (#2419) 2016-10-05 14:46:52 -07:00
Christopher Ubben 0e190e0bb8 Added feature level test coverage to PSDrive provider (#2418) 2016-10-04 13:11:33 -07:00
Dongbo Wang 13455204a4 Fix variable assignment to not overwrite readonly/constant variables (#2400) 2016-10-03 15:25:52 -07:00
Dongbo Wang 5fbde6eb40 Fix bytewise operators to work on enum types with 'System.Byte' as the underlying type (#2411) 2016-10-03 15:24:39 -07:00
Chris Ubben 9885917481 Adding test coverage for Variable provider 2016-10-03 10:39:32 -07:00
Aditya Patwardhan 3700d108b3 Start process test (#2397)
Mark test as pending to unblock daily builds
2016-09-30 16:33:42 -07:00
Aditya Patwardhan 877c193af0 Add RequireAdminOnWindows tag for install-package tests (#2390)
Add the tag RequireAdminOnWindows tags so that these tests do not fail on
daily builds.
2016-09-29 18:13:33 -07:00
Mike Richmond 374e1d1b21 Merge pull request #2280 from vors/admin-tests
Separate tests on Windows CI to Admin-Required and Non-Admin-Required
2016-09-29 16:28:29 -07:00
James Truher [MSFT] 24f9dea287 Add tests for queries against userdata (#2388)
add a custom evtx file for the userdata tests to use
2016-09-29 16:23:12 -07:00