tfiala added a comment.
This chunk of code:
with tempfile.NamedTemporaryFile(
prefix="lldb_test_event_pickled_event_output",
delete=False) as temp_file:
return temp_file.name
inside event_collector.py comes up with a temp file name. (It opens and then
immediately closes the file). That temp file name is then used as the file for
which a "dotest.py" inferior will write output to, similar to how the real test
suite has the dotest.py inferiors send messages over sockets. So the part that
is really doing the writing is the dotest.py inferior.
Most likely, the dotest.py inferior isn't running. That means this subprocess
is probably failing to run inside event_collector.py:
def _collect_events_with_command(command, events_filename):
# Run the single test with dotest.py, outputting
# the raw pickled events to a temp file.
with open(os.devnull, 'w') as dev_null_file:
subprocess.call(
command,
stdout=dev_null_file,
stderr=dev_null_file)
# Unpickle the events
events = []
if os.path.exists(events_filename):
with open(events_filename, "rb") as events_file:
while True:
try:
# print("reading event")
event = cPickle.load(events_file)
# print("read event: {}".format(event))
if event:
events.append(event)
except EOFError:
# This is okay.
break
os.remove(events_filename)
return events
There's a part that pipes that output to devnull. If you were to remove that
piping to dev null, and just do this:
subprocess.call(command)
We'd probably see the actual error in trying to invoke dotest.py.
But at this point, I'd say you've helped a ton and put in more than enough time
by verifying this isn't working quite yet. I will get a setup to repro and get
it running there and address it directly.
Thanks, Zachary!
http://reviews.llvm.org/D20193
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits