Commit graph

44 commits

Author SHA1 Message Date
Steve Lee
a82f6376ab Change CRLF to LF for files that are already in repository (#4956) 2017-09-29 17:43:57 -07:00
Steve Lee
2639cd89ce Autocorrected CRLF to LF (#4943)
Also, fix `Parser.Tests.ps1` after correcting CRLF.
2017-09-29 16:28:15 -07:00
Travis Plunk
f02e692a5d Fix credential scan issues (#4927)
* Add file secret suppression
* Add line secret suppression
* This will be consumed in the VSTS daily build.
* Renamed tests with ConvertTo-SecureString to avoid false positives
2017-09-27 11:54:22 -07:00
Steve Lee
901a61bcc1 Enable auto EOL on git repo side, fix some character encoding issues (#4912)
- add ending newline to files missing it using:
`awk -F: '$2 ~ / no line terminators/ {print $1}' ~/text-files.txt | xargs -I{} sh -c 'printf "\n" >> "$1"' - {}`
- update .gitattributes to enforce autocrlf on all text files
- added <copyright> opening element where it was missing
removed file attribute pointing to wrong filename
- fix mis-encoded character to apostrophe
- replace incorrect encoding of copyright symbol with (c)
- updated file hashes in the test
2017-09-25 15:14:39 -07:00
Steve Lee
25a32284dd fix tests not setting back $psdefaultparametervalues back correctly (#4892) 2017-09-23 13:48:51 -07:00
Dongbo Wang
c9cf843302 Fix a test issue that causes tests to be skipped in Travis CI run (#4891) 2017-09-21 11:54:48 -07:00
Paul Higinbotham
7c8b7eff52 Port tests for constrained language mode (#4816)
* Port tests for constrained language mode
* Added 'RequireAdminOnWindows' for registry access
* Restored Wait-UntilTrue to current state
2017-09-19 14:53:29 -07:00
Steve Lee
7c9b188c13 Rename $IsOSX to $IsMacOS (#4757) 2017-09-07 10:34:40 -07:00
James Truher [MSFT]
5d0a1c1a7f get tests to display the same number of tests regardless of platform (#4728)
* Make count of tests the same between Windows and Non-Windows platforms

Change logic so test cases are created for all platforms, but only load the helper module on windows

* Ensure Get-ComputerInfo tests run the same number of tests regardless of platform
2017-09-05 11:17:57 -07:00
Mark Kraus
1b23a62ae1 [Feature] Add Certificate Authentication Support for WebCmdlets (#4546)
* [Feature] Add Certificate Authentication Support for WebCmdlets

PowerShell/PowerShell#4544

* Add Certificate  Comments

* Set Certificate Options

* [feature] Post-rebase White-space correction

* [feature] mark certauth tests pending
2017-08-18 13:56:31 -07:00
bergmeister
ffd39b2853 PSScriptAnalyzer fixes by category (#4261)
- Fix PSScriptAnalyzer warnings of type PSAvoidUsingCmdletAliases for 'ForEach-Object' (alias is '%' or 'foreach')
- Fix PSScriptAnalyzer warnings of type PSAvoidUsingCmdletAliases for 'Where-Object' (alias is '?' or 'where')
- Fix PSScriptAnalyzer warnings of type PSAvoidUsingCmdletAliases for 'Select-Object' (alias is 'select')
- Fix PSScriptAnalyzer warnings of type PSPossibleIncorrectComparisonWithNull. Essentially, $null has to be on the left-hand side when using it for comparison.
- A Test in ParameterBinding.Tests.ps1 needed adapting as this test used to rely on the wrong null comparison
- Replace a subset of tests of kind '($object -eq $null) | Should Be $true' with '$object | Should Be $null'
2017-07-21 21:03:49 -07:00
Travis Plunk
684e06eb11 Make DocumentEncryptionCert test pending (#3854) 2017-05-24 12:22:17 -07:00
Travis Plunk
3496136999 Remove undocumented certificate Win32 APIs (#3818)
The code paths deleted where using the undocumented Win32 APIs on WIn8 and newer for the following purposes:
* Faster filtering
* Getting two properties (left empty on Win7 and below)
* Logging using Certificate components when a cert is deleted or copied.

After the change, all the code uses public APIs.  Filtering is done in PowerShell using existing code.  I don't believe the logging is needed.
2017-05-22 22:33:51 -07:00
Ilya
a99fb531e6 Add autoload for test modules (#3342)
Related #3238

1. Add autoload for test modules
2. Move TestHostCS.psm1 to 'test\tools\Modules\' folder
3. Remove explicit load TestHostCS.psm1 from test files
2017-03-26 21:46:39 -07:00
Steve Lee
76de340e79 corrected use of PSModulePath casing to be consistent with Windows PowerShell (#3255)
* corrected use of PSModulePath casing to be consistent with Windows PowerShell
addresses #3227

* addressing review feedback
make "PSModulePath" into const
fixed some test workarounds due to failures for external reasons that wasn't meant to be checked in

* addressing review feedback
make "PSModulePath" into const
fixed some test workarounds due to failures for external reasons that wasn't meant to be checked in
2017-03-15 12:04:28 -07:00
Dongbo Wang
60583b1b73 Fix a CMS test that fails in nightly build.
Add a certificate that cannot be used to encrypt data to verify an error condition.
2017-03-07 13:39:15 -08:00
Dongbo Wang
fc30ae1d87 Port CmsMessage cmdlets and Get-PfxCertificate to powershell core (#3224) 2017-03-01 10:51:19 -08:00
Ilya
e10cbff354 Add ShouldProcess to New-FileCatalog and Test-FileCatalog (#3074)
* Add ShouldProcess to New-FileCatalog and Test-FileCatalog

Close #3068

Add support `-WhatIf` and `-Confirm` to `New-FileCatalog` and add a
test.
`Test-FileCatalog` has a common code base with `New-FileCatalog` so it
automatically get the same. I believe that adding a separate test in
this case doesn't make sense.

* Fiz after code review

Remove  _ShouldProcess
Add var in test
2017-02-17 16:32:58 -08:00
Ilya
409ab7443f Fix GetType() bad pattern and related issues in tests (#3134)
* Fix GetType() bad pattern and related issues in tests

$var.GetType() can raise an exception in tests so we should check $var
before make the call. A large part of the tests does not make this
check.
I start with searching ".GetType()" but discovered many related issues
in tests (reduntant and unneeded tests, "throw" bad pattens, bugs,
formattings (sorry!) and so on) - I had to fix them too.

* Fix after code review
* Second wave of migration GetType() -> BeOfType
Removed 'GetType().Name' patterns.
2017-02-15 16:40:51 -08:00
Ilya
fd70adbc90 Improve console cmdlets tests (#3101)
* Improve console cmdlets tests
Main improvements refer to tests of the Write-Host cmdlet.
Original tests:
1. Slow because run external processes
2. Don't test colors and -NoNewLine in fact.

1. The original tests is preserved (deleted one as redundant) but marked
by 'Slow' tag. They is preserved because they actually check the output
on the work, not a test console.
2. Add negative color tests. (Code cover grow!)
3. Add tests based on TestHostCS. This test host has been refined so we
can see colors and a new line in output.
4. Add minor fixes for test modules loads.

Also I add support for Information stream. I originally planned to use
it but not actually used. However, I have left this as a useful addition
for future tests.
I wonder that a Write-Host console output is duplicated in Information
Stream - Is it by design? I left a debug print on this matter in the
test code.

* Fix after code review
* Corrections after code review
Suppress import-module warnings
Rename Describes
Add "-Object" test
Add Stream.Information tests with TestHostCS
* Add checks for Streams.Information and add comments
2017-02-14 11:00:03 -08:00
Jason Shirk
02b5f357a2 Remove trailing whitespace (#3001) 2017-01-16 13:31:14 -08:00
2xmax
1ccd155917 fixed some expected exception tests according to the template 611f7f9b77/docs/testing-guidelines/WritingPesterTests.md (L54) 2017-01-05 18:23:37 -08:00
Ilya
124979b4da All test reported as skipped if not applicable to the platform (#2892)
* All test reported as skipped if not applicable to the platform

Fixed files:

powershell\Modules\Microsoft.PowerShell.Management\Clear-EventLog.Tests.ps1:1:if
($IsWindows -and !$IsCoreCLR) {

powershell\Modules\Microsoft.PowerShell.Management\Get-ComputerInfo.Tests.ps1:1325:
return

powershell\Modules\Microsoft.PowerShell.Management\Get-EventLog.Tests.ps1:1:if
($IsWindows -and !$IsCoreCLR) {

powershell\Modules\Microsoft.PowerShell.Management\New-EventLog.Tests.ps1:1:if
($IsWindows -and !$IsCoreCLR) {
powershell\Modules\Microsoft.PowerShell.Management\Registry.Tests.ps1:7:
if ($IsWindows -eq $false) {

powershell\Modules\Microsoft.PowerShell.Management\Registry.Tests.ps1:167:
if ($IsWindows -eq $false) {

powershell\Modules\Microsoft.PowerShell.Management\Remove-EventLog.Tests.ps1:1:if
($IsWindows -and !$IsCoreCLR) {

powershell\Modules\Microsoft.PowerShell.Management\TimeZone.Tests.ps1:17:if
($IsWindows) {

powershell\Modules\Microsoft.PowerShell.Security\FileCatalog.Tests.ps1:6:if
($IsWindows) {

powershell\engine\Help\HelpSystem.Tests.ps1:112: if ($IsWindows)

* Fix test after code review

* Move skiping to common 'try'
2017-01-04 10:09:07 -08:00
Dongbo Wang
0e8c809ffb Replace 'git rev-parse' with path relative to '$PSScriptRoot' in powershell tests 2016-10-28 16:51:44 -07:00
Sergei Vorobev
9cc905dea4 Add verbose comment about the execution policy test
'-Scope LocalMachine is Settable, but overridden'
2016-09-29 16:06:42 -07:00
Sergei Vorobev
735bcca4d0 Allow ExecutionPolicy tests to throw specific type of error
Split LocalMachine test case into two separate tests:
- One without overriden policy (throws exception)
- One with overriden policy
2016-09-29 12:29:27 -07:00
Sergei Vorobev
a1ee6d840d Make ExecutionPolicy.Tests.ps1 admin-aware 2016-09-29 12:29:27 -07:00
Mike Richmond
adf6250175 Moving ExecutionPolicy tests to Microsoft.PowerShell.Security and refactoring test skipping for Windows. 2016-09-28 10:55:50 -07:00
Dongbo Wang
1ea555810c Fix Get-Credential to not prompt twice when no parameter is specified 2016-09-27 09:49:28 -07:00
McAndersDK
5738f37b74 Added support for title in get-Credential, and message set to optional. (#1904)
* Update CredentialCommands.cs

Added possibility to add title to the credential prompt window.
Added possibility to only supply username without giving a message.

* Added Test for Get-Credential new feature. (Title, and Message only optional.)
2016-09-16 14:53:55 -07:00
Jason Shirk
bc8d537884 Merge pull request #2067 from JamesWTruher/jameswtruher/testgapfile-002
Fill more gaps in cmdlet test coverage
2016-09-01 11:16:32 -07:00
James Truher
2824e136cb update exception messages 2016-08-30 16:15:10 -07:00
James Truher
d3a177d6ae Add simple securestring conversion cmdlet tests 2016-08-30 16:15:10 -07:00
Josh Soref
2badb244de spelling fixes: test 2016-08-25 17:49:32 +00:00
James Truher
9d1c998287 Filling test gaps (issue 2022) - this replaces PR 1834
This replaces PR 1834 from the private fork I had
2016-08-22 14:56:04 -07:00
Barry Nolte
890e80dd54 Getting tests to run from build directory with spaces in it (#1981)
* [build.psm1] - mc.exe input file needs quotes

For filenames that have spaces or paths to that file that have spaces, the input filename needs to have quotes around it.

* Quoted more paths so tests run from directories with spaces

Found a few locations where paths weren't qutoed or escaped with '& ...' that are needed to get tests to run from build directories with spaces in them.
2016-08-22 09:57:30 -04:00
James Truher
5644c4c54b Create new test for Get-Credential which requires module to create a test host 2016-08-19 13:01:04 -07:00
James Truher
9e225ccae2 changes tags for tests
Start using tags CI, Feature, Scenario
2016-07-27 12:06:51 -07:00
PowerShell Team
165f2a86c3 Convert UTF-16 files to UTF-8 2016-07-22 13:54:34 -07:00
Andrew Schwartzmeyer
e6c037c666 Remove Platform.HasExecutionPolicy query
Also change Get-ExecutionPolicy to not throw, but to return
Unrestricted (which is the effect of the actual policy).
2016-07-14 17:34:12 -07:00
Dongbo Wang
c1d9316a3c Disable 3 FileCatalog tests. They fail in CoreCLR OPS on AppVeyor build VM (Windows Server 2012R2), though they always pass on Windows 10 2016-07-06 15:08:51 -07:00
Dongbo Wang
c502b31509 Exclude the TimeZone/Computer/FileCatalog cmdlets for Linux. They use windows specific Win32 APIs 2016-07-06 13:04:51 -07:00
PowerShell Team
45791aa030 Add tests for TimeZone cmdlets and FileCatalog cmdlets [SD:717473] 2016-07-06 13:04:32 -07:00
James Truher
1e1c4b7dc0 Restructure of pester test layout
This restructuring moves tests to a directory name which matches the module
in which the cmdlet resides which should improve the discoverability of a
specific test.
For tests which are not about cmdlets in a module, new directories have been
created to make those tests easier to find as well
2016-06-29 12:05:41 -07:00