tests: add tool for observing the profile of a given command

Using gdb in batch mode, put a breakpoint on _start and spawn the
process.  Then using the built-in python interpreter print the
confinement label on the process and terminate everything.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
This commit is contained in:
Zygmunt Krynicki 2025-01-23 13:31:59 +01:00
parent 25676c4694
commit 23df780544
2 changed files with 12 additions and 0 deletions

View file

@ -19,6 +19,7 @@ packages:
- dosfstools
- flake8
- flex
- gdb
- gettext
- libdbus-1-dev
- libpam0g-dev
@ -57,6 +58,7 @@ packages:
- flex
- gcc
- gcc-c++
- gdb
- gettext
- gobject-introspection
- libtool
@ -88,6 +90,7 @@ packages:
- dejagnu
- dosfstools
- flex
- gdb
- gettext
- libstdc++-static
- libtool

9
tests/bin/actual-profile-of Executable file
View file

@ -0,0 +1,9 @@
#!/bin/sh
exec gdb \
--quiet \
--batch \
--eval-command='set breakpoint pending on' \
--eval-command='break _start' \
--eval-command='run' \
--eval-command='python import os; os.fdopen(3, "wt").write(open("/proc/{}/attr/current".format(gdb.selected_inferior().pid), "rt").read())' \
"$@" 3>/dev/stdout 1>/dev/null 2>/dev/null