This is an archive of the discontinued LLVM Phabricator instance.

[lldb][Tests] Skip static-only tests in TestConstStaticIntegralMember.py for dsym variant
ClosedPublic

Authored by Michael137 on Aug 16 2022, 4:53 PM.

Details

Summary

This test fails for Clang versions < 14.0 for dsym variants.
dsymutil strips debug info for classes with only static members.
Thus move the failing assertions into the XFAIL test case.

Diff Detail

Event Timeline

Michael137 created this revision.Aug 16 2022, 4:53 PM
Herald added a project: Restricted Project. · View Herald Transcript
Michael137 requested review of this revision.Aug 16 2022, 4:53 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 16 2022, 4:53 PM

This might be a bit aggressive. If it's easy we could add a if clang > 14 condition before those last two tests so we don't loose coverage?

  • Make XFAIL more specific

This might be a bit aggressive. If it's easy we could add a if clang > 14 condition before those last two tests so we don't loose coverage?

Fair point, I moved the assertions to a new XFAIL test-case which is specific to dsym Clang 14.0 variants

This test is now failing even on the "basic" Clang (i.e. tip of trunk) test matrix entry:

https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-matrix/5043/execution/node/62/log/?consoleFull

The log above is for the "Test DWARF4" portion of the job

Michael137 added a comment.EditedAug 17 2022, 3:46 AM

This test is now failing even on the "basic" Clang (i.e. tip of trunk) test matrix entry:

https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-matrix/5043/execution/node/62/log/?consoleFull

The log above is for the "Test DWARF4" portion of the job

That's very confusing, will have to check what the debug info looks like on the machines

Build bot is green for ToT. Should be safe to commit this

This test is now failing even on the "basic" Clang (i.e. tip of trunk) test matrix entry:

https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-matrix/5043/execution/node/62/log/?consoleFull

The log above is for the "Test DWARF4" portion of the job

Looking at the logs, the Dwarf 2 and Dwarf 4 jobs do not use ToT, but rather Clang 13. For example, for the Dwarf 2 job, we see this:

"/Users/buildslave/jenkins/workspace/lldb-cmake-matrix/clang_1300_build/bin/clang" -std=c++11 -gdwarf-2 -isysroot

Which is weird, given how we don't build Clang 13 until much later on the pipeline.
I think the bot has a polluted environment somehow across runs. For example, build 5042:

https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-matrix/5042/execution/node/52/log/?consoleFull

ERROR:root:/Users/buildslave/jenkins/workspace/lldb-cmake-matrix/clang_1300_build/bin/clang is not a valid compiler executable; aborting...

Sometimes the Clang13 builds get cleaned up (see how sometimes the Clang 13 jobs take 30s to run, and sometimes 40min).
I'm guessing that this error shows up when the previous build got cleaned up.

This test is now failing even on the "basic" Clang (i.e. tip of trunk) test matrix entry:

https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-matrix/5043/execution/node/62/log/?consoleFull

The log above is for the "Test DWARF4" portion of the job

Looking at the logs, the Dwarf 2 and Dwarf 4 jobs do not use ToT, but rather Clang 13. For example, for the Dwarf 2 job, we see this:

"/Users/buildslave/jenkins/workspace/lldb-cmake-matrix/clang_1300_build/bin/clang" -std=c++11 -gdwarf-2 -isysroot

Which is weird, given how we don't build Clang 13 until much later on the pipeline.
I think the bot has a polluted environment somehow across runs. For example, build 5042:

https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-matrix/5042/execution/node/52/log/?consoleFull

ERROR:root:/Users/buildslave/jenkins/workspace/lldb-cmake-matrix/clang_1300_build/bin/clang is not a valid compiler executable; aborting...

Sometimes the Clang13 builds get cleaned up (see how sometimes the Clang 13 jobs take 30s to run, and sometimes 40min).
I'm guessing that this error shows up when the previous build got cleaned up.

Yup that would explain why this sometimes passes (only the times where we use top-of-tree clang). Confident now that this change will fix the Clang < 14.0 tests.

This revision was not accepted when it landed; it landed in state Needs Review.Aug 17 2022, 7:40 AM
This revision was automatically updated to reflect the committed changes.

Greendragon is leaking environment configurations across runs. I'll address this in a separate PR