From 9b824c39365652ca63372c6b1d8f1cb092759b52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dennis=20Gl=C3=A4ser?= <dennis.glaeser@iws.uni-stuttgart.de>
Date: Mon, 12 Apr 2021 13:45:23 +0200
Subject: [PATCH] [bi][test] make source/target tree settable

---
 bin/testing/findtests.py | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/bin/testing/findtests.py b/bin/testing/findtests.py
index ec80ffd8f8..7adb022561 100755
--- a/bin/testing/findtests.py
+++ b/bin/testing/findtests.py
@@ -9,6 +9,7 @@ Warning: This runs 'make clean' on the build directory
 import multiprocessing as mp
 import json
 import subprocess
+from argparse import ArgumentParser
 from glob import glob
 from subprocess import PIPE
 import os
@@ -53,10 +54,23 @@ def is_affected_test(test, changed_files):
 
     return False, config["name"], config["target"]
 
+
 if __name__ == '__main__':
 
+    # parse input arguments
+    parser = ArgumentParser(description='Find tests affected by changes')
+    parser.add_argument('-s', '--source', required=False, default='HEAD',
+                        help='The source tree (default: `HEAD`)')
+    parser.add_argument('-t', '--target', required=False, default='master',
+                        help='The tree to compare against (default: `master`)')
+
+    args = vars(parser.parse_args())
+
     # find the changes files
-    changed_files = subprocess.check_output(["git", "diff-tree", "-r", "--name-only", "HEAD",  "master"], encoding='ascii').splitlines()
+    changed_files = subprocess.check_output(["git", "diff-tree",
+                                             "-r", "--name-only",
+                                             args['source'],  args['target']],
+                                            encoding='ascii').splitlines()
     changed_files = set(changed_files)
 
     subprocess.run(["make", "clean"])
-- 
GitLab