Commit graph

7147 commits

Author SHA1 Message Date
Andrew
095be4655e
Return correct casing of filesystem path during normalization (#9250)
* return correct casing of filesystem path during normalization

* handle UNC case

* handle case to add trailing separator back

* add support for NTFS streams syntax

* add case-sensitive test

* only apply correct casing to directories

* handle 8.3 path syntax

* fix short path processing
2019-04-23 13:31:43 -07:00
Steve Lee
5e58e30d20 Move warning message to EndProcessing so it only shows up once (#9385) 2019-04-23 13:31:20 -07:00
dependabot[bot]
600a93750e Build(deps): Bump gulp from 4.0.0 to 4.0.1 in /test/common/markdown (#9441) 2019-04-23 11:06:39 -07:00
pougetat
0bd93777fc Adding tests for Remove-Module (#9276) 2019-04-22 10:49:58 -07:00
Steve Lee
3e1f630695 Add Preview assets for msix (#9375) 2019-04-22 10:41:34 -07:00
dependabot[bot]
fd1d3cef91 Build(deps): Bump Newtonsoft.Json from 12.0.1 to 12.0.2 (#9434)
Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 12.0.1 to 12.0.2.
- [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
- [Commits](https://github.com/JamesNK/Newtonsoft.Json/compare/12.0.1...12.0.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-22 13:37:54 +05:00
dependabot[bot]
ecbde6c020 Build(deps): Bump Newtonsoft.Json (#9431)
Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 12.0.1 to 12.0.2.
- [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
- [Commits](https://github.com/JamesNK/Newtonsoft.Json/compare/12.0.1...12.0.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-22 13:37:09 +05:00
dependabot[bot]
f070332ee9 Build(deps): Bump NJsonSchema from 9.13.34 to 9.13.35 (#9429)
Bumps [NJsonSchema](https://github.com/rsuter/NJsonSchema) from 9.13.34 to 9.13.35.
- [Release notes](https://github.com/rsuter/NJsonSchema/releases)
- [Commits](https://github.com/rsuter/NJsonSchema/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-22 13:36:15 +05:00
dependabot[bot]
40dc9536d9 Build(deps): Bump NJsonSchema from 9.13.30 to 9.13.34 (#9421) 2019-04-20 13:37:06 -07:00
Ilya
ca447c3ad4
Run CodeFormatter with BraceNewLine,UsingLocation,FormatDocument,NewLineAbove rules (#9393) 2019-04-20 23:20:59 +05:00
Dongbo Wang
609d610c71 Allow CI to run on branches with this name pattern: feature* (#9415) 2019-04-19 11:27:33 -07:00
Ilya
1c4d88cb64
Run CodeFormatter for WSMan.Management (#9400) 2019-04-19 08:30:24 +05:00
Ilya
9d04e90516
Run CodeFormatter for WSMan.Runtime (#9401) 2019-04-19 08:29:20 +05:00
Ilya
1c8a89bcdc
Run CodeFormatter for Security module (#9399) 2019-04-19 08:28:29 +05:00
Ilya
ced70d390b
Run CodeFormatter for MarkdownRender (#9398) 2019-04-19 08:27:52 +05:00
Ilya
c6269bd1a8
Run CodeFormatter for Eventing (#9394) 2019-04-19 08:21:22 +05:00
Ilya
213ff96e6d Use Environment.NewLine for new lines in ConsoleHost code (#9392) 2019-04-18 17:29:36 -07:00
Aditya Patwardhan
f286c8ce63
Remove elements which do not work on earlier version on Windows PowerShell (#9411) 2019-04-18 16:56:53 -07:00
James Truher [MSFT]
4b67cdb9d4 Fix the platform check in CimDSCParser.cs (#9338) 2019-04-18 13:36:58 -07:00
Aditya Patwardhan
99c3fd1757
Convert custom attribute ValidatePathNotInSettings to function (#9406) 2019-04-18 12:49:42 -07:00
Tyler James Leonhardt
9140e421ec Add wildcard back to end of tab completion command lookup (#9383)
Re-add wildcard when searching AST + Missed test case.

## PR Context

In #8109, we removed the line that added a wildcard to the end of the command that was used to match commands in the script AST. This readds that line closer to where it is used.
2019-04-18 11:42:49 -07:00
Ilya
e9ffbe5cf2
Run CodeFormatter for Diagnostics module (#9378) 2019-04-18 08:13:01 +05:00
Ilya
4a323b3668
Run CodeFormatter for Microsoft.PowerShell.Commands.Management (#9377) 2019-04-18 08:08:56 +05:00
dependabot[bot]
2815288a52 Build(deps): Bump NJsonSchema from 9.13.29 to 9.13.30 (#9388) 2019-04-17 15:15:43 -07:00
Ilya
2174dd81a4 Reduce string allocation in console output code (#6882) 2019-04-17 10:42:14 -07:00
Ilya
50efc4192d
Run CodeFormatter for Utility module (#9376) 2019-04-17 17:42:03 +05:00
Aditya Patwardhan
3ffd998c58 Create codecoverage and test packages for non-windows (#9373)
Refactor the `ci.psm1` to publish the code coverage and test packages.
Allow `CodeCoverage` configuration on non-windows.

## PR Context

We plan to run code coverage on Windows, Linux and macOS. These changes are needed to unblock those runs.
2019-04-16 15:13:30 -07:00
Travis Plunk
cee1e54e75
Add ability to cross compile (#9374)
`-CrossGen` won`t work, but this gives basic ability to build for another platform.
This also means you cannot really package for another platform.
2019-04-16 14:14:29 -07:00
Steve Lee
73114ee36c Enable building of msix package (#9289)
Add support in packaging.psm1 to produce a .msix AppX package.  Update the docker image to use the new msix package type.  Update the associated yml files so AzDevOps performs the build.

## PR Context

Enable publishing PSCore6 to Microsoft Store
2019-04-15 17:07:15 -07:00
Travis Plunk
23451ac32f
Create dependabot config.yml (#9368)
Create dependabot config.yml
2019-04-15 11:49:17 -07:00
Tyler James Leonhardt
13fd3af810 New New-PSBreakpoint cmdlet & new -Breakpoint parameter for Debug-Runspace (#8923)
This PR does 4 things:

* Adds a new cmdlet `New-PSBreakpoint` which creates new `Breakpoint` objects and writes them to the pipeline
* Adds a `-Breakpoint` parameter to `Debug-Runspace` which will receive `Breakpoint` objects
* Makes the constructors for `*Breakpoint` public for use with the API
* Makes `Debugger.GetBreakpoint(string id)` and `Debugger.GetBreakpoints()` public since `SetBreakpoints` is public

Note: `New-PSBreakpoint` and `Set-PSBreakpoint` (which already exists) are similar... but `Set-PSBreakpoint` also sets the breakpoints in the _current_ runspace. This is not ideal if we want to set breakpoints in a _different runspace than the current one_.

## PR Context  

The "Attach to process" debugging experience in the PowerShell extension for VSCode is _ok_ but it's not great.

The reason it's not great is due to the `BreakAll` feature of PowerShell debugging which, when you run `Debug-Runspace`, will break at the first piece of code that gets run. This is not ideal when you "Attach to process" _and then_ run your code in the other runspace.

Today, the experience drops you in `PSReadLine`'s psm1 if PSRL is available or in the vscode PowerShell helper psm1.

It's unexpected for the user and not ideal.

This PR will allow the extension to pass in the breakpoints that need to be set initially with `BreakAll` turned off for none of this silly behavior.

### Silly behavior example

If you want a repro, try this:

PowerShell instance 1:
```
Enter-PSHostProcess -Id $otherprocesspid
Debug-Runspace 1
```

PowerShell instance 2:
```
./runfoo.ps1
```

Note that you end up NOT `runfoo.ps1`
2019-04-13 19:14:53 -07:00
ThreeFive-O
d67ee7aee3 Style: Match file name casings of C# source files for Utility commands (#9329)
Renames C# source files for `Microsoft.Powershell.Commands.Utility` to follow a common file name casing scheme.

## PR Context

This PR is only a style change and doesn't affect any logic.
2019-04-13 19:05:21 -07:00
Aditya Patwardhan
02974a986d Create test package for macOS on release builds (#9344) 2019-04-13 19:01:28 -07:00
Aditya Patwardhan
0418246682 Make CodeCoverage configuration build portable PDBs (#9346) 2019-04-13 19:00:30 -07:00
Aditya Patwardhan
be505772e2 Add AcessToken variable to jobs that perform signing (#9351) 2019-04-13 18:59:51 -07:00
dependabot[bot]
36c0825470 Build(deps): Bump NJsonSchema from 9.13.28 to 9.13.29 (#9349) 2019-04-13 18:58:14 -07:00
Travis Plunk
5913c88aaf
Mark tests in macOS CI which use applescript as pending/inconclusive (#9352)
Mark tests in macOS CI which use applescript as pending/inconclusive
2019-04-12 18:12:29 -07:00
James Truher [MSFT]
1006db647b Reduce time for stack overflow test (#9302)
Create a small class to do the work.
I saw 100x performance improvement in this test.
2019-04-12 14:21:33 -07:00
Sytze Andringa
4884317d00 Added more tests for import-alias by file regarding parsing difficult aliases strings (#9247) 2019-04-11 10:40:24 -07:00
Travis Plunk
35a7978581
Fix version of PowerShellGet in changelog (#9335)
Fix version of PowerShellGet in changelog
2019-04-10 17:57:24 -07:00
Keith Hill
d05737a098 Fix help paging issues on macOS/Linux and with custom pager that takes arguments (#9033)
* Pipe help system output through Out-String -Width when not using more

This fixes #7175 by using Out-String to properly wrap text before
sending to less or the user specified PAGER.

* Set the string output width when sending help to pager app

Fix #7175

* Fix #8912 by using PS tokenize to get custom pager cmd & args

* Fix macOS/Linux test failures

* It appears that while running in tests, ConsoleWidth is 0, set min val

* Address PR feedback
2019-04-10 14:17:19 -07:00
Reece Dunham
2d87948d8e Move from npm to Yarn for markdown tests (#9312)
Yarn is better because...
* it validates package checksums
* it has emojis 🤟
* it is faster and employs better caching
2019-04-10 14:16:22 -07:00
dependabot[bot]
46a62991d6 Build(deps): Bump System.Net.Http.WinHttpHandler from 4.5.2 to 4.5.3 (#9333) 2019-04-10 10:27:46 -07:00
Travis Plunk
e2bfced875
Update repo for Ubuntu 14.04 EOL (#9324)
Update repo for Ubuntu 14.04 EOL
  - also remove a missed instance of Fedora 27
2019-04-09 17:54:13 -07:00
Ilya
aba3bd5df1
Cleanup: sort usings (#9283) 2019-04-09 22:45:26 +05:00
Travis Plunk
b990c76992
Add CI for install-powershell.sh and amazon linux (#9314) 2019-04-08 14:45:15 -07:00
Dongbo Wang
e299a30128 Fixing test run crash by not passing script block to the callback (#9298) 2019-04-08 11:06:27 -07:00
Travis Plunk
98b2e147c1
Only search for functions in Constrained Language help tests (#9301)
Only search for functions in Constrained Language help tests

## PR Context

Searching for only functions is faster
2019-04-08 11:01:33 -07:00
Christoph Bergmeister [MVP]
f5fc0535ac Preserve user shortcuts pinned to Taskbar during MSI upgrade (#9305)
Fixes #8919 

Preserve user shortcuts pinned to Taskbar during MSI upgrade by not removing shortcuts in this case (assuming the user has not changed the installation directory), see https://stackoverflow.com/a/33402698/1810304
This also requires the Guid to not always be re-generated, which PR #7701 originally added to ensure shortcuts get removed when RTM and preview are installed, the underlying problem was rather that RTM and preview shared the same GUIDs, therefore the GUIDs are hard-coded again but different for RTM and preview, therefore the shortcuts will still always get removed on uninstall. But this also means those GUIDs should change when the default installation directory changes, i.e. in PowerShell 7. Should we write the code to already take this into account that it does not get forgotten?

Tested by first reproducing the issue by building installers locally (and bumping the patch version. Then the fix was applied to verify the solution, it. For this to take effect the version from which an MSI is being upgraded must have this fix already, i.e. if this fix got shipped in `6.2.1`, then on upgrading to it, the issue would still occur but when upgrading `6.2.1` to `6.2.2` the shortcut would start being preserved. I am wondering if we could maybe improve this to show effect earlier by trying to extract the used (auto-generated) GUIDs in the `6.2.0` and `6.2.0-rc` packages out and use them...
Please not that we probably need to take this out for `7.0` because the base installation directory will change. This also assumes that the user has not specified a different installation directory on upgrade but this is a bit of an edge case where I think other things might break as well.
2019-04-07 12:25:56 -07:00
Steve Lee
b63696572f Fix skipping of tests in RemoteSession.Basic.Tests.ps1 (#9304)
Moved check if able to write to $PSHome as way to skip test to `BeforeAll` which already contained a check if running on Windows.

## PR Context

As part https://github.com/PowerShell/PowerShell/pull/9279, tests were updated to be skipped if the test requires writing to `$PSHome` but is not able to.  However, these tests already had a skip mechanism in place so the additional check caused the test to run when it should have skipped.

Co-authored-by: Travis Plunk <github@ez13.net>
2019-04-05 17:00:41 -07:00