Note, the other important step was that you had to have an lldb installed in /usr/bin/lldb that FAILED this test. If you have a more recent lldb there, the test will succeed, and you won't notice you aren't testing your newly built sources.
Jim > On Oct 30, 2015, at 1:25 PM, Enrico Granata via lldb-commits > <lldb-commits@lists.llvm.org> wrote: > > I think what I was doing is be in lldb/test and do > > $ ./dotest.py ../packages/python/lldbsuite/functionalities/completion > >> On Oct 30, 2015, at 12:22 PM, Zachary Turner <ztur...@google.com> wrote: >> >> Can you give me a command line which will reproduce the original problem? >> Because I ran through the entire test suite and nothing failed, so I want to >> make sure we're doing the same thing. I'm still a little confused about how >> this happens, but I plan to look into it when I'm back on Monday and see if >> I can understand it better to identify a better fix. >> >> On Fri, Oct 30, 2015 at 11:58 AM Enrico Granata <egran...@apple.com> wrote: >>> On Oct 29, 2015, at 11:31 PM, Zachary Turner <ztur...@google.com> wrote: >>> >>> Wow. That's a weird problem. Thanks for finding it! >>> >>> Would it work if we move the definition of the `lldbtest_config` class into >>> lldbsuite/test/__init__.py? This way the configuration should be part of >>> the global package state of the lldbsuite.test package, which all the tests >>> are already members of the same package, so they wouldn't even need to >>> import anything (I think). >>> >> >> I think the problem is exactly that we want lldbtest_config to be *global* >> state and not package local state. >> Honestly, I think if we are not content with the fix as it stands, the right >> way would be to change the way unittest2 imports test cases as to use the >> package-level global scope instead of the global global state as it is now. >> >>> On Oct 30, 2015, at 8:32 AM, Zachary Turner <ztur...@google.com> wrote: >>> >>> I'm also still a little confused why this worked before my patch. How is >>> unittest2 importing the individual tests in a way that behaves differently >>> when dotest is a package (now) versus a standalone script (before)? >>> >> >> That is a good question. One to which “because Python” is the only answer I >> can think of. I suspect scripts live at the global scope anyway, so we were >> just getting lucky with those imports making it through correctly. >> >>> On Thu, Oct 29, 2015 at 6:12 PM Enrico Granata via lldb-commits >>> <lldb-commits@lists.llvm.org> wrote: >>> Author: enrico >>> Date: Thu Oct 29 20:09:54 2015 >>> New Revision: 251678 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=251678&view=rev >>> Log: >>> Some test cases that need the lldbExec path were failing because lldbExec >>> was turning out to be None even though it was being validly set by dotest.py >>> >>> It turns out that lldbtest_config was being imported locally to >>> "lldbsuite.test" instead of globally, so when the test cases got >>> individually brought by a global import via __import__ by unittest2, they >>> did not see the lldbtest_config import, and ended up importing a new >>> separate copy of it, with lldbExec unset >>> >>> This is a simple hackaround that brings lldbtest_config to global >>> visibility and makes sure the configuration data is correctly shared >>> >>> >>> Modified: >>> lldb/trunk/packages/Python/lldbsuite/test/dotest.py >>> >>> Modified: lldb/trunk/packages/Python/lldbsuite/test/dotest.py >>> URL: >>> http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/dotest.py?rev=251678&r1=251677&r2=251678&view=diff >>> ============================================================================== >>> --- lldb/trunk/packages/Python/lldbsuite/test/dotest.py (original) >>> +++ lldb/trunk/packages/Python/lldbsuite/test/dotest.py Thu Oct 29 20:09:54 >>> 2015 >>> @@ -21,6 +21,10 @@ for available options. >>> """ >>> >>> from __future__ import print_function >>> +# this module needs to have global visibility, otherwise test cases >>> +# will import it anew in their local namespace, essentially losing access >>> +# to all the configuration data >>> +globals()['lldbtest_config'] = __import__('lldbtest_config') >>> >>> import use_lldb_suite >>> >>> @@ -42,7 +46,6 @@ import test_results >>> from test_results import EventBuilder >>> import inspect >>> import unittest2 >>> -import lldbtest_config >>> import test_categories >>> >>> import six >>> >>> >>> _______________________________________________ >>> lldb-commits mailing list >>> lldb-commits@lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits >> >> >> Thanks, >> - Enrico >> 📩 egranata@.com ☎️ 27683 >> > > > Thanks, > - Enrico > 📩 egranata@.com ☎️ 27683 > > _______________________________________________ > lldb-commits mailing list > lldb-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits