[Lldb-commits] [lldb] r265461 - XFail TestImport.py on Windows because Python 3 import rules don't work that way.

Adrian McCarthy via lldb-commits lldb-commits at lists.llvm.org
Tue Apr 5 16:01:52 PDT 2016


"error: module importing failed: Parent module '' not loaded, cannot
perform relative import"

If you omit the dot (i.e., `from foo import foo2`), it appears to work, but
I'm not sure that does the right thing.  I'll keep investigating.

On Tue, Apr 5, 2016 at 3:40 PM, Zachary Turner <zturner at google.com> wrote:

> Without the modification to sys.path
>
> On Tue, Apr 5, 2016 at 3:39 PM Zachary Turner <zturner at google.com> wrote:
>
>> Can you try to change "import foo2" to "from .foo import foo2"
>> On Tue, Apr 5, 2016 at 2:52 PM Adrian McCarthy <amccarth at google.com>
>> wrote:
>>
>>> I've drilled down into the Python import statement.  It's
>>> in ScriptInterpreterPython::LoadScriptingModule.  The function inserts the
>>> diretory into sys.path and then issues a vanilla Python import statement.
>>>
>>> I spoke with one of our local Python experts who said that this
>>> technique to specify the directory is probably unreliable, as the rules for
>>> where Python looks for modules has evolved.  The rules for both relative
>>> and absolute module paths changed from Python 2 to 3.
>>>
>>> I'll revert the xfail if you want.  But this has been broken for quite a
>>> while (as has another test, which I'm looking into now).
>>>
>>> On Tue, Apr 5, 2016 at 2:29 PM, Zachary Turner <zturner at google.com>
>>> wrote:
>>>
>>>> I think we need some more information before we xfail this. It would
>>>> help to drill down to either the python import statement or the
>>>> PyImport_ImportModule C api call that actually does the import.
>>>>
>>>> If you can get that, i can help come up with a fix. Just need to step
>>>> through the execution of the command until you get to the python or c code
>>>> that tries to do the import
>>>>
>>>> On Tue, Apr 5, 2016 at 1:54 PM Adrian McCarthy via lldb-commits <
>>>> lldb-commits at lists.llvm.org> wrote:
>>>>
>>>>> Author: amccarth
>>>>> Date: Tue Apr  5 15:49:09 2016
>>>>> New Revision: 265461
>>>>>
>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=265461&view=rev
>>>>> Log:
>>>>> XFail TestImport.py on Windows because Python 3 import rules don't
>>>>> work that way.
>>>>>
>>>>> Modified:
>>>>>
>>>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/command_script/import/TestImport.py
>>>>>
>>>>> Modified:
>>>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/command_script/import/TestImport.py
>>>>> URL:
>>>>> http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/command_script/import/TestImport.py?rev=265461&r1=265460&r2=265461&view=diff
>>>>>
>>>>> ==============================================================================
>>>>> ---
>>>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/command_script/import/TestImport.py
>>>>> (original)
>>>>> +++
>>>>> lldb/trunk/packages/Python/lldbsuite/test/functionalities/command_script/import/TestImport.py
>>>>> Tue Apr  5 15:49:09 2016
>>>>> @@ -16,6 +16,7 @@ class ImportTestCase(TestBase):
>>>>>
>>>>>      @add_test_categories(['pyapi'])
>>>>>      @no_debug_info_test
>>>>> +    @expectedFailureAll(oslist=["windows"], bugnumber="
>>>>> llvm.org/pr27227: Python 3 import rules are different")
>>>>>      def test_import_command(self):
>>>>>          """Import some Python scripts by path and test them"""
>>>>>          self.run_test()
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> lldb-commits mailing list
>>>>> lldb-commits at lists.llvm.org
>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>>>>>
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160405/f3f09a9f/attachment.html>


More information about the lldb-commits mailing list