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
tests: Fix Windows test helper tool search & use it for handle64 #12115
Conversation
The checkcmd() and checktestcmd() functions would not have worked on Windows due to hard-coding the UNIX PATH separator character and not adding .exe file extension. This meant that tools like stunnel, valgrind and nghttpx would not have been found and used on Windows, and inspection of previous test runs show none of those being found in pure Windows CI builds. With this fixed, they can be used to detect the handle64.exe program before attempting to use it. When handle64.exe was called unconditionally without it existing, it caused perl to abort the test run with the error The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: sh: handle64.exe: command not found Closes #12115
I think it would be worthwhile to rebase this on a bad commit (that actually causes handle64 to be invoked) and run it through CI to make sure it functions as expected. |
Testing it is the trick. I'll try pushing a build to the CI that randomly clears locks some percentage of the time to see how it goes. |
The checkcmd() and checktestcmd() functions would not have worked on Windows due to hard-coding the UNIX PATH separator character and not adding .exe file extension. This meant that tools like stunnel, valgrind and nghttpx would not have been found and used on Windows, and inspection of previous test runs show none of those being found in pure Windows CI builds. With this fixed, they can be used to detect the handle64.exe program before attempting to use it. When handle64.exe was called unconditionally without it existing, it caused perl to abort the test run with the error The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: sh: handle64.exe: command not found Closes #12115
The checkcmd() and checktestcmd() functions would not have worked on Windows due to hard-coding the UNIX PATH separator character and not adding .exe file extension. This meant that tools like stunnel, valgrind and nghttpx would not have been found and used on Windows, and inspection of previous test runs show none of those being found in pure Windows CI builds. With this fixed, they can be used to detect the handle64.exe program before attempting to use it. When handle64.exe was called unconditionally without it existing, it caused perl to abort the test run with the error The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: sh: handle64.exe: command not found Closes #12115
It appears to be working as expected. Here's an msys2 build on Azure that seems to have run handle64.exe and retrieved a handle for a number of tests. On the other hand, the test Appveyor builds showed no error messages now, despite those being the one complaining about handle64.exe in the past. |
The checkcmd() and checktestcmd() functions would not have worked on Windows due to hard-coding the UNIX PATH separator character and not adding .exe file extension. This meant that tools like stunnel, valgrind and nghttpx would not have been found and used on Windows, and inspection of previous test runs show none of those being found in pure Windows CI builds. With this fixed, they can be used to detect the handle64.exe program before attempting to use it. When handle64.exe was called unconditionally without it existing, it caused perl to abort the test run with the error The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: sh: handle64.exe: command not found Closes curl#12115
The checkcmd() and checktestcmd() functions would not have worked on
Windows due to hard-coding the UNIX PATH separator character and not
adding .exe file extension. This meant that tools like stunnel, valgrind
and nghttpx would not have been found and used on Windows, and
inspection of previous test runs show none of those being found in pure
Windows CI builds.
With this fixed, they can be used to detect the handle64.exe program
before attempting to use it. When handle64.exe was called
unconditionally without it existing, it caused perl to abort the test
run with the error
Closes #12115