[lldb-dev] Refactoring dotest as a Python package

Zachary Turner via lldb-dev lldb-dev at lists.llvm.org
Tue Oct 27 19:29:48 PDT 2015


Ok, I'll do it tomorrow.  Since it's a big code move I was a little worried
it would break someone's bot or the Xcode build, but I guess we can deal
with issues that pop up afterwards.

On Tue, Oct 27, 2015 at 5:14 PM Jim Ingham <jingham at apple.com> wrote:

> It seems like everybody is okay with the idea of this, so I don't see the
> need for a review of the details of this stage.  If you think there's
> anything tricky call it out in words, otherwise I say just commit it.
>
> Jim
>
>
> > On Oct 27, 2015, at 4:30 PM, Zachary Turner via lldb-dev <
> lldb-dev at lists.llvm.org> wrote:
> >
> > I have the first part of the patch in, and the second part of the patch
> (which is essentially just a whole-folder rename with a couple of fixups)
> ready to go.  What's the best way to have this reviewed?  Uploading a 7MB
> patch to Phabricator probably isn't going to work out very well.
> >
> > On Tue, Oct 27, 2015 at 1:40 PM Zachary Turner <zturner at google.com>
> wrote:
> > I think I have a way to split this into two smaller CLs.  I'm testing
> this at the moment, if so it will allow the first CL to be most of the
> preparation for the rename without the rename, and then the second CL
> should literally just be a straight move with only 1-2 line code change.
> So I'll try to put this first CL up for review shortly.
> >
> > On Tue, Oct 27, 2015 at 12:49 PM Zachary Turner <zturner at google.com>
> wrote:
> > I've got a patch locally to make all of our Python stuff part of an lldb
> package called `lldbsuite`.  Currently we've got a bunch of standalone
> scripts that live in various directories such as `lldb/test`, or
> `lldb/scripts`, and possibly some  other locations, and this organization
> makes it hard to share code because it is incompatible with Python's
> built-in code reuse mechanism, which is its package system.
> >
> > The problem is, this patch is *big*.  Functionally there weren't many
> major changes, but it renames the entire test directory.  To be clear, it
> still leaves `test/dotest.py` in place, so nobody has to change their
> workflow or do anything differently.  If you used to write "cd test &&
> dotest.py" you can still do that.  dotest.py is now just a 2 line wrapper
> around the package, so it looks like:
> >
> > import lldbsuite.test
> > lldbsuite.test.run_suite()
> >
> > the advantage of this method is that lldbsuite can contain subpackages.
> It already contains one subpackage, which is lldbsuite.test, and I plan to
> move some of the Python code in `lldb/scripts` there as well, so that we
> have lldbsuite.scripts.  Then we can add a third submodule,
> lldbsuite.shared, and now dotest can share code with scripts, and it gives
> us a nice place to put stuff that previously had been copied all around.
> >
> > It also gives us a nice way to perform module-wide initialization that
> we don't have to repeat in every single test, such as writing "import
> lldb_shared" at the top of every file, since that can be done as part of
> lldbsuite/__init__.py.
> >
> >
> > In any case, I have this all working on my machine, but I would like to
> see if someone can try my patch out on other platforms.  The size of the
> patch presents a problem though - it's over 7MB since it renames a very
> large directory.
> >
> > As usual, comments / concerns also welcome.
> > _______________________________________________
> > lldb-dev mailing list
> > lldb-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20151028/5d0f6700/attachment.html>


More information about the lldb-dev mailing list