summaryrefslogtreecommitdiff
path: root/FreeRTOS/Test/CBMC/patches/patch.py
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS/Test/CBMC/patches/patch.py')
-rwxr-xr-xFreeRTOS/Test/CBMC/patches/patch.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/FreeRTOS/Test/CBMC/patches/patch.py b/FreeRTOS/Test/CBMC/patches/patch.py
new file mode 100755
index 000000000..c2c0883a3
--- /dev/null
+++ b/FreeRTOS/Test/CBMC/patches/patch.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python3
+
+import logging
+import os
+import subprocess
+import sys
+from glob import glob
+
+from patches_constants import PATCHES_DIR
+
+def patch():
+ if os.path.isfile("patched"):
+ sys.exit()
+
+ applied_patches = []
+ failed_patches = []
+ for tmpfile in glob(os.path.join(PATCHES_DIR, "*.patch")):
+ print("patch", tmpfile)
+ result = subprocess.run(["git", "apply", "--ignore-space-change", "--ignore-whitespace", tmpfile],
+ cwd=os.path.join("..", "..", "..", ".."))
+ if result.returncode:
+ failed_patches.append(tmpfile)
+ logging.error("patching failed: %s", tmpfile)
+ else:
+ applied_patches.append(tmpfile)
+
+ with open(os.path.join(PATCHES_DIR, "patched"), "w") as outp:
+ print("Success:", file=outp)
+ print("\n".join(map(lambda x: "\t" + x, applied_patches)), file=outp)
+
+ print("Failure:", file=outp)
+ print("\n".join(map(lambda x: "\t" + x, failed_patches)), file=outp)
+
+
+if __name__ == "__main__":
+ patch()