dotest: make inline tests compatible with -f
authorPavel Labath <labath@google.com>
Tue, 5 Jun 2018 10:58:44 +0000 (10:58 +0000)
committerPavel Labath <labath@google.com>
Tue, 5 Jun 2018 10:58:44 +0000 (10:58 +0000)
commit663773857f5fd0aeaccfa47219ff0eeb764d35e4
tree05a3893fa31face3378093b6a8454711ebfd72db
parent53d35d2dc4a6ef270d1407d0ea0717d8ccf6fccd
dotest: make inline tests compatible with -f

Summary:
This is split off from D47265 where I needed to be able to invoke every test
with -f. That patch is kinda dead now, but this part seems like a good
cleanup anyway.

The problem with inline tests was in the way we were adding methods to
the class, which left them with an incorrect __name__ property. This
prevented dotest from finding them with -f.

I fix this with (what I think is) the correct way of dynamically
creating classes -- passing the list of methods during type construction
instead of fixing up the class afterwards. Among other things this has
the advantage of not needing to do anything special for debug info
variants. As our test method will be visible to the metaclass, it will
automagically do the multiplication for us.

Reviewers: JDevlieghere, aprantl, tberghammer

Subscribers: eraman, lldb-commits

Differential Revision: https://reviews.llvm.org/D47579

llvm-svn: 334009
lldb/packages/Python/lldbsuite/test/lldbinline.py