Add device firmware in regression test report
PiperOrigin-RevId: 602584371
diff --git a/ui_automator/ui_automator.py b/ui_automator/ui_automator.py
index 663e6b7..953d659 100644
--- a/ui_automator/ui_automator.py
+++ b/ui_automator/ui_automator.py
@@ -98,6 +98,15 @@
' regression test report. e.g. `--hub 10.1.3`.'
),
)
+_DEVICE_FIRMWARE_KEY = 'device_firmware'
+_DEVICE_FIRMWARE = flags.DEFINE_string(
+ name='fw',
+ default=None,
+ help=(
+ 'Use --fw {DeviceFirmware} to include this field in regression test'
+ ' report. e.g. `--fw 10.20.12`.'
+ ),
+)
class RegTestSuiteType(enum.Enum):
@@ -421,6 +430,9 @@
if _HUB.value:
temp_info[_HUB_VERSION_KEY] = _HUB.value
+ if _DEVICE_FIRMWARE.value:
+ temp_info[_DEVICE_FIRMWARE_KEY] = _DEVICE_FIRMWARE.value
+
report_info: test_reporter.ReportInfo = {**temp_info}
return report_info
diff --git a/ui_automator/ui_automator_test.py b/ui_automator/ui_automator_test.py
index 661bd67..da990fd 100644
--- a/ui_automator/ui_automator_test.py
+++ b/ui_automator/ui_automator_test.py
@@ -1040,6 +1040,8 @@
'gha_version': '0.0.0',
'gms_core_version': '0.0.1',
'hub_version': '10.1.3',
+ 'dut': 'm5stack',
+ 'device_firmware': '10.20.12',
}
mock_get_report_info.return_value = fake_report_info
mock_get_all_instances.return_value = [self.mock_android_device]
@@ -1091,5 +1093,20 @@
self.assertDictEqual(report_info, {})
+ @flagsaver.flagsaver((ui_automator._DEVICE_FIRMWARE, '10.20.12'))
+ def test_get_report_info_includes_device_firmware_from_flag_input(self):
+ report_info = self.ui_automator.get_report_info()
+
+ self.assertEqual(len(report_info), 1)
+ self.assertEqual(report_info.get('device_firmware'), '10.20.12')
+
+ @flagsaver.flagsaver((ui_automator._DEVICE_FIRMWARE, None))
+ def test_get_report_info_returns_empty_dict_without_device_firmware_flag(
+ self,
+ ):
+ report_info = self.ui_automator.get_report_info()
+
+ self.assertDictEqual(report_info, {})
+
if __name__ == '__main__':
unittest.main()