Skip to content

Commit 8240c7b

Browse files
authored
[Tracing] Add event information for blame and variant tasks to the testcase status board (#4962)
This PR adds two rows to the Task Events section of the testcase status board: one for blame task and one for variant task. Key changes: - Included `blame` and `variant` in `TASK_EVENTS_NAMES` to display this information on the testcase status board. Related to b/435286563 and b/445896921.
1 parent ed60ca1 commit 8240c7b

File tree

2 files changed

+65
-1
lines changed

2 files changed

+65
-1
lines changed

src/appengine/handlers/testcase_detail/testcase_status_events.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class TestcaseStatusInfo:
2525
"""Methods to retrieve and format testcase events information."""
2626

2727
TASK_EVENTS_NAMES = ('analyze', 'minimize', 'impact', 'regression',
28-
'progression')
28+
'progression', 'blame', 'variant')
2929
LIFECYCLE_EVENTS_TYPES = (
3030
events.EventTypes.TESTCASE_REJECTION,
3131
events.EventTypes.TESTCASE_CREATION,

src/clusterfuzz/_internal/tests/appengine/handlers/testcase_detail/testcase_status_events_test.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ def test_get_testcase_status_info_no_events(self):
6161
{
6262
'task_name': 'Progression'
6363
},
64+
{
65+
'task_name': 'Blame'
66+
},
67+
{
68+
'task_name': 'Variant'
69+
},
6470
]
6571

6672
expected_lifecycle_events = [
@@ -151,6 +157,24 @@ def setUp(self):
151157
closing_reason=events.ClosingReason.TESTCASE_FIXED,
152158
timestamp=datetime.datetime(2023, 1, 4, 0, 0, 0)).put()
153159

160+
data_types.TestcaseLifecycleEvent(
161+
testcase_id=self.testcase_id,
162+
event_type=events.EventTypes.TASK_EXECUTION,
163+
task_name='blame',
164+
task_stage='stage4',
165+
task_status='status4',
166+
task_outcome='outcome5',
167+
timestamp=datetime.datetime(2023, 1, 1, 13, 0, 0)).put()
168+
169+
data_types.TestcaseLifecycleEvent(
170+
testcase_id=self.testcase_id,
171+
event_type=events.EventTypes.TASK_EXECUTION,
172+
task_name='variant',
173+
task_stage='stage2',
174+
task_status='status3',
175+
task_outcome='outcome2',
176+
timestamp=datetime.datetime(2023, 1, 1, 14, 0, 0)).put()
177+
154178

155179
@test_utils.with_cloud_emulators('datastore')
156180
class GetTestcaseStatusMachineInfoTest(EventsInfoTest):
@@ -178,6 +202,18 @@ def test_get_testcase_status_info(self):
178202
'task_name': 'Progression'
179203
}, {
180204
'task_name': 'Regression'
205+
}, {
206+
'task_name': 'Blame',
207+
'task_stage': 'stage4',
208+
'task_status': 'status4',
209+
'task_outcome': 'outcome5',
210+
'timestamp': '2023-01-01 13:00:00.000000 UTC'
211+
}, {
212+
'task_name': 'Variant',
213+
'task_stage': 'stage2',
214+
'task_status': 'status3',
215+
'task_outcome': 'outcome2',
216+
'timestamp': '2023-01-01 14:00:00.000000 UTC'
181217
}]
182218

183219
expected_lifecycle_events = [{
@@ -227,6 +263,34 @@ def test_format_task_execution_event(self):
227263
}
228264
self.assertEqual(result, expected)
229265

266+
def test_format_blame_task_execution_event(self):
267+
"""Verify the retrieval of a blame event information."""
268+
result = self.status_info_instance.get_last_event_info(
269+
event_type=events.EventTypes.TASK_EXECUTION, task_name='blame')
270+
271+
expected = {
272+
'task_name': 'Blame',
273+
'task_stage': 'stage4',
274+
'task_status': 'status4',
275+
'task_outcome': 'outcome5',
276+
'timestamp': '2023-01-01 13:00:00.000000 UTC'
277+
}
278+
self.assertEqual(result, expected)
279+
280+
def test_format_variant_task_execution_event(self):
281+
"""Verify the retrieval of a variant event information."""
282+
result = self.status_info_instance.get_last_event_info(
283+
event_type=events.EventTypes.TASK_EXECUTION, task_name='variant')
284+
285+
expected = {
286+
'task_name': 'Variant',
287+
'task_stage': 'stage2',
288+
'task_status': 'status3',
289+
'task_outcome': 'outcome2',
290+
'timestamp': '2023-01-01 14:00:00.000000 UTC'
291+
}
292+
self.assertEqual(result, expected)
293+
230294
def test_format_testcase_creation_event(self):
231295
"""Verify the retrieval of a testcase creation event information."""
232296
result = self.status_info_instance.get_last_event_info(

0 commit comments

Comments
 (0)