Commit graph

2071 commits

Author SHA1 Message Date
xtqqczze 7cb8dc48ea Correct case of $HOME special variable 2020-01-13 19:33:43 +00:00
xtqqczze d0f28128f5 Correct case of $ExecutionContext special variable 2020-01-13 19:33:14 +00:00
xtqqczze b700c4631b Correct case of $InformationPreference special variable 2020-01-13 19:31:24 +00:00
xtqqczze ca4edaddd6 Correct case of $VerbosePreference special variable 2020-01-13 19:29:33 +00:00
xtqqczze 6affae574c Correct case of $DebugPreference special variable 2020-01-13 19:28:14 +00:00
xtqqczze 6d97b3a4a4 Correct case of $IsCoreCLR special variable 2020-01-13 19:27:48 +00:00
xtqqczze 94a73caa41 Correct case of $IsWindows special variable 2020-01-13 19:27:21 +00:00
xtqqczze 72d52b7d08 Correct case of $IsMacOS special variable 2020-01-13 19:26:54 +00:00
xtqqczze 17d0e931fa Correct case of $IsLinux special variable 2020-01-13 19:26:28 +00:00
xtqqczze 9e5bb4eee7 Correct case of $PSModuleAutoLoadingPreference special variable 2020-01-13 19:26:01 +00:00
xtqqczze bb58e2aab6 Correct case of $false special variable 2020-01-13 19:25:35 +00:00
xtqqczze 47a3b4e293 Correct case of $true special variable 2020-01-13 19:25:09 +00:00
xtqqczze 6014f4bac3 Correct case of $null special variable 2020-01-13 19:24:42 +00:00
xtqqczze 4a9d70fdcd Correct case of $PWD special variable 2020-01-13 19:24:10 +00:00
xtqqczze 62aee9356a Correct case of $PSScriptRoot special variable 2020-01-13 19:21:53 +00:00
xtqqczze 679702ba05 Correct case of $PSDefaultParameterValues special variable 2020-01-13 19:21:25 +00:00
xtqqczze b6a687bf21 Correct case of $error special variable 2020-01-13 19:19:39 +00:00
xtqqczze 42d50434f8 Correct case of $PSCmdlet special variable 2020-01-13 19:19:12 +00:00
xtqqczze a051666baf Correct case of $input special variable 2020-01-13 19:18:44 +00:00
xtqqczze 66e0f08ec2 Correct case of $this special variable 2020-01-13 19:18:14 +00:00
xtqqczze 6663261238 Correct case of $args special variable 2020-01-13 19:17:48 +00:00
xtqqczze 04b292ab3b Correct case of $LASTEXITCODE special variable 2020-01-13 19:15:45 +00:00
xtqqczze 89e33f5772 Correct case of $Matches special variable 2020-01-13 19:15:17 +00:00
xtqqczze f86f30cf64 Correct case of $NestedPromptLevel special variable 2020-01-13 19:13:53 +00:00
xtqqczze fbe459d480 Correct case of $OFS special variable 2020-01-13 19:05:05 +00:00
xtqqczze d58e1ff13b Correct case of $MyInvocation special variable 2020-01-13 19:04:32 +00:00
xtqqczze 4f5bb46268 Remove BOM, insert newline at EOF 2020-01-13 18:36:47 +00:00
xtqqczze 7d0e9f1299 Avoid variable names that conflict with automatic variables part 2 (#11559) 2020-01-13 20:14:31 +05:00
xtqqczze 743983390e Update pester syntax to v4 (#11544)
* Capitalize 'Should' command and fix whitespace

```powershell
$_ -ireplace '\s?\|\s?should\b',' | Should'
```

* Capitalise and apply hyphen to 'Not' parameter

```powershell
$_ -ireplace '(\| Should) not\b','$1 -Not'
```

* Capitalise and apply hyphen to 'Be' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?) -?be\b','$1 -Be'
```

* Capitalise and apply hyphen to 'BeExactly' parameter

$_ -ireplace '(\| Should(?: -Not)?) -?beexactly\b','$1 -BeExactly'

* Capitalise and apply hyphen to 'BeGreaterThan' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?) -?begreaterthan\b','$1 -BeGreaterThan'
```

* Use 'BeTrue' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?) -Be\s\$?true\b','$1 -BeTrue'
```

* Use 'BeFalse' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?) -Be\s\$?false\b','$1 -BeFalse'
```

* Capitalise and apply hyphen to 'Match' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?)\s-?match\b','$1 -Match'
```

* Capitalise and apply hyphen to 'Throw' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?)\s-?throw\b','$1 -Throw'
```

* Capitalise and apply hyphen to 'BeNullOrEmpty' parameter

```powershell
$_ -ireplace '(\| Should(?: -Not)?)\s-?benullorempty\b','$1 -BeNullOrEmpty'
```

* Capitalise 'Because' parameter

```powershell
$_ -ireplace '\s-because\b',' -Because'
```

* Fix 'BeNullOrEmpty'
2020-01-11 20:41:59 +05:00
xtqqczze 70d9ed4d55 Remove Unicode BOM from text files (#11546) 2020-01-11 12:15:34 +05:00
Paul Higinbotham b19e2b9d4c Various test fixes for debugger and remoting (#11528) 2020-01-08 16:23:38 -08:00
Aditya Patwardhan 0097802cee
Normalize line endings before comparing string in tests (#11499) 2020-01-08 13:33:28 -08:00
James Truher [MSFT] 57da778205 DSC test fixes for Alpine and Raspbian (#11508) 2020-01-07 16:57:08 -08:00
Paul Higinbotham f22bad1d58 Fix SSH remoting test to work on all platforms (#11500) 2020-01-07 14:01:06 -08:00
Ilya e8d472b65b Ignore headers with null values in web cmdlets (#11424) 2020-01-07 12:25:30 -08:00
Thomas Nieto b25e67e607 Remove RequireLicenseAcceptance default value (#11512) 2020-01-07 11:43:58 -08:00
xtqqczze 88711d4196 Allow error 504 (Gateway Timeout) in markdown-link tests (#11439) 2020-01-06 12:18:20 -08:00
spongemike2 1376d310bb Make web cmdlets skip processing the content headers with a null or empty value for backward compatibility (#11421) 2020-01-06 12:11:55 -08:00
Ilya 99cf9fd859
Re-balance CI tests (#11420) 2020-01-05 13:01:42 +05:00
Ilya b221c2afa2
Correct pwsh run (#11486) 2020-01-05 12:17:41 +05:00
xtqqczze 08d6be9039 Include url in the markdown-links test error message (#11438) 2020-01-03 10:40:27 -08:00
Andrew ea48e07c48 Added setting to disable implicit WinPS module loading (#11332) 2020-01-03 10:32:00 -08:00
xtqqczze ee71081432 Use CIM cmdlets instead of WMI cmdlets in tests (#11423) 2020-01-03 10:24:06 -08:00
Steve Lee 5b42126f7c Don't format exceptions that aren't ErrorRecords (#11415)
* In one of the previous PRs for ConciseView, System.Exception was incorrectly added to the typenames handled by the ErrorRecord formatting. This results in just Exception objects written to the console to not be rendered since the ErrorRecord formatting didn't handle this situation. Fix is to remove the line to add that type putting it back to how it was previously. 

* Also made the handling of ErrorRecord a bit more robust just in case Exception.Message doesn't exist nor a Message property.
2019-12-21 09:45:44 +05:00
Aditya Patwardhan 2dbb5717ce Make null member access tests as string to avoid parsing errors (#11385)
* Make null member access tests as string to avoid parsing errors

* Add PSNullConditionalOperators feature to testmetadata.json

* Add Parsing tests to be skipped

* Add tabcompletion tests
2019-12-21 00:14:07 +00:00
Steve Lee 27e1664e52 Add retry to Enter-PSHostProcess test (#11360) 2019-12-20 15:35:50 -08:00
Aditya Patwardhan ed27f36223
Fix test failing when UnixStat feature is disabled (#11370) 2019-12-20 15:32:50 -08:00
Paul Higinbotham e81bd1dfda Re-add check for Invoke-Command job dispose. (#11388) 2019-12-20 12:13:34 -08:00
xtqqczze 7a7365279c Avoid variable names that conflict with automatic variables (#11392) 2019-12-20 12:09:03 -08:00
Joel Sallow (/u/ta11ow) 7b33cfe847 Test-Connection: Fallback to hop IP Address on -Traceroute without -ResolveDestination (#11335) 2019-12-19 09:51:34 -08:00
Ilya 54e6199bbb Use invariant culture string conversion for -replace operator (#10954) 2019-12-19 09:50:46 -08:00
Aditya Patwardhan a24a5c7c5b Update hosting tests to use the SDK version from the build property (#11368) 2019-12-18 14:08:27 -08:00
Steve Lee 563b1cba83 Add trailing line number to filename for ConciseView (#11391) 2019-12-18 14:05:56 -08:00
Ilya dfb5b047b1
Revert "Update formatter to not write newlines if content is empty (#11193)" (#11342)
This reverts commit 51d2523f5f.
2019-12-18 00:53:19 +05:00
Steve Lee edd3e7680c Move Set-StrictMode to outer scriptblock for ErrorView (#11381) 2019-12-17 23:43:47 +05:00
Tyler James Leonhardt ca202da643 Improvements in breakpoint APIs for remote scenarios (#11312) 2019-12-12 17:23:12 -08:00
Steve Lee 03f10f052d Add -AsPlainText to ConvertFrom-SecureString (#11142) 2019-12-11 15:40:41 -08:00
Dongbo Wang 5605bf4195 Fix a regression in formatting caused by the FirstOrDefault primitive added in 7.0.0-Preview1 (#11258) 2019-12-11 15:37:18 -08:00
Steve Lee ed1f6e3144 Make approved features non-experimental (#11303) 2019-12-10 15:41:43 -08:00
Andrew 0c46e3e71d Added WindowsPS version check for WinCompat (#11148) 2019-12-10 10:40:13 -08:00
Steve Lee 6e4da244c5 Update ConciseView to use TargetObject if applicable (#11075) 2019-12-10 09:50:51 -08:00
Dongbo Wang 25895e34b8 Fix NullReferenceException in CompletionCompleters public methods (#11274) 2019-12-10 09:51:01 +05:00
Steve Lee 20a236b228 Update setting PSModulePath to concatenate the process + machine env var (#11276) 2019-12-09 16:25:08 -08:00
Andrew f8a321ae2b Fix error-reporting in some WinCompat scenarios (#11259) 2019-12-09 15:20:40 -08:00
Ilya 95c472a8c2 Add native binary resolver (#11032) 2019-12-09 12:03:53 -08:00
Ilya 12bf5306e2 Add null host name check in WSMan (#11288) 2019-12-09 10:52:03 -08:00
Steve Lee ee4eba5348 Update calculation of char width to respect CJK chars correctly (#11262) 2019-12-05 08:09:56 +05:00
Aditya Patwardhan 8e76ad00e2 Bump .NET to 3.1.0 (#11260) 2019-12-04 13:17:16 -08:00
Ilya 42f21ae6a0
Cleanups in command discovery (#10815)
* Enable nullable, make minor cleanups, add a test
* Reduce allocations in GetAliasTable()
* Remove searching by extensions on Unix
2019-12-03 11:23:36 +05:00
Travis Plunk 3cdab0d18d
Add Unblock-File for macOS (#11137) 2019-12-02 17:51:36 -08:00
Brendan Burns d38541fdce Add an implementation of Stop-Computer for Linux and macOS (#11151) 2019-12-02 17:29:11 -08:00
M1kep 570ba43a24 Allow CompleteInput to return results from ArgumentCompleter when AST or Script has matching function definition (#10574) 2019-12-02 10:51:13 -08:00
Steve Lee 51d2523f5f Update formatter to not write newlines if content is empty (#11193) 2019-12-02 10:51:02 -08:00
Ilya 2ee1760342 Fix regression in Get-PSCallStack (#11210) 2019-12-02 10:43:35 -08:00
David Smatlak 3923ca1728 Fixes FWLinks for PS7 online help documents (#11071) 2019-12-02 10:25:56 -08:00
Dongbo Wang d46dfc26b7
Do not resolve types from assemblies that are loaded in separate AssemblyLoadContext (#11088) 2019-11-26 12:40:16 -08:00
Travis Plunk b60381f922 Update macOS minimum version (#11163) 2019-11-24 17:41:53 +05:00
Steve Lee a1c2d3c977 Fix detection of $PSHOME in front of $env:PATH (#11141) 2019-11-23 15:17:08 -08:00
Travis Plunk 72780f333e
Make unreliable DSC test pending (#11131) 2019-11-22 14:18:41 -08:00
Steve Lee 2f672538b2 Add Type member to Exceptions containing type of exception for Get-Error (#11076) 2019-11-22 12:57:52 -08:00
Ilya 8d944fdec2
Write an error if argument is a directory in Get-FileHash cmdlet (#11114) 2019-11-21 15:15:19 +05:00
Steve Lee 0aaced35ad Update Get-Error to not modify the original $Error object (#11125) 2019-11-21 15:14:33 +05:00
Steve Lee 9b71696e33 Add OutputType to Get-Error cmdlet and preserve original typenames (#10856)
- Added OutputType attribute. 
- Cmdlet adds the PSExtendedError typename and removes Exception and ErrorRecord typenames so that the formatting is used. The formatter then removes PSExtendedError and puts back the original typename so that $Error should be the same before calling Get-Error. 
- While testing, had to make some changes to how InvocationInfo is retrieved so that ParseException which contains a nested ErrorRecord which as InvocationInfo is handled correctly. 
- Combined Exception and ErrorRecord formatter into one.
2019-11-19 08:54:58 +05:00
Joel Sallow (/u/ta11ow) 440837944a Test-Connection - Improve Logic and Output (#10697) 2019-11-18 11:32:59 -08:00
Andrew b218e6f6cc Support using non-compatible Windows PowerShell modules in PowerShell Core (#10973) 2019-11-18 10:44:55 -08:00
Steve Lee 2e553038c5 Allow pwsh to inherit $env:PSModulePath and enable powershell.exe to start correctly (#11057) 2019-11-15 17:29:04 -08:00
James Truher [MSFT] fe712f8de2 Experimental Feature: Provide Unix stat information in filesystem output (#11042) 2019-11-15 17:26:11 -08:00
Greg Smulko f32ae64b8b Support multi-line code blocks in examples (#10776) 2019-11-15 17:24:16 -08:00
Ilya ff37337f95 Add Culture parameter to Select-String cmdlet (#10943) 2019-11-15 17:07:39 -08:00
Paul Higinbotham bd0e30dec1 Fix Start-Job working directory path with trailing back slash (#11041) 2019-11-15 17:05:27 -08:00
Aditya Patwardhan 2579c00a20 Support null-conditional operators ?. and ?[] in PowerShell language (#10960) 2019-11-15 16:39:53 -08:00
Robert Holt ad12b14517 Stop blindly setting $? to true for ParenExpression, SubExpression and ArrayExpression (#11040) 2019-11-15 11:57:45 -08:00
Ilya fe40fbf6e1 Unload test modules (#11061) 2019-11-14 17:54:48 -08:00
Aditya Patwardhan 8fcd772353 Bump .NET core framework to 3.1-preview.3 (#11079) 2019-11-14 17:06:46 -08:00
Daniel Sturm 9e02343b18 ConvertFrom-Json: Unwrap Collections by default (#10861) 2019-11-14 16:41:00 -08:00
Joel Sallow (/u/ta11ow) 57a4d4c721 Group-Object - Use Case-Sensitive Hashtable for -CaseSensitive -AsHashtable (#11030)
Prior to this change, Group-Object -AsHashtable -CaseSensitive would give a key duplication error when given entries that only differ by casing. This was due to always using a case-insensitive hashtable, despite the request for -CaseSensitive behaviour.
2019-11-13 09:16:45 +05:00
Steve Lee e185f89591 Handle exception if enumerating files fails when rebuilding path to have correct casing (#11014) 2019-11-12 08:53:33 -08:00
Steve Lee 2a45ccc787 Fix ConciseView to show Activity instead of myCommand (#11007)
ConciseView shows MyCommand as the prefix to the error message, but for a scriptblock, MyCommand is the whole scriptblock. Fix is to use CategoryInfo.Activity if available first. Also handle case where it's a script function by seeing if it's a command and showing MyCommand in that case rather than the Activity.
2019-11-10 16:21:10 +05:00
Steve Lee c679536bb8 Increase time between retries of testing URL (#11015) 2019-11-08 20:28:06 +00:00
Vincent Damewood 04a1fc3b74 Allow Web Cmdlets to Ignore HTTP Error Statuses (#10466)
* Add -SkipHttpErrorCheck to web request cmdlets

The -SkipHttpErrorCheck flag causes web request cmdlets
(Invoke-WebRequest and Invoke-RestMethod) to ignore HTTP statuses that
are error statuses and treat them as successful requests. This allows
users to handle the responses using their own error handler and gives
them access to the full, unmodified response body and headers.

* Add -ResponseStatusVariable to Invoke-RestMethod

This allows the user to specify a variable to set to the integer value
of the respons's status code, Analogous to using
-ResponseHeadersVariable to retrieve the headers of the response. This
can be used to distinguish error messages from success messages when
used with -SkipHttpErrorCheck.

* Fix coding-style error

The summary for the SkipHttpErrorCheck property didn't conform
to style guidelines. This changes the summary to start with
"Gets or sets".

* Add tests for -SkipHttpErrorCheck

This flag supresses terminating errors on web cmdlets.
The tests are written to check that it properly
supressed the errors.

* Add test for -StatusCodeVariable

Th -StatusCodeVariable parameter specifies an output
variable for the status code with Invoke-RestMethod.
This test makes sure it functions properly.

* Fix typos and style for -SkipHttpErrorCheck tests

Variables had different cases from each other and some parameter
names were lower case.

* Fix typos and style for -StatusCodeVariable test

Variables had different cases from each other and some parameter
names were lower case.

* Add failure tests when missing -SkipHttpErrorCheck

These tests ensure that Web Cmdlets fail when -SkipHttpErrorCheck
is missing.

* Clean up tests for -SkipHttpErrorCheck

Per discussion on the pull requests. This commit fixes up
style problems with the tests for -SkipHttpErrorCheck.

* Add more status tests for -StatusCodeVariable

Previously, the -StatusCodeVariable flag in Invoke-RestMethod
only had tests for 200 status. This commit adds tests for 404
and 500 statuses and removes -SkipHttpErrorCheck from the 200
check.

* Fix response body in -StatusCodeVariable test

The test was copy/pastes from the 200 status test. The body
indicated success. This commit fixes that so it is also an
error indicator.
2019-11-07 12:38:24 -08:00