Gentoo Archives: gentoo-catalyst

From: Matt Turner <mattst88@g.o>
To: gentoo-catalyst@l.g.o
Cc: Matt Turner <mattst88@g.o>
Subject: [gentoo-catalyst] [PATCH 6/8] catalyst: Add error checking to snapshot target
Date: Fri, 15 May 2020 06:10:29
Message-Id: 20200515061001.2581484-6-mattst88@gentoo.org
In Reply to: [gentoo-catalyst] [PATCH 1/8] doc: Remove extra asterisk by Matt Turner
1 Signed-off-by: Matt Turner <mattst88@g.o>
2 ---
3 catalyst/targets/snapshot.py | 34 ++++++++++++++++++++++------------
4 1 file changed, 22 insertions(+), 12 deletions(-)
5
6 diff --git a/catalyst/targets/snapshot.py b/catalyst/targets/snapshot.py
7 index b6c72c51..497b2918 100644
8 --- a/catalyst/targets/snapshot.py
9 +++ b/catalyst/targets/snapshot.py
10 @@ -10,7 +10,7 @@ from pathlib import Path
11 from catalyst import log
12 from catalyst.base.targetbase import TargetBase
13 from catalyst.lock import write_lock
14 -from catalyst.support import command
15 +from catalyst.support import CatalystError, command
16
17 class snapshot(TargetBase):
18 """
19 @@ -52,17 +52,27 @@ class snapshot(TargetBase):
20 repouri, self.gitdir],
21 ]
22
23 - for cmd in git_cmds:
24 - log.notice('>>> ' + ' '.join(cmd))
25 - subprocess.run(cmd,
26 - encoding='utf-8',
27 - close_fds=False)
28 -
29 - sp = subprocess.run([self.git, '-C', self.gitdir, 'rev-parse', 'stable'],
30 - stdout=subprocess.PIPE,
31 - encoding='utf-8',
32 - close_fds=False)
33 - return sp.stdout.rstrip()
34 + try:
35 + for cmd in git_cmds:
36 + log.notice('>>> ' + ' '.join(cmd))
37 + subprocess.run(cmd,
38 + capture_output=True,
39 + check=True,
40 + encoding='utf-8',
41 + close_fds=False)
42 +
43 + sp = subprocess.run([self.git, '-C', self.gitdir, 'rev-parse', 'stable'],
44 + stdout=subprocess.PIPE,
45 + capture_output=True,
46 + check=True,
47 + encoding='utf-8',
48 + close_fds=False)
49 + return sp.stdout.rstrip()
50 +
51 + except subprocess.CalledProcessError as e:
52 + raise CatalystError(f'{e.cmd} failed with return code'
53 + f'{e.returncode}\n'
54 + f'{e.output}\n')
55
56 def run(self):
57 if self.settings['snapshot_treeish'] == 'stable':
58 --
59 2.26.2