X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Ftools%2Fvppapigen%2Fvppapigen.py;h=06bfbff238f262a9836edda30c0eb1d4d05115ad;hb=deecc93bd9a8d4fdf507659894c9850e337636e4;hp=2d2097904c5e9cba2c5ea25429787d41db669ebc;hpb=e30f1e92ebb7fb42a2a06fe7ee50415eef6add1c;p=vpp.git diff --git a/src/tools/vppapigen/vppapigen.py b/src/tools/vppapigen/vppapigen.py index 2d2097904c5..06bfbff238f 100755 --- a/src/tools/vppapigen/vppapigen.py +++ b/src/tools/vppapigen/vppapigen.py @@ -753,8 +753,15 @@ class VPPAPI(object): def parse_filename(self, filename, debug=0): if self.revision: git_show = f'git show {self.revision}:{filename}' - with Popen(git_show.split(), stdout=PIPE, encoding='utf-8') as git: - return self.parse_fd(git.stdout, None) + proc = Popen(git_show.split(), stdout=PIPE, encoding='utf-8') + try: + data, errs = proc.communicate() + if proc.returncode != 0: + print(f'File not found: {self.revision}:{filename}', file=sys.stderr) + sys.exit(2) + return self.parse_string(data, debug=debug) + except Exception as e: + sys.exit(3) else: try: with open(filename, encoding='utf-8') as fd: