mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-16 23:36:35 +00:00

In this patch I'm using a new lit option so that the pipeline writes many results files, one for each time lit is run: ``` --use-unique-output-file-name When enabled, lit will add a unique element to the output file name, before the extension. For example "results.xml" will become "results.<something>.xml". The "<something>" is not ordered in any way and is chosen so that existing files are not overwritten. [Default: Off] ``` (I added this to lit recently) Alternatives were considered: * mkfifo - does not work on bash for Windows. * tail -f - does not print full content on file truncation * lit wrapper script - more complication than using an option to lit itself * ninja/mv file/ninja/mv file etc - lots of changes needed to make the scripts build each target separately And after feedback I decided that using an option to lit itself is the cleanest way to go. It can be removed when we no longer need it. If I run the Linux build after this change: ``` $ bash ./.ci/monolithic-linux.sh "clang;lldb;lld" "check-lldb-shell check-lld" "libcxx;libcxxabi" "check-libcxx check-libcxxabi" ``` I get multiple test result files. In my case some tests fail so runtimes aren't checked, but all projects are so there is 1 file for lldb and one for lld: ``` $ ls build/*.xml build/test-results.klc82utf.xml build/test-results.majylh73.xml ``` This change just collects the XML files as artifacts. Once I know that's working, I can set up test reporting to make a summary of them.