[libcxx][pretty printers] Report not being able to trace test program
authorDavid Spickett <david.spickett@linaro.org>
Fri, 1 Oct 2021 14:29:48 +0000 (15:29 +0100)
committerDavid Spickett <david.spickett@linaro.org>
Thu, 7 Oct 2021 10:02:35 +0000 (11:02 +0100)
commit88f08899da965f232d4c67842d5932481ea534fe
treed958cda39bbd6daf9509341aa2ad81a41f9026cd
parent202af507fd1832462ecaf5d9086624bd5f9601bb
[libcxx][pretty printers] Report not being able to trace test program

If you don't have ptrace permissions this test will fail to run
silently, this adds a check for that and anything else that
might do similar things.

The output will now be:
```
FAILED test program did not run correctly, check gdb warnings

/usr/bin/gdb: warning: Couldn't determine a path for the index cache
directory.
No symbol table is loaded.  Use the "file" command.
warning: Error disabling address space randomization: Operation not
permitted
warning: Could not trace the inferior process.
warning: ptrace: Operation not permitted

error: command failed with exit status: 255
```

We already have a feature to check for a compatible python enabled
gdb, so I think it's reasonable to check for this at test runtime.

Note that this is different to the catch all at the end of the test
script. That would be a case where you can trace but something else
made it stop mid way that wasn't our test breakpoints.

Reviewed By: saugustine

Differential Revision: https://reviews.llvm.org/D110936
libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py