summaryrefslogtreecommitdiffstats
path: root/test cases/linuxlike/14 static dynamic linkage/verify_static.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-29 04:41:38 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-29 04:41:38 +0000
commit7b6e527f440cd7e6f8be2b07cee320ee6ca18786 (patch)
tree4a2738d69fa2814659fdadddf5826282e73d81f4 /test cases/linuxlike/14 static dynamic linkage/verify_static.py
parentInitial commit. (diff)
downloadmeson-7b6e527f440cd7e6f8be2b07cee320ee6ca18786.tar.xz
meson-7b6e527f440cd7e6f8be2b07cee320ee6ca18786.zip
Adding upstream version 1.0.1.upstream/1.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rwxr-xr-xtest cases/linuxlike/14 static dynamic linkage/verify_static.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/test cases/linuxlike/14 static dynamic linkage/verify_static.py b/test cases/linuxlike/14 static dynamic linkage/verify_static.py
new file mode 100755
index 0000000..8d16d48
--- /dev/null
+++ b/test cases/linuxlike/14 static dynamic linkage/verify_static.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+"""Test script that checks if zlib was statically linked to executable"""
+import subprocess
+import sys
+
+def handle_common(path):
+ """Handle the common case."""
+ output = subprocess.check_output(['nm', path]).decode('utf-8')
+ if 'T zlibVersion' in output:
+ return 0
+ return 1
+
+def handle_cygwin(path):
+ """Handle the Cygwin case."""
+ output = subprocess.check_output(['nm', path]).decode('utf-8')
+ if (('I __imp_zlibVersion' in output) or ('D __imp_zlibVersion' in output)):
+ return 1
+ return 0
+
+def main():
+ """Main function"""
+ if len(sys.argv) > 2 and sys.argv[1] == '--platform=cygwin':
+ return handle_cygwin(sys.argv[2])
+ else:
+ return handle_common(sys.argv[2])
+
+
+if __name__ == '__main__':
+ sys.exit(main())