tfiala added a comment.
> The __file__ for lldbinline.py-based tests is getting set to .pyc via the
> unittest2 loader. This callstack comes from inserting this code into
> lldbinline.py:
>
> diff --git a/packages/Python/lldbsuite/test/lldbinline.py
> b/packages/Python/lldbsuite/test/lldbinline.py
> index 4eaa2a7..3eef4ee 100644
> --- a/packages/Python/lldbsuite/test/lldbinline.py
> +++ b/packages/Python/lldbsuite/test/lldbinline.py
> @@ -206,6 +206,10 @@ def MakeInlineTest(__file, __globals, decorators=None):
> __globals.update({test_name : test})
>
> # Store the name of the originating file.o
> - test.test_filename = __file
> + if __file is not None and __file.endswith(".pyc"):
> + raise Exception("lldbinline file ends with .pyc:
> {}".format(__file))
> + test.test_filename = __file[0:-1]
> + else:
> + test.test_filename = __file
> return test
>
>
> So - I can either intercept it right there and convert to .py, or I can
> protect it at the API ingestion level. If we go with the former, then I want
> to add an assert to the latter to make sure any cases of this sneaking in are
> caught.
I should mention that I verified we do *not* instruct unittest2 to load a .pyc
(i.e. this isn't happening because we somehow asked it to parse a .pyc):
diff --git a/packages/Python/lldbsuite/test/dotest.py
b/packages/Python/lldbsuite/test/dotest.py
index 198e87c..71d8c58 100644
--- a/packages/Python/lldbsuite/test/dotest.py
+++ b/packages/Python/lldbsuite/test/dotest.py
@@ -744,6 +744,8 @@ def visit(prefix, dir, names):
# A simple case of just the module name. Also the failover
case
# from the filterspec branch when the (base, filterspec)
combo
# doesn't make sense.
+ if base is not None and base.endswith(".pyc"):
+ raise Exception("base ends with .pyc: {}".format(base))
configuration.suite.addTests(unittest2.defaultTestLoader.loadTestsFromName(base))
I'm not hitting that when I hit the callstack listed above.
http://reviews.llvm.org/D19215
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits