Thanks for the info. If I get some time soon I can at least see what the current results are with that updated module. If not I'll pitch in sometime after the 13 branch.
On Thu, 28 Jan 2021 at 17:52, Jonas Devlieghere <jo...@devlieghere.com> wrote: > > Hey David, > > On Thu, Jan 28, 2021 at 2:46 AM David Spickett via lldb-dev > <lldb-dev@lists.llvm.org> wrote: >> >> I came across a minor bug writing some lldb-server tests where single >> line diffs weren't handled correctly by unittest2. Turns out they are >> in the latest version but the third_party/ version is older than that. >> >> https://bugs.python.org/issue9174 >> https://hg.python.org/unittest2/rev/96e432563d53 (though I think the >> commit title is a mistake) >> >> So I thought of cherry picking that one thing (assuming licensing >> would allow me to), or even updating the whole copy (a lot of churn >> for a single fix). Then I remembered that llvm in general has been >> moving to Python3. > > > 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. 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. > >> >> Looking at https://lldb.llvm.org/resources/build.html it doesn't >> explicitly say Python2 isn't supported, but only Python3 is mentioned >> so I assume lldb is now Python3 only. > > > 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. > >> >> If that is correct, is it worth me investigating using Python3's built >> in unittest module instead, and removing our copy of unittest2? > > > 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. > > Cheers, > Jonas > > [1] > https://github.com/JDevlieghere/llvm-project/tree/update-vendored-unittest2 > [2] https://lists.llvm.org/pipermail/llvm-dev/2020-December/147372.html > [3] https://lists.llvm.org/pipermail/lldb-dev/2020-August/016388.html > >> >> Thanks, >> David Spickett. >> _______________________________________________ >> lldb-dev mailing list >> lldb-dev@lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev