[Lldb-commits] [lldb] r251886 - Tighten up sys.path, and use absolute imports everywhere.

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Mon Nov 2 22:12:14 PST 2015


On Mon, Nov 2, 2015 at 10:02 PM Todd Fiala <todd.fiala at gmail.com> wrote:

> Do you have a script you used to tweak these?
>
> (We have a ton of stuff broken internally on this that I need to fix up).
>
> We're starting to need to do quite a bit of extra typing for the package
> structure :-/
>

No, I just used a recursive regex replacement.  I had to find a few
different patterns:

from X import foo     # from lldbsuite.test.X import foo
import X   # import lldbsuite.test.X as X
import foo, X   #import foo\nimport lldbsuite.test.X as X

and I handled each one on a case-by-case basis.

Luckily the extra typing only comes at the import site.  If you use the
syntax I suggested in #2 and #3 above (import lldbsuite.test.X as X) then
the syntax at any sites where you use a definition from inside the module
are the same.

I was a little bit annoyed at the extra typing myself, but when I look into
it, it's considered a "feature".  See PEP 0328 - Imports: Multi-Line and
Absolute/Relative <https://www.python.org/dev/peps/pep-0328/> and as far as
I can tell the way we were doing things before was considered "wrong"  :(

How much of a problem is this going to be on your side?  Is there an
equally "good" solution that doesn't require so much fixup on your side?

the only fixup I encountered was in individual test cases and test suites
(i.e. files that are loaded by unittest2).  Does this account for all the
test failures on your side as well, or is there something else going on I
missed?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20151103/222935ab/attachment.html>


More information about the lldb-commits mailing list