| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 247d45a commit de63b6a
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -9,9 +9,9 @@ | |||
| 9 | 9 | ||
| 10 | 10 | import six | |
| 11 | 11 | ||
| 12 | + import pre_commit.constants as C | ||
| 12 | 13 | from pre_commit import five | |
| 13 | 14 | from pre_commit import output | |
| 14 | - from pre_commit.constants import VERSION as pre_commit_version | ||
| 15 | 15 | from pre_commit.store import Store | |
| 16 | 16 | ||
| 17 | 17 | ||
@@ -28,12 +28,14 @@ def _to_bytes(exc): | |||
| 28 | 28 | ||
| 29 | 29 | def _log_and_exit(msg, exc, formatted): | |
| 30 | 30 | error_msg = b''.join(( | |
| 31 | + _to_bytes('### version information\n'), | ||
| 32 | + _to_bytes('pre-commit.version={}\n'.format(C.VERSION)), | ||
| 33 | + _to_bytes('sys.version={}\n'.format(sys.version.replace('\n', ' '))), | ||
| 34 | + _to_bytes('sys.executable={}\n'.format(sys.executable)), | ||
| 35 | + _to_bytes('### error information\n'), | ||
| 31 | 36 | five.to_bytes(msg), b': ', | |
| 32 | 37 | five.to_bytes(type(exc).__name__), b': ', | |
| 33 | 38 | _to_bytes(exc), b'\n', | |
| 34 | - _to_bytes('pre-commit.version={}\n'.format(pre_commit_version)), | ||
| 35 | - _to_bytes('sys.version={}\n'.format(sys.version.replace('\n', ' '))), | ||
| 36 | - _to_bytes('sys.executable={}\n'.format(sys.executable)), | ||
| 37 | 39 | )) | |
| 38 | 40 | output.write(error_msg) | |
| 39 | 41 | store = Store() | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -104,29 +104,30 @@ def test_log_and_exit(cap_out, mock_store_dir): | |||
| 104 | 104 | ||
| 105 | 105 | printed = cap_out.get() | |
| 106 | 106 | log_file = os.path.join(mock_store_dir, 'pre-commit.log') | |
| 107 | - printed_lines = printed.split('\n') | ||
| 108 | - assert len(printed_lines) == 6, printed_lines | ||
| 109 | - assert printed_lines[0] == 'msg: FatalError: hai' | ||
| 107 | + printed_lines = printed.splitlines() | ||
| 108 | + print(printed_lines) | ||
| 109 | + assert len(printed_lines) == 7 | ||
| 110 | + assert printed_lines[0] == '### version information' | ||
| 110 | 111 | assert re.match(r'^pre-commit.version=\d+\.\d+\.\d+$', printed_lines[1]) | |
| 111 | 112 | assert printed_lines[2].startswith('sys.version=') | |
| 112 | 113 | 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 | ||
| 114 | + assert printed_lines[4] == '### error information' | ||
| 115 | + assert printed_lines[5] == 'msg: FatalError: hai' | ||
| 116 | + assert printed_lines[6] == 'Check the log at {}'.format(log_file) | ||
| 115 | 117 | ||
| 116 | 118 | assert os.path.exists(log_file) | |
| 117 | 119 | with io.open(log_file) as f: | |
| 118 | - logged_lines = f.read().split('\n') | ||
| 119 | - assert len(logged_lines) == 6, logged_lines | ||
| 120 | - assert logged_lines[0] == 'msg: FatalError: hai' | ||
| 120 | + logged_lines = f.read().splitlines() | ||
| 121 | + assert len(logged_lines) == 7 | ||
| 122 | + assert printed_lines[0] == '### version information' | ||
| 121 | 123 | assert re.match( | |
| 122 | 124 | r'^pre-commit.version=\d+\.\d+\.\d+$', | |
| 123 | 125 | printed_lines[1], | |
| 124 | 126 | ) | |
| 125 | 127 | assert logged_lines[2].startswith('sys.version=') | |
| 126 | 128 | 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] == '' | ||
| 129 | + assert logged_lines[5] == 'msg: FatalError: hai' | ||
| 130 | + assert logged_lines[6] == "I'm a stacktrace" | ||
| 130 | 131 | ||
| 131 | 132 | ||
| 132 | 133 | def test_error_handler_non_ascii_exception(mock_store_dir): | |
@@ -148,7 +149,8 @@ def test_error_handler_no_tty(tempdir_factory): | |||
| 148 | 149 | pre_commit_home=pre_commit_home, | |
| 149 | 150 | ) | |
| 150 | 151 | log_file = os.path.join(pre_commit_home, 'pre-commit.log') | |
| 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 | ||
| 152 | + output_lines = output[1].replace('\r', '').splitlines() | ||
| 153 | + assert ( | ||
| 154 | + output_lines[-2] == 'An unexpected error has occurred: ValueError: ☃' | ||
| 155 | + ) | ||
| 156 | + assert output_lines[-1] == 'Check the log at {}'.format(log_file) | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -164,14 +164,13 @@ def test_expected_fatal_error_no_git_repo(in_tmpdir, cap_out, mock_store_dir): | |||
| 164 | 164 | with pytest.raises(SystemExit): | |
| 165 | 165 | main.main([]) | |
| 166 | 166 | log_file = os.path.join(mock_store_dir, 'pre-commit.log') | |
| 167 | - cap_out_lines = cap_out.get().split('\n') | ||
| 167 | + cap_out_lines = cap_out.get().splitlines() | ||
| 168 | 168 | assert ( | |
| 169 | - cap_out_lines[0] == | ||
| 169 | + cap_out_lines[-2] == | ||
| 170 | 170 | 'An error has occurred: FatalError: git failed. ' | |
| 171 | 171 | 'Is it installed, and are you in a Git repository directory?' | |
| 172 | 172 | ) | |
| 173 | - assert cap_out_lines[-2] == 'Check the log at {}'.format(log_file) | ||
| 174 | - assert cap_out_lines[-1] == '' # checks for \n at the end of error message | ||
| 173 | + assert cap_out_lines[-1] == 'Check the log at {}'.format(log_file) | ||
| 175 | 174 | ||
| 176 | 175 | ||
| 177 | 176 | def test_warning_on_tags_only(mock_commands, cap_out, mock_store_dir): | |
| Back | FazBrowse Home | New Git URL |
0 commit comments