No, we won't need/want to revert. I just wanted to see if you already had a snazzy script I could whiz through a directory tree with.
-Todd On Mon, Nov 2, 2015 at 10:26 PM, Zachary Turner <ztur...@google.com> wrote: > Also, one last thing. The reason this is probably wreaking havoc on your > stuff internally is because I removed scriptDir from sys.path (diff the > changes of dotest.py to see). I think it should stay removed upstream > (mucking with sys.path so you can import from a parent directory is a bad > thing to do), but if you have a fork it might be worth putting it back into > the fork temporarily to get things green? Note that technically stuff will > still be "broken" the same way it was before (importing a second copy of a > module), but that only ever leads to an actual problem fi you rely on > global state from the module - which upstream anyway we were only ever > doing for lldbtest_config. > > If worse comes to worse we can revert, but if so I think somehow we should > figure out a strategy for getting this back in, because it definitely seems > like "the right way" > > On Mon, Nov 2, 2015 at 10:14 PM Zachary Turner <ztur...@google.com> wrote: > >> Also as far as I can tell, X has to be in the following set: [lldbutil, >> lldbtest, lldbinline, lldbbench]. In theory there are other possibilities >> (any .py file that is in packages/Python/lldbsuite/test is fair game) but I >> don't think I encountered any aside from those 4. >> >> On Mon, Nov 2, 2015 at 10:12 PM Zachary Turner <ztur...@google.com> >> wrote: >> >>> On Mon, Nov 2, 2015 at 10:02 PM Todd Fiala <todd.fi...@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? >>> >> -- -Todd
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits