From a4e4e6af6d343b475f87498581a1248ac37f8c3c Mon Sep 17 00:00:00 2001 From: Mark Kraus Date: Tue, 5 Dec 2017 04:12:04 -0600 Subject: [PATCH 1/4] [feature] Make Travis CI use libcurl+openssl --- .travis.yml | 4 ++++ .../WebCmdlets.Tests.ps1 | 20 ++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 81cc91c7f1a..7672d6b1833 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,6 +25,10 @@ install: rvm install ruby-2.3.3; rvm --default use 2.3.3; fi + # Ensure that libcurl+openssl is used on macOS for greater feature support. + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + export DYLD_LIBRARY_PATH=/usr/local/opt/curl/lib:/usr/local/opt/openssl/lib:${DYLD_LIBRARY_PATH}; + fi - pushd tools - ./install-powershell.sh - popd diff --git a/test/powershell/Modules/Microsoft.PowerShell.Utility/WebCmdlets.Tests.ps1 b/test/powershell/Modules/Microsoft.PowerShell.Utility/WebCmdlets.Tests.ps1 index e9282b5245c..bf77837d4fe 100644 --- a/test/powershell/Modules/Microsoft.PowerShell.Utility/WebCmdlets.Tests.ps1 +++ b/test/powershell/Modules/Microsoft.PowerShell.Utility/WebCmdlets.Tests.ps1 @@ -1412,9 +1412,8 @@ Describe "Invoke-WebRequest tests" -Tags "Feature" { $testCases1 = @( @{ Test = @{SslProtocol = 'Default'; ActualProtocol = 'Default'}; Pending = $false } @{ Test = @{SslProtocol = 'Tls'; ActualProtocol = 'Tls'}; Pending = $false } - # these two currently fail on Travis CI macOS build - @{ Test = @{SslProtocol = 'Tls11'; ActualProtocol = 'Tls11'}; Pending = $IsMacOS } - @{ Test = @{SslProtocol = 'Tls12'; ActualProtocol = 'Tls12'}; Pending = $IsMacOS } + @{ Test = @{SslProtocol = 'Tls11'; ActualProtocol = 'Tls11'}; Pending = $false } + @{ Test = @{SslProtocol = 'Tls12'; ActualProtocol = 'Tls12'}; Pending = $false } # macOS does not support multiple SslProtocols @{ Test = @{SslProtocol = 'Tls, Tls11, Tls12'; ActualProtocol = 'Tls12'}; Pending = $IsMacOS } @{ Test = @{SslProtocol = 'Tls11, Tls12'; ActualProtocol = 'Tls12'}; Pending = $IsMacOS } @@ -1433,9 +1432,8 @@ Describe "Invoke-WebRequest tests" -Tags "Feature" { @{ Test = @{IntendedProtocol = 'Tls'; ActualProtocol = 'Tls11'}; Pending = $false } @{ Test = @{IntendedProtocol = 'Tls11'; ActualProtocol = 'Tls12'}; Pending = $false } @{ Test = @{IntendedProtocol = 'Tls12'; ActualProtocol = 'Tls11'}; Pending = $false } - # these two currently fail on Travis CI macOS build - @{ Test = @{IntendedProtocol = 'Tls11'; ActualProtocol = 'Tls'}; Pending = $IsMacOS } - @{ Test = @{IntendedProtocol = 'Tls12'; ActualProtocol = 'Tls'}; Pending = $IsMacOS } + @{ Test = @{IntendedProtocol = 'Tls11'; ActualProtocol = 'Tls'}; Pending = $false } + @{ Test = @{IntendedProtocol = 'Tls12'; ActualProtocol = 'Tls'}; Pending = $false } # macOS does not support multiple SslProtocols @{ Test = @{IntendedProtocol = 'Tls11, Tls12'; ActualProtocol = 'Tls'}; Pending = $IsMacOS } @{ Test = @{IntendedProtocol = 'Tls, Tls12'; ActualProtocol = 'Tls11'}; Pending = $IsMacOS } @@ -2382,9 +2380,8 @@ Describe "Invoke-RestMethod tests" -Tags "Feature" { $testCases1 = @( @{ Test = @{SslProtocol = 'Default'; ActualProtocol = 'Default'}; Pending = $false } @{ Test = @{SslProtocol = 'Tls'; ActualProtocol = 'Tls'}; Pending = $false } - # these two currently fail on Travis CI macOS build - @{ Test = @{SslProtocol = 'Tls11'; ActualProtocol = 'Tls11'}; Pending = $IsMacOS } - @{ Test = @{SslProtocol = 'Tls12'; ActualProtocol = 'Tls12'}; Pending = $IsMacOS } + @{ Test = @{SslProtocol = 'Tls11'; ActualProtocol = 'Tls11'}; Pending = $false } + @{ Test = @{SslProtocol = 'Tls12'; ActualProtocol = 'Tls12'}; Pending = $false } # macOS does not support multiple SslProtocols @{ Test = @{SslProtocol = 'Tls, Tls11, Tls12'; ActualProtocol = 'Tls12'}; Pending = $IsMacOS } @{ Test = @{SslProtocol = 'Tls11, Tls12'; ActualProtocol = 'Tls12'}; Pending = $IsMacOS } @@ -2403,9 +2400,8 @@ Describe "Invoke-RestMethod tests" -Tags "Feature" { @{ Test = @{IntendedProtocol = 'Tls'; ActualProtocol = 'Tls11'}; Pending = $false } @{ Test = @{IntendedProtocol = 'Tls11'; ActualProtocol = 'Tls12'}; Pending = $false } @{ Test = @{IntendedProtocol = 'Tls12'; ActualProtocol = 'Tls11'}; Pending = $false } - # these two currently fail on Travis CI macOS build - @{ Test = @{IntendedProtocol = 'Tls11'; ActualProtocol = 'Tls'}; Pending = $IsMacOS } - @{ Test = @{IntendedProtocol = 'Tls12'; ActualProtocol = 'Tls'}; Pending = $IsMacOS } + @{ Test = @{IntendedProtocol = 'Tls11'; ActualProtocol = 'Tls'}; Pending = $false } + @{ Test = @{IntendedProtocol = 'Tls12'; ActualProtocol = 'Tls'}; Pending = $false } # macOS does not support multiple SslProtocols @{ Test = @{IntendedProtocol = 'Tls11, Tls12'; ActualProtocol = 'Tls'}; Pending = $IsMacOS } @{ Test = @{IntendedProtocol = 'Tls, Tls12'; ActualProtocol = 'Tls11'}; Pending = $IsMacOS } From c88192e9dd04ebe3930b0336eed1d184e067b2e3 Mon Sep 17 00:00:00 2001 From: Mark Kraus Date: Tue, 5 Dec 2017 04:34:38 -0600 Subject: [PATCH 2/4] [feature] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 862bd30b3a2..364751bf242 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Update the contribution guideline to note that updating the changelog is required. (#5586) - Remove Pester as a module include with the PowerShell Packages. In the future, you should be able to add it by running `Install-Module Pester`. (#5623, #5631) +- Make Travis CI use `libcurl+openssl` (#5629, @markekraus) ## v6.0.0-rc - 2017-11-16 From 3c9e098943bc5d455f518f6f8a4dce6cb2a467cb Mon Sep 17 00:00:00 2001 From: Mark Kraus Date: Tue, 5 Dec 2017 06:24:49 -0600 Subject: [PATCH 3/4] [feature] Add GSSAPI to libcurl --- CHANGELOG.md | 1 + build.psm1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 364751bf242..3c6ab6c26a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Remove Pester as a module include with the PowerShell Packages. In the future, you should be able to add it by running `Install-Module Pester`. (#5623, #5631) - Make Travis CI use `libcurl+openssl` (#5629, @markekraus) +- Make Travis CI use `libcurl+openssl+gssapi` (#5629, @markekraus) ## v6.0.0-rc - 2017-11-16 diff --git a/build.psm1 b/build.psm1 index 7af1d0ee343..a5f4a1c540d 100644 --- a/build.psm1 +++ b/build.psm1 @@ -1533,7 +1533,7 @@ function Start-PSBootstrap { Start-NativeExecution { brew install $Deps } -IgnoreExitcode # Install patched version of curl - Start-NativeExecution { brew install curl --with-openssl } -IgnoreExitcode + Start-NativeExecution { brew install curl --with-openssl --with-gssapi } -IgnoreExitcode } # Install [fpm](https://github.com/jordansissel/fpm) and [ronn](https://github.com/rtomayko/ronn) From 5f96cc6c81f8b78a7ab7191ee7e4be916fb43a65 Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Tue, 5 Dec 2017 16:55:14 -0800 Subject: [PATCH 4/4] [feature] Remove duplicate entry in ChangeLog.md --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c6ab6c26a5..3e03903f904 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,6 @@ - Update the contribution guideline to note that updating the changelog is required. (#5586) - Remove Pester as a module include with the PowerShell Packages. In the future, you should be able to add it by running `Install-Module Pester`. (#5623, #5631) -- Make Travis CI use `libcurl+openssl` (#5629, @markekraus) - Make Travis CI use `libcurl+openssl+gssapi` (#5629, @markekraus) ## v6.0.0-rc - 2017-11-16