<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hey David, </div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 28, 2021 at 2:46 AM David Spickett via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">I came across a minor bug writing some lldb-server tests where single<br>
line diffs weren't handled correctly by unittest2. Turns out they are<br>
in the latest version but the third_party/ version is older than that.<br>
<br>
<a href="https://bugs.python.org/issue9174" rel="noreferrer" target="_blank">https://bugs.python.org/issue9174</a><br>
<a href="https://hg.python.org/unittest2/rev/96e432563d53" rel="noreferrer" target="_blank">https://hg.python.org/unittest2/rev/96e432563d53</a> (though I think the<br>
commit title is a mistake)<br>
<br>
So I thought of cherry picking that one thing (assuming licensing<br>
would allow me to), or even updating the whole copy (a lot of churn<br>
for a single fix). Then I remembered that llvm in general has been<br>
moving to Python3.<br></blockquote><div><br></div><div>I made an attempt to update the vendored unittest2 module in the past [1]. I diffed our vendored version with the release it was based on, updated the module and re-applied the changes. <span style="color:rgb(0,0,0)">That was the easy part. The more intrusive part is that the testing framework changed the way it deals with expected failures. The old version used exceptions, while the new framework only looks at asserts that fail. I don't remember the details, but we are relying on that mechanism somehow and as a result a bunch of test failed. The good thing is that this uncovered a few tests that were XFAILed but were really failing for unrelated reasons (i.e. Python throwing an exception because the test was plain wrong, rather than an assertion triggering or what was being tested not working). Anyway, hopefully this isn't too much work, but at the time something more important came up and I haven't had time to look at this again since. </span></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
Looking at <a href="https://lldb.llvm.org/resources/build.html" rel="noreferrer" target="_blank">https://lldb.llvm.org/resources/build.html</a> it doesn't<br>
explicitly say Python2 isn't supported, but only Python3 is mentioned<br>
so I assume lldb is now Python3 only.<br></blockquote><div><br></div><div>LLVM dropped support for Python 2 at the beginning of this year [2]. For LLDB specifically, I've asked for a bit more time before we start making "Python 2 incompatible" changes [3] as we still have to maintain Python 2 support internally. We're actively working to drop that requirement. </div><div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
If that is correct, is it worth me investigating using Python3's built<br>
in unittest module instead, and removing our copy of unittest2?<br></blockquote><div><br></div><div>I'm in favor of dropping a vendored dependency, assuming of course we can get rid of the modification we rely on today. If we go that route I want to ask to land this after the 13 release is branched.</div><div><br></div><div>Cheers,</div><div>Jonas</div><div><br></div><div>[1] <a href="https://github.com/JDevlieghere/llvm-project/tree/update-vendored-unittest2">https://github.com/JDevlieghere/llvm-project/tree/update-vendored-unittest2</a></div><div>[2] <a href="https://lists.llvm.org/pipermail/llvm-dev/2020-December/147372.html">https://lists.llvm.org/pipermail/llvm-dev/2020-December/147372.html</a></div><div>[3] <a href="https://lists.llvm.org/pipermail/lldb-dev/2020-August/016388.html">https://lists.llvm.org/pipermail/lldb-dev/2020-August/016388.html</a></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
Thanks,<br>
David Spickett.<br>
_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
</blockquote></div></div></div></div></div></div></div></div></div>