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