From 835a34bdb911e15e228cb760043d3f737dd56c84 Mon Sep 17 00:00:00 2001 From: Ian Kasprzak Date: Fri, 5 Mar 2021 11:04:49 -0800 Subject: Log repo.* config variables in git trace2 logger. Bug: [google internal] b/181758736 Testing: - Unit tests - Verified repo git trace2 logs had expected data Change-Id: I9af8a574377bd91115f085808c1271e9dee16a36 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/299182 Tested-by: Ian Kasprzak Reviewed-by: Mike Frysinger Reviewed-by: Raman Tenneti --- tests/test_git_trace2_event_log.py | 49 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'tests/test_git_trace2_event_log.py') diff --git a/tests/test_git_trace2_event_log.py b/tests/test_git_trace2_event_log.py index 8fb38dbe..3c5cb150 100644 --- a/tests/test_git_trace2_event_log.py +++ b/tests/test_git_trace2_event_log.py @@ -161,6 +161,55 @@ class EventLogTestCase(unittest.TestCase): self.assertIn('code', exit_event) self.assertEqual(exit_event['code'], 2) + def test_def_params_event_repo_config(self): + """Test 'def_params' event data outputs only repo config keys. + + Expected event log: + + + + """ + config = { + 'git.foo': 'bar', + 'repo.partialclone': 'true', + 'repo.partialclonefilter': 'blob:none', + } + self._event_log_module.DefParamRepoEvents(config) + + with tempfile.TemporaryDirectory(prefix='event_log_tests') as tempdir: + log_path = self._event_log_module.Write(path=tempdir) + self._log_data = self.readLog(log_path) + + self.assertEqual(len(self._log_data), 3) + def_param_events = self._log_data[1:] + self.verifyCommonKeys(self._log_data[0], expected_event_name='version') + + for event in def_param_events: + self.verifyCommonKeys(event, expected_event_name='def_param') + # Check for 'def_param' event specific fields. + self.assertIn('param', event) + self.assertIn('value', event) + self.assertTrue(event['param'].startswith('repo.')) + + def test_def_params_event_no_repo_config(self): + """Test 'def_params' event data won't output non-repo config keys. + + Expected event log: + + """ + config = { + 'git.foo': 'bar', + 'git.core.foo2': 'baz', + } + self._event_log_module.DefParamRepoEvents(config) + + with tempfile.TemporaryDirectory(prefix='event_log_tests') as tempdir: + log_path = self._event_log_module.Write(path=tempdir) + self._log_data = self.readLog(log_path) + + self.assertEqual(len(self._log_data), 1) + self.verifyCommonKeys(self._log_data[0], expected_event_name='version') + def test_write_with_filename(self): """Test Write() with a path to a file exits with None.""" self.assertIsNone(self._event_log_module.Write(path='path/to/file')) -- cgit v1.2.3-54-g00ecf