diff options
| author | Raman Tenneti <rtenneti@google.com> | 2021-06-08 17:41:08 -0700 |
|---|---|---|
| committer | Raman Tenneti <rtenneti@google.com> | 2021-06-09 14:24:20 +0000 |
| commit | fc7aa90623e9dc08d81f1c62232e3e885c64559b (patch) | |
| tree | 8b1b793fba4a309bdf6665de618e801c716d1d69 | |
| parent | 50c91ecf4f313a223bc6737d047fc32d665db0fd (diff) | |
| download | git-repo-fc7aa90623e9dc08d81f1c62232e3e885c64559b.tar.gz | |
trace2_event_log: Added logging of error events.
Added error event in preperation for superproject to log errors.
Testing:
+ Unit tests
./run_tests -v
Bug: [google internal] b/189371541
Change-Id: Ife1dd28d52d9e9925b7b34ae913f8eb5fa19037c
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/308863
Reviewed-by: Mike Frysinger <vapier@google.com>
Reviewed-by: Xin Li <delphij@google.com>
Tested-by: Raman Tenneti <rtenneti@google.com>
| -rw-r--r-- | git_trace2_event_log.py | 7 | ||||
| -rw-r--r-- | tests/test_git_trace2_event_log.py | 24 |
2 files changed, 31 insertions, 0 deletions
diff --git a/git_trace2_event_log.py b/git_trace2_event_log.py index 8f12d1a9..fae3d4c8 100644 --- a/git_trace2_event_log.py +++ b/git_trace2_event_log.py | |||
| @@ -159,6 +159,13 @@ class EventLog(object): | |||
| 159 | def_param_event['value'] = value | 159 | def_param_event['value'] = value |
| 160 | self._log.append(def_param_event) | 160 | self._log.append(def_param_event) |
| 161 | 161 | ||
| 162 | def ErrorEvent(self, msg, fmt): | ||
| 163 | """Append a 'error' event to the current log.""" | ||
| 164 | error_event = self._CreateEventDict('error') | ||
| 165 | error_event['msg'] = msg | ||
| 166 | error_event['fmt'] = fmt | ||
| 167 | self._log.append(error_event) | ||
| 168 | |||
| 162 | def _GetEventTargetPath(self): | 169 | def _GetEventTargetPath(self): |
| 163 | """Get the 'trace2.eventtarget' path from git configuration. | 170 | """Get the 'trace2.eventtarget' path from git configuration. |
| 164 | 171 | ||
diff --git a/tests/test_git_trace2_event_log.py b/tests/test_git_trace2_event_log.py index 4a3a4c48..bee5865b 100644 --- a/tests/test_git_trace2_event_log.py +++ b/tests/test_git_trace2_event_log.py | |||
| @@ -234,6 +234,30 @@ class EventLogTestCase(unittest.TestCase): | |||
| 234 | self.assertEqual(len(self._log_data), 1) | 234 | self.assertEqual(len(self._log_data), 1) |
| 235 | self.verifyCommonKeys(self._log_data[0], expected_event_name='version') | 235 | self.verifyCommonKeys(self._log_data[0], expected_event_name='version') |
| 236 | 236 | ||
| 237 | def test_error_event(self): | ||
| 238 | """Test and validate 'error' event data is valid. | ||
| 239 | |||
| 240 | Expected event log: | ||
| 241 | <version event> | ||
| 242 | <error event> | ||
| 243 | """ | ||
| 244 | msg = 'invalid option: --cahced' | ||
| 245 | fmt = 'invalid option: %s' | ||
| 246 | self._event_log_module.ErrorEvent(msg, fmt) | ||
| 247 | with tempfile.TemporaryDirectory(prefix='event_log_tests') as tempdir: | ||
| 248 | log_path = self._event_log_module.Write(path=tempdir) | ||
| 249 | self._log_data = self.readLog(log_path) | ||
| 250 | |||
| 251 | self.assertEqual(len(self._log_data), 2) | ||
| 252 | error_event = self._log_data[1] | ||
| 253 | self.verifyCommonKeys(self._log_data[0], expected_event_name='version') | ||
| 254 | self.verifyCommonKeys(error_event, expected_event_name='error') | ||
| 255 | # Check for 'error' event specific fields. | ||
| 256 | self.assertIn('msg', error_event) | ||
| 257 | self.assertIn('fmt', error_event) | ||
| 258 | self.assertEqual(error_event['msg'], msg) | ||
| 259 | self.assertEqual(error_event['fmt'], fmt) | ||
| 260 | |||
| 237 | def test_write_with_filename(self): | 261 | def test_write_with_filename(self): |
| 238 | """Test Write() with a path to a file exits with None.""" | 262 | """Test Write() with a path to a file exits with None.""" |
| 239 | self.assertIsNone(self._event_log_module.Write(path='path/to/file')) | 263 | self.assertIsNone(self._event_log_module.Write(path='path/to/file')) |
