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()