aboutsummaryrefslogtreecommitdiff
path: root/test_building_all_shims.py
diff options
context:
space:
mode:
authorquapka2024-08-08 17:48:26 +0200
committerquapka2024-08-08 17:48:26 +0200
commita1902a04fbf7eefd2ee07f43333f398c2066d045 (patch)
tree10e06242b1dc184f25867cdb8395e8b8499135ef /test_building_all_shims.py
parentfb5961f70d34b325f7c2cb8735e68aa7c77ba8f6 (diff)
downloadECTester-a1902a04fbf7eefd2ee07f43333f398c2066d045.tar.gz
ECTester-a1902a04fbf7eefd2ee07f43333f398c2066d045.tar.zst
ECTester-a1902a04fbf7eefd2ee07f43333f398c2066d045.zip
Diffstat (limited to 'test_building_all_shims.py')
-rw-r--r--test_building_all_shims.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/test_building_all_shims.py b/test_building_all_shims.py
new file mode 100644
index 0000000..677961f
--- /dev/null
+++ b/test_building_all_shims.py
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+
+import argparse
+import json
+
+import subprocess as sp
+
+def get_all_versions(library):
+ with open(f"./nix/{library}_pkg_versions.json", "r") as handle:
+ versions = json.load(handle)
+
+ return versions
+
+def can_build(library, version):
+ cmd = ["nix", "build", f".#shim.{library}.{version}"]
+ try:
+ sp.check_output(cmd, stderr=sp.DEVNULL)
+ except sp.CalledProcessError as e:
+ return False
+ return True
+
+def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument("-l", "--library")
+ args = parser.parse_args()
+ library = args.library
+
+ libraries = [
+ "botan",
+ "cryptopp",
+ "openssl",
+ "boringssl",
+ "gcrypt",
+ "mbedtls",
+ "ippcp",
+ "nettle",
+ "libressl",
+ ]
+
+ match library:
+ case None:
+ for lib in libraries:
+ print(f"Library: {lib}")
+ for version in get_all_versions(lib):
+ print(f"{version}: {can_build(lib, version)}")
+ case _:
+ print(f"Library: {lib}")
+ for version in get_all_versions(library):
+ print(f"{version}: {can_build(library, version)}")
+
+
+if __name__ == '__main__':
+ main()