apparmor/utils/test/fake_ldd
Christian Boltz 5e54e43435 Add tests for aa.py get_output() and get_reqs()
To make these tests independent from the underlaying system, add a
fake_ldd script that provides hardcoded ldd output for the "known"
executables and libraries.

To avoid interferences with the real system (especially symlinks), all
paths in fake_ldd have '/AATest' prepended.


Acked-by: Kshitij Gupta <kgupta8592@gmail.com>
2016-02-21 21:48:09 +01:00

56 lines
2.3 KiB
Python
Executable file

#!/usr/bin/python3
import sys
if len(sys.argv) != 2:
raise Exception('wrong number of arguments in fake_ldd')
if sys.argv[1] == '/AATest/bin/bash':
print(' linux-vdso.so.1 (0x00007ffcf97f4000)')
print(' libreadline.so.6 => /AATest/lib64/libreadline.so.6 (0x00007f2c41324000)')
print(' libtinfo.so.6 => /AATest/lib64/libtinfo.so.6 (0x00007f2c410f9000)')
print(' libdl.so.2 => /AATest/lib64/libdl.so.2 (0x00007f2c40ef5000)')
print(' libc.so.6 => /AATest/lib64/libc.so.6 (0x00007f2c40b50000)')
print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x000055782c473000)')
elif sys.argv[1] == '/AATest/lib64/ld-2.22.so':
print(' linux-vdso.so.1 (0x00007ffcf97f4000)')
elif sys.argv[1] == '/AATest/lib64/libc-2.22.so':
print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x0000556858473000)')
print(' linux-vdso.so.1 (0x00007ffe98912000)')
elif sys.argv[1] == '/AATest/lib64/libdl.so.2':
print(' linux-vdso.so.1 (0x00007ffec2538000)')
print(' libc.so.6 => /AATest/lib64/libc.so.6 (0x00007f8865346000)')
print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x0000560c3bcee000)')
elif sys.argv[1] == '/AATest/lib64/libtinfo.so.6':
print(' linux-vdso.so.1 (0x00007fff30518000)')
print(' libc.so.6 => /AATest/lib64/libc.so.6 (0x00007fb6f2ea3000)')
print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x00005631fe8d3000)')
elif sys.argv[1] == '/AATest/lib64/libreadline.so.6':
print(' linux-vdso.so.1 (0x00007ffcb5b62000)')
print(' libtinfo.so.6 => /AATest/lib64/libtinfo.so.6 (0x00007f2a4ed07000)')
print(' libc.so.6 => /AATest/lib64/libc.so.6 (0x00007f2a4e961000)')
print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x000055f749c89000)')
elif sys.argv[1] == '/AATest/lib64/ld-linux-x86-64.so.2':
print(' statically linked')
elif sys.argv[1] == '/AATest/lib64/libc.so.6':
print(' /AATest/lib64/ld-linux-x86-64.so.2 (0x000055b65f7a9000)')
print(' linux-vdso.so.1 (0x00007ffde132b000)')
elif sys.argv[1].startswith('/tmp/aa-test-'): # test file generated by test-aa.py
print(' not a dynamic executable')
elif sys.argv[1] == 'TEMPLATE':
print('')
print('')
print('')
else:
raise Exception('unknown parameter in fake_ldd: %s' % sys.argv[1])