@@ -104,17 +104,29 @@ def test_log_and_exit(cap_out, mock_store_dir):
104104
105105 printed = cap_out .get ()
106106 log_file = os .path .join (mock_store_dir , 'pre-commit.log' )
107- assert printed == (
108- 'msg: FatalError: hai\n '
109- 'Check the log at {}\n ' .format (log_file )
110- )
107+ printed_lines = printed .split ('\n ' )
108+ assert len (printed_lines ) == 6 , printed_lines
109+ assert printed_lines [0 ] == 'msg: FatalError: hai'
110+ assert re .match (r'^pre-commit.version=\d+\.\d+\.\d+$' , printed_lines [1 ])
111+ assert printed_lines [2 ].startswith ('sys.version=' )
112+ assert printed_lines [3 ].startswith ('sys.executable=' )
113+ assert printed_lines [4 ] == 'Check the log at {}' .format (log_file )
114+ assert printed_lines [5 ] == '' # checks for \n at the end of last line
111115
112116 assert os .path .exists (log_file )
113117 with io .open (log_file ) as f :
114- assert f .read () == (
115- 'msg: FatalError: hai\n '
116- "I'm a stacktrace\n "
118+ logged_lines = f .read ().split ('\n ' )
119+ assert len (logged_lines ) == 6 , logged_lines
120+ assert logged_lines [0 ] == 'msg: FatalError: hai'
121+ assert re .match (
122+ r'^pre-commit.version=\d+\.\d+\.\d+$' ,
123+ printed_lines [1 ],
117124 )
125+ assert logged_lines [2 ].startswith ('sys.version=' )
126+ assert logged_lines [3 ].startswith ('sys.executable=' )
127+ assert logged_lines [4 ] == "I'm a stacktrace"
128+ # checks for \n at the end of stack trace
129+ assert printed_lines [5 ] == ''
118130
119131
120132def test_error_handler_non_ascii_exception (mock_store_dir ):
@@ -136,7 +148,7 @@ def test_error_handler_no_tty(tempdir_factory):
136148 pre_commit_home = pre_commit_home ,
137149 )
138150 log_file = os .path .join (pre_commit_home , 'pre-commit.log' )
139- assert output [1 ].replace ('\r ' , '' ) == (
140- 'An unexpected error has occurred: ValueError: ☃\n '
141- 'Check the log at {}\n ' .format (log_file )
142- )
151+ output_lines = output [1 ].replace ('\r ' , '' ). split ( ' \n ' )
152+ assert output_lines [ 0 ] == 'An unexpected error has occurred: ValueError: ☃'
153+ assert output_lines [ - 2 ] == 'Check the log at {}' .format (log_file )
154+ assert output_lines [ - 1 ] == '' # checks for \n at the end of stack trace
0 commit comments