From 1edaa5f597a89ed88463bbd7881c770948c668a2 Mon Sep 17 00:00:00 2001 From: Andre Maroneze <andre.maroneze@cea.fr> Date: Thu, 3 Feb 2022 16:35:51 +0100 Subject: [PATCH] [analysis-scripts] minor cleanup Remove obsolete 'minimal Python version' guards, which are likely insufficient, due to the difficulty in testing them automatically. A better solution would be useful. --- share/analysis-scripts/build.py | 6 +----- share/analysis-scripts/build_callgraph.py | 7 ------- share/analysis-scripts/detect_recursion.py | 4 ---- share/analysis-scripts/estimate_difficulty.py | 4 ---- share/analysis-scripts/find_fun.py | 4 ---- share/analysis-scripts/heuristic_list_functions.py | 4 ---- share/analysis-scripts/list_files.py | 4 ---- share/analysis-scripts/make_template.py | 4 ---- share/analysis-scripts/make_wrapper.py | 4 ---- share/analysis-scripts/normalize_jcdb.py | 4 ---- share/analysis-scripts/print_callgraph.py | 4 ---- 11 files changed, 1 insertion(+), 48 deletions(-) diff --git a/share/analysis-scripts/build.py b/share/analysis-scripts/build.py index c70b53e0414..79ad1427d10 100755 --- a/share/analysis-scripts/build.py +++ b/share/analysis-scripts/build.py @@ -38,11 +38,8 @@ from pathlib import Path import function_finder -MIN_PYTHON = (3, 6) # for glob(recursive) and automatic Path conversions -if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) - script_dir = os.path.dirname(sys.argv[0]) + # Command-line parsing ######################################################## parser = argparse.ArgumentParser(description="""Produces a GNUmakefile @@ -201,7 +198,6 @@ def find_definitions(funcname, filename): file_lines = file_content.splitlines(keepends=True) newlines = function_finder.compute_newline_offsets(file_lines) defs = function_finder.find_definitions_and_declarations(True, False, filename, file_content, file_lines, newlines, funcname) - #print(f"found defs for {funcname}: {defs}") res = [] for d in defs: defining_line = file_lines[d[2]-1] diff --git a/share/analysis-scripts/build_callgraph.py b/share/analysis-scripts/build_callgraph.py index bfac7c70959..792579d2121 100755 --- a/share/analysis-scripts/build_callgraph.py +++ b/share/analysis-scripts/build_callgraph.py @@ -30,10 +30,6 @@ import os import re import function_finder -MIN_PYTHON = (3, 5) -if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) - arg = "" if len(sys.argv) < 2: print(f"usage: {sys.argv[0]} file...") @@ -78,10 +74,8 @@ class Callgraph: return f"Callgraph({self.succs}, {self.edges})" def compute(files): - #print(f"Computing callgraph for {len(files)} file(s)...") cg = Callgraph() for f in files: - #print(f"Processing {os.path.relpath(f)}...") with open(f, encoding="ascii", errors='ignore') as data: file_content = data.read() file_lines = file_content.splitlines(keepends=True) @@ -96,7 +90,6 @@ def compute(files): if debug: print(f"build_callgraph: {f}:{line}: {caller} -> {called}") cg.add_edge(caller, called, loc) - #print(f"Callgraph computed ({len(cg.succs)} node(s), {len(cg.edges)} edge(s))") return cg def print_edge(cg, caller, called, padding="", end="\n"): diff --git a/share/analysis-scripts/detect_recursion.py b/share/analysis-scripts/detect_recursion.py index 332d80f3b8c..c5da73ad2f3 100755 --- a/share/analysis-scripts/detect_recursion.py +++ b/share/analysis-scripts/detect_recursion.py @@ -28,10 +28,6 @@ import sys import build_callgraph -MIN_PYTHON = (3, 5) # for glob(recursive) -if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) - arg = "" if len(sys.argv) < 2: print(f"usage: {sys.argv[0]} [file1 file2 ...]") diff --git a/share/analysis-scripts/estimate_difficulty.py b/share/analysis-scripts/estimate_difficulty.py index dab975aabac..0f37fb1de11 100755 --- a/share/analysis-scripts/estimate_difficulty.py +++ b/share/analysis-scripts/estimate_difficulty.py @@ -41,10 +41,6 @@ import tempfile #TODO : try to check the presence of compiler builtins #TODO : try to check for pragmas -MIN_PYTHON = (3, 5) -if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) - parser = argparse.ArgumentParser(description=""" Estimates the difficulty of analyzing a given code base""") parser.add_argument("--header-dirs", "-d", metavar='DIR', nargs='+', diff --git a/share/analysis-scripts/find_fun.py b/share/analysis-scripts/find_fun.py index b14e429fba7..2c01d43a3ba 100755 --- a/share/analysis-scripts/find_fun.py +++ b/share/analysis-scripts/find_fun.py @@ -32,10 +32,6 @@ import re import sys from pathlib import Path -MIN_PYTHON = (3, 5) # for glob(recursive) -if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) - parser = argparse.ArgumentParser(description=""" Looks for likely declarations/definitions of a function in files with extensions '.c', '.h' and '.i'. diff --git a/share/analysis-scripts/heuristic_list_functions.py b/share/analysis-scripts/heuristic_list_functions.py index 0dc5a867025..93c2d5c82f5 100755 --- a/share/analysis-scripts/heuristic_list_functions.py +++ b/share/analysis-scripts/heuristic_list_functions.py @@ -30,10 +30,6 @@ import os import re import function_finder -MIN_PYTHON = (3, 5) # for glob(recursive) -if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) - debug = bool(os.getenv("DEBUG", False)) arg = "" diff --git a/share/analysis-scripts/list_files.py b/share/analysis-scripts/list_files.py index ac822030be8..e39ae6cb6d2 100755 --- a/share/analysis-scripts/list_files.py +++ b/share/analysis-scripts/list_files.py @@ -33,10 +33,6 @@ import json import re from pathlib import Path -MIN_PYTHON = (3, 6) # for glob(recursive) and automatic Path conversions -if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) - if len(sys.argv) < 2: # no argument, assume default name arg = Path("compile_commands.json") diff --git a/share/analysis-scripts/make_template.py b/share/analysis-scripts/make_template.py index 6e47b60c609..dad3225eece 100755 --- a/share/analysis-scripts/make_template.py +++ b/share/analysis-scripts/make_template.py @@ -36,10 +36,6 @@ from subprocess import Popen, PIPE from pathlib import Path import function_finder -MIN_PYTHON = (3, 6) # for glob(recursive) and automatic Path conversions -if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) - if len(sys.argv) > 2: print(f"usage: {sys.argv[0]} [dir]") print(" creates a Frama-C makefile in [dir] (default: .frama-c)") diff --git a/share/analysis-scripts/make_wrapper.py b/share/analysis-scripts/make_wrapper.py index 7f9f5b9b517..56fb52e0f8c 100755 --- a/share/analysis-scripts/make_wrapper.py +++ b/share/analysis-scripts/make_wrapper.py @@ -34,10 +34,6 @@ import sys from functools import partial import tempfile -MIN_PYTHON = (3, 6) # for automatic Path conversions -if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) - # Check if GNU make is available and has the minimal required version # (4.0). Otherwise, this script will fail. # We first test with 'gmake', then 'make', then fail. diff --git a/share/analysis-scripts/normalize_jcdb.py b/share/analysis-scripts/normalize_jcdb.py index 041baef52d4..70cff41349c 100755 --- a/share/analysis-scripts/normalize_jcdb.py +++ b/share/analysis-scripts/normalize_jcdb.py @@ -32,10 +32,6 @@ import json import re from pathlib import Path -MIN_PYTHON = (3, 6) # for automatic Path conversions -if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) - if len(sys.argv) < 2: # no argument, assume default name arg = Path("compile_commands.json") diff --git a/share/analysis-scripts/print_callgraph.py b/share/analysis-scripts/print_callgraph.py index 9c5451669dc..54822dd2388 100755 --- a/share/analysis-scripts/print_callgraph.py +++ b/share/analysis-scripts/print_callgraph.py @@ -28,10 +28,6 @@ import sys import build_callgraph -MIN_PYTHON = (3, 5) # for glob(recursive) -if sys.version_info < MIN_PYTHON: - sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON) - dotfile = None args = sys.argv[1:] if "--dot" in args: -- GitLab