diff options
| author | Raman Tenneti <rtenneti@google.com> | 2021-09-27 10:55:44 -0700 |
|---|---|---|
| committer | Raman Tenneti <rtenneti@google.com> | 2021-09-27 19:11:14 +0000 |
| commit | 956f7363d100abe6c1f58b36d7aea59b9e41cd04 (patch) | |
| tree | 1974f54a33adea2fc321f735ba1efe00c96b0189 /tests | |
| parent | 6f8c1bf4ff1c8cd210e00f0514eec3864967c8a5 (diff) | |
| download | git-repo-956f7363d100abe6c1f58b36d7aea59b9e41cd04.tar.gz | |
superproject: Log argv parameter of syncstate as 'data-json'.
Fixed: "we need to make a special case for logging the argv; it
should probably be a "data-json" event so that we log this directly as
an array rather than an encoded string.
Tested:
$ repo_dev sync
Verified event logged for argv is "data-json".
$./run_tests
Bug: [google internal] b/201102002
Change-Id: I18ccec79c73c8dc931cb8afc472b2361db8aea4c
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/319055
Reviewed-by: Josh Steadmon <steadmon@google.com>
Reviewed-by: Xin Li <delphij@google.com>
Tested-by: Raman Tenneti <rtenneti@google.com>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_git_trace2_event_log.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/tests/test_git_trace2_event_log.py b/tests/test_git_trace2_event_log.py index a5a6cbba..6131c7b3 100644 --- a/tests/test_git_trace2_event_log.py +++ b/tests/test_git_trace2_event_log.py | |||
| @@ -42,7 +42,7 @@ class EventLogTestCase(unittest.TestCase): | |||
| 42 | self._event_log_module = git_trace2_event_log.EventLog(env=env) | 42 | self._event_log_module = git_trace2_event_log.EventLog(env=env) |
| 43 | self._log_data = None | 43 | self._log_data = None |
| 44 | 44 | ||
| 45 | def verifyCommonKeys(self, log_entry, expected_event_name, full_sid=True): | 45 | def verifyCommonKeys(self, log_entry, expected_event_name=None, full_sid=True): |
| 46 | """Helper function to verify common event log keys.""" | 46 | """Helper function to verify common event log keys.""" |
| 47 | self.assertIn('event', log_entry) | 47 | self.assertIn('event', log_entry) |
| 48 | self.assertIn('sid', log_entry) | 48 | self.assertIn('sid', log_entry) |
| @@ -50,7 +50,8 @@ class EventLogTestCase(unittest.TestCase): | |||
| 50 | self.assertIn('time', log_entry) | 50 | self.assertIn('time', log_entry) |
| 51 | 51 | ||
| 52 | # Do basic data format validation. | 52 | # Do basic data format validation. |
| 53 | self.assertEqual(expected_event_name, log_entry['event']) | 53 | if expected_event_name: |
| 54 | self.assertEqual(expected_event_name, log_entry['event']) | ||
| 54 | if full_sid: | 55 | if full_sid: |
| 55 | self.assertRegex(log_entry['sid'], self.FULL_SID_REGEX) | 56 | self.assertRegex(log_entry['sid'], self.FULL_SID_REGEX) |
| 56 | else: | 57 | else: |
| @@ -246,6 +247,7 @@ class EventLogTestCase(unittest.TestCase): | |||
| 246 | 'git.foo': 'bar', | 247 | 'git.foo': 'bar', |
| 247 | 'repo.partialclone': 'false', | 248 | 'repo.partialclone': 'false', |
| 248 | 'repo.syncstate.superproject.hassuperprojecttag': 'true', | 249 | 'repo.syncstate.superproject.hassuperprojecttag': 'true', |
| 250 | 'repo.syncstate.superproject.sys.argv': ['--', 'sync', 'protobuf'], | ||
| 249 | } | 251 | } |
| 250 | prefix_value = 'prefix' | 252 | prefix_value = 'prefix' |
| 251 | self._event_log_module.LogDataConfigEvents(config, prefix_value) | 253 | self._event_log_module.LogDataConfigEvents(config, prefix_value) |
| @@ -254,17 +256,18 @@ class EventLogTestCase(unittest.TestCase): | |||
| 254 | log_path = self._event_log_module.Write(path=tempdir) | 256 | log_path = self._event_log_module.Write(path=tempdir) |
| 255 | self._log_data = self.readLog(log_path) | 257 | self._log_data = self.readLog(log_path) |
| 256 | 258 | ||
| 257 | self.assertEqual(len(self._log_data), 4) | 259 | self.assertEqual(len(self._log_data), 5) |
| 258 | data_events = self._log_data[1:] | 260 | data_events = self._log_data[1:] |
| 259 | self.verifyCommonKeys(self._log_data[0], expected_event_name='version') | 261 | self.verifyCommonKeys(self._log_data[0], expected_event_name='version') |
| 260 | 262 | ||
| 261 | for event in data_events: | 263 | for event in data_events: |
| 262 | self.verifyCommonKeys(event, expected_event_name='data') | 264 | self.verifyCommonKeys(event) |
| 263 | # Check for 'data' event specific fields. | 265 | # Check for 'data' event specific fields. |
| 264 | self.assertIn('key', event) | 266 | self.assertIn('key', event) |
| 265 | self.assertIn('value', event) | 267 | self.assertIn('value', event) |
| 266 | key = event['key'].removeprefix(f'{prefix_value}/') | 268 | key = event['key'].removeprefix(f'{prefix_value}/') |
| 267 | value = event['value'] | 269 | value = event['value'] |
| 270 | self.assertEqual(self._event_log_module.GetDataEventName(key), event['event']) | ||
| 268 | self.assertTrue(key in config and value == config[key]) | 271 | self.assertTrue(key in config and value == config[key]) |
| 269 | 272 | ||
| 270 | def test_error_event(self): | 273 | def test_error_event(self): |
