Coverage for src/git_dag/exceptions.py: 100%

6 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-08 12:49 +0200

1"""Custom exceptions.""" 

2 

3from subprocess import CalledProcessError 

4 

5 

6class CalledProcessCustomError(CalledProcessError): 

7 """A customization of CalledProcessError.""" 

8 

9 def __init__(self, called_process_error: CalledProcessError) -> None: 

10 super().__init__( 

11 returncode=called_process_error.returncode, 

12 cmd=called_process_error.cmd, 

13 output=called_process_error.output, 

14 stderr=called_process_error.stderr, 

15 ) 

16 

17 def __str__(self) -> str: 

18 return ( 

19 f"\ncommand: {' '.join(self.cmd)}\n" 

20 f" code: {self.returncode}\n" 

21 f" error: {self.stderr.decode("utf-8")}" 

22 )