update TestRunCommandInterpreterAPI to use SBFile
authorLawrence D'Anna <lawrence_danna@apple.com>
Thu, 10 Oct 2019 19:24:07 +0000 (19:24 +0000)
committerLawrence D'Anna <lawrence_danna@apple.com>
Thu, 10 Oct 2019 19:24:07 +0000 (19:24 +0000)
commitab1cd65f19144f75e7a4e4ad2f1c85e5fa3ceb7d
treecc5013f7cd55ea0ccf24a44744e4eae08e57f678
parentc040b30ffc3daadd7342579ee4cca9d3d37dee58
update TestRunCommandInterpreterAPI to use SBFile

Summary:
If you look at what this test is doing, it's actually quite
mysterious why it works at all.   It sets the input file
inside a "with open".   As soon as the with block ends,
that file will be closed.   And yet somehow LLDB reads
commands from it anyway.    What's actually happening is that
the file descriptor gets dup'd when something inside LLDB
calls File::GetStream().   I think it's fair to say that
what this test is doing is illegal and it has no right
to expect it to work.

This patch updates the test with two cases.  One uses
the SBFile api, and actually transfers ownership of
the original file descriptor to the debugger.   The other
just uses the old FILE* API, but in a sane way.

I also set NO_DEBUG_INFO_TESTCASE, because this test doesn't
use any debug info and doesn't need to run three times.

Reviewers: JDevlieghere, jasonmolenda, labath

Reviewed By: labath

Subscribers: aprantl, lldb-commits

Tags: #lldb

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

llvm-svn: 374424
lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestRunCommandInterpreterAPI.py