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