| commit | 9463769f2e2dba9eeff554a88e5df5195d2c774b | [log] [tgz] |
|---|---|---|
| author | Viktor Szakats <commit@vsz.me> | Thu Mar 06 04:13:23 2025 +0100 |
| committer | Viktor Szakats <commit@vsz.me> | Thu Mar 06 20:09:29 2025 +0100 |
| tree | 9dcd4d3577ae398f9ecfbc1360cb8a25a3f9b422 | |
| parent | 8537a5b0bcf4565551774c2b2375c49767e405a7 [diff] |
tests: reformat error messages to avoid tripping MSBuild Change the format of error messages sent to stderr from tests and test servers. As a workaround to avoid triggering Visual Studio's MSBuild tool's built-in regexp matcher, and making it mark builds failed for reasons we don't want them to hard fail. Roughly, the pattern to avoid is the word "error" (case-insensitive) in the same line with a colon `:`. It affected GHA/windows MSVC CI jobs, causing flakiness: ``` CUSTOMBUILD : fopen() failed with error : 13 Permission denied [D:\a\curl\curl\bld\tests\test-ci.vcxproj] Error opening file: log/4/smtp_sockfilt.log [...] CUSTOMBUILD : fopen() failed with error : 13 Permission denied [D:\a\curl\curl\bld\tests\test-ci.vcxproj] Error opening file: log/8/imap_sockfilt.log Msg not logged: 00:18:10.656000 > 178 bytes data, server => client [...] TESTDONE: 1629 tests out of 1634 reported OK: 99% Building Custom Rule D:/a/curl/curl/tests/CMakeLists.txt C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(254,5): error MSB8066: Custom build for 'D:\a\curl\curl\bld\CMakeFiles\621f80ddbb0fa48179f056ca77842ff0\test-ci.rule;D:\a\curl\curl\tests\CMakeLists.txt' exited with code -1. [D:\a\curl\curl\bld\tests\test-ci.vcxproj] Error: Process completed with exit code 1. ``` Ref: https://github.com/curl/curl/actions/runs/13643149623/job/38137076210?pr=16490#step:14:3125 Ref: https://github.com/curl/curl/actions/runs/13688765792/job/38277961720?pr=16582#step:14:1717 The `IgnoreStandardErrorWarningFormat="true"` MSBuild Exec option controls this behavior: https://learn.microsoft.com/visualstudio/msbuild/exec-task#parameters I couldn't figure out a way to apply it to CMake builds. MSBuid pattern matching rules: https://github.com/dotnet/msbuild/blob/353c0f3d37957cc98bfa6a76b568d70d12193fc3/src/Shared/CanonicalError.cs https://learn.microsoft.com/visualstudio/msbuild/msbuild-diagnostic-format-for-tasks Note: There may be further error messages output from runtests scripts, that use this format, which are not explicitly fatal. They may need future fixes. Thanks-to: Dion Williams Ref: https://github.com/curl/curl/discussions/14854#discussioncomment-12382190 Ref: https://github.com/curl/curl/discussions/14854#discussioncomment-12395224 Closes #16583
curl is a command-line tool for transferring data specified with URL syntax. Learn how to use curl by reading the manpage or everything curl.
Find out how to install curl by reading the INSTALL document.
libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl manpage to learn how.
curl is Open Source and is distributed under an MIT-like license.
Contact us on a suitable mailing list or use GitHub issues/ pull requests/ discussions.
All contributors to the project are listed in the THANKS document.
For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl visit the support page.
Visit the curl website for the latest news and downloads.
Download the latest source from the Git server:
git clone https://github.com/curl/curl.git
Report suspected security problems via our HackerOne page and not in public.
curl contains pieces of source code that is Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan. This notice is included here to comply with the distribution terms.
Thank you to all our backers 🙏 Become a backer.
Support this project by becoming a sponsor.