if 'tls' in features:
if not os.path.isdir(cert_dir):
execute('sudo mkdir -p {}'.format(cert_dir))
+ # Parent dir of hammer.py.
+ p = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0])))
+ if not os.path.isdir(f'{p}/src/lib/asiolink/testutils/ca'):
+ # Sometimes we call a standalone hammer.py on another Kea source tree. Let's use cwd in that case.
+ p = '.'
for file in [
- './src/lib/asiolink/testutils/ca/kea-ca.crt',
- './src/lib/asiolink/testutils/ca/kea-client.crt',
- './src/lib/asiolink/testutils/ca/kea-client.key',
- './src/lib/asiolink/testutils/ca/kea-server.crt',
- './src/lib/asiolink/testutils/ca/kea-server.key',
+ f'{p}/src/lib/asiolink/testutils/ca/kea-ca.crt',
+ f'{p}/src/lib/asiolink/testutils/ca/kea-client.crt',
+ f'{p}/src/lib/asiolink/testutils/ca/kea-client.key',
+ f'{p}/src/lib/asiolink/testutils/ca/kea-server.crt',
+ f'{p}/src/lib/asiolink/testutils/ca/kea-server.key',
]:
if not os.path.exists(file):
print('ERROR: File {} is needed to prepare TLS.'.format(file), file=sys.stderr)