From 4338148848418259c59df8414f4c759996ee66ef Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 20 Jul 2023 13:10:23 -0700 Subject: [PATCH 1/2] Show source files relative to root --- Tools/cases_generator/generate_cases.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tools/cases_generator/generate_cases.py b/Tools/cases_generator/generate_cases.py index a18229a57143b8..b6899726df59e6 100644 --- a/Tools/cases_generator/generate_cases.py +++ b/Tools/cases_generator/generate_cases.py @@ -17,6 +17,7 @@ import parser from parser import StackEffect + HERE = os.path.dirname(__file__) ROOT = os.path.join(HERE, "../..") THIS = os.path.relpath(__file__, ROOT).replace(os.path.sep, posixpath.sep) @@ -1154,7 +1155,7 @@ def write_function( def from_source_files(self) -> str: paths = f"\n{self.out.comment} ".join( - prettify_filename(filename) + prettify_filename(os.path.relpath(filename, ROOT)) for filename in self.input_filenames ) return f"{self.out.comment} from:\n{self.out.comment} {paths}\n" From d35efab9a41109fa858cf0dc1f1e530c6768b1e1 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 20 Jul 2023 15:30:16 -0700 Subject: [PATCH 2/2] Catch and ignore ValueError from relpath --- Tools/cases_generator/generate_cases.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Tools/cases_generator/generate_cases.py b/Tools/cases_generator/generate_cases.py index b6899726df59e6..3a679b2090f19b 100644 --- a/Tools/cases_generator/generate_cases.py +++ b/Tools/cases_generator/generate_cases.py @@ -1154,10 +1154,15 @@ def write_function( self.out.emit("") def from_source_files(self) -> str: - paths = f"\n{self.out.comment} ".join( - prettify_filename(os.path.relpath(filename, ROOT)) - for filename in self.input_filenames - ) + filenames = [] + for filename in self.input_filenames: + try: + filename = os.path.relpath(filename, ROOT) + except ValueError: + # May happen on Windows if root and temp on different volumes + pass + filenames.append(filename) + paths = f"\n{self.out.comment} ".join(filenames) return f"{self.out.comment} from:\n{self.out.comment} {paths}\n" def write_provenance_header(self):