-
Notifications
You must be signed in to change notification settings - Fork 394
Take development to master for version 1.6.0 release #558
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The class does not implement IScriptExtent interface anymore. The purpose of CorrectionExtent is to emit violation extent and the correction text but this behaviour is not consistent with the IScriptExtent interface.
…-sample2 Changed section on Profile support to use Setting instead.
Hashtable keys were compared in case-sensitive manner to lower case valid keys while adding values to the lists of severity, rule inclusion and rule exclusion. This commit also remove the relevant code duplication in ParseProfileHashtable and ParseProfileString while adding the values to the respective lists.
* Changes the name to AddProfileItem * Adds input argument validation
Moves the module manifest testing logic to a separate method in the Helper class. This will enable reuse of the functionality by other rules.
Suggest corrections to FunctionsToExport and AliasesToExport when their values are set to '*' or '$null', e.g., FunctionsToExport = '*'. This does not support wildcard in an array, eg @('Set-Foo', 'Get-*').
Fix settings hashtable input
The new extent includes only the region between the username and password parameters rather than the entire function.
…ramsExtent Fix extent of AvoidUsernameAndPasswordParams rule
Fixes search logic to find the function name in a function definition. Prior to the fix, if the function definition started on the first line of a script, the extent would include the entire function definition. This commit fixes that bug.
Whenever Helper.SuppressRule encounters any error, it invokes Cmdlet.WriteError. When running script rules, SuppressRule is called from rule execution threads. As such, Cmdlet.WriteError gets called from the rule execution threads. This results in an InvalidOperationException because this method can be called only from within BeginProcessing, ProcessRecord and EndProcessing and only within the main program thread.
Fix extents of UseSingularNoun and UseApprovedVerbs
Fix invoking WriteError from rule execution threads
Fix building on PSv3
The error was caused by Hashtables being cast to DiagnosticRecord arrays. This commit fixes these errors caused when Pester is invoked on CustomizedRule.Tests.ps1 Consider the following example. $result = [Microsoft.Windows.Powershell.ScriptAnalyzer.Generic.DiagnosticRecord[]]@{"Message" = "this is help"; "Extent" = $ast.Extent; "RuleName" = $PSCmdlet.MyInvocation.InvocationName; "Severity" = "Warning"} In PowerShell v4, this gives the following error. Cannot convert value "System.Collections.Hashtable" to type "Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.DiagnosticRecord[]". Error: "Cannot create object of type "Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.DiagnosticRecord". "Extent" is a ReadOnly property." At line:1 char:1 + $result = [Microsoft.Windows.Powershell.ScriptAnalyzer.Generic.DiagnosticRecord[ ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [], RuntimeException + FullyQualifiedErrorId : InvalidCastExceptionScalarToArray
…rRule Fix null reference exception in MissingModuleManifestField rule
Loading an external rule module with version errors out on PSv4. But it works on PSv5. So we remove the sample rule with version from the glob pattern by renaming it.
Visual Studio 2015 image runs on Windows Server 2012 R2. Hence, this will help us test ScriptAnalyzer on PowerShell v4
Visual Studio version in the solution file was changed by mistake to 14.0 in commit b82733. This commit reverts the version to 12.0
Fix build and test issues on PowerShell v4
The recommended type has a typo. The 'wrong' and 'correct' examples are inconsistent and include unnecessary extra parameters which (in my opinion) distract from the point being conveyed. Also fixed up spacing.
Two rules in the CommunityAnalzyerRules module use StaticParameterBinder class. This class was introduced in PowerShell version 4.0.
Documentation fixes for AvoidUsingPlainTextForPassword.md
Fix test issues on PowerShell v3
Update change log for next version release
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change is