diff --git a/.travis.yml b/.travis.yml index 0126c52d6e..1f8c14d26e 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/CHANGELOG.md b/CHANGELOG.md index 862bd30b3a..3e03903f90 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+gssapi` (#5629, @markekraus) ## v6.0.0-rc - 2017-11-16 diff --git a/build.psm1 b/build.psm1 index 7af1d0ee34..a5f4a1c540 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) diff --git a/test/powershell/Modules/Microsoft.PowerShell.Utility/WebCmdlets.Tests.ps1 b/test/powershell/Modules/Microsoft.PowerShell.Utility/WebCmdlets.Tests.ps1 index e9282b5245..bf77837d4f 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 }