Commit 4e5a58ed authored by Mason Wilde's avatar Mason Wilde Committed by Commit Bot

ServiceConnection: add vpd serial number to SystemInfo

Adds a product_serial_number field to the SystemInfo struct.

Bug: chromium:1140684
Change-Id: Id5f2c5db4c4282e3b0f8561fbb5edf40d57d47b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2506010Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Reviewed-by: default avatarMaksim Ivanov <emaxx@chromium.org>
Commit-Queue: Mason Wilde <masonwilde@google.com>
Cr-Commit-Position: refs/heads/master@{#824162}
parent 88c86b11
...@@ -1240,6 +1240,8 @@ class DeviceStatusCollectorState : public StatusCollectorState { ...@@ -1240,6 +1240,8 @@ class DeviceStatusCollectorState : public StatusCollectorState {
system_status_out->set_vpd_sku_number( system_status_out->set_vpd_sku_number(
system_info->product_sku_number.value()); system_info->product_sku_number.value());
} }
system_status_out->set_vpd_serial_number(
system_info->product_serial_number);
} }
if (report_system_info) { if (report_system_info) {
system_status_out->set_marketing_name(system_info->marketing_name); system_status_out->set_marketing_name(system_info->marketing_name);
......
...@@ -146,6 +146,7 @@ constexpr char kFakeBatteryStatus[] = "fake_battery_status"; ...@@ -146,6 +146,7 @@ constexpr char kFakeBatteryStatus[] = "fake_battery_status";
const char kFakeFirstPowerDate[] = "2020-40"; const char kFakeFirstPowerDate[] = "2020-40";
const char kFakeManufactureDate[] = "2019-01-01"; const char kFakeManufactureDate[] = "2019-01-01";
const char kFakeSkuNumber[] = "ABCD&^A"; const char kFakeSkuNumber[] = "ABCD&^A";
const char kFakeSerialNumber[] = "8607G03EDF";
constexpr char kFakeMarketingName[] = "Latitude 1234 Chromebook Enterprise"; constexpr char kFakeMarketingName[] = "Latitude 1234 Chromebook Enterprise";
constexpr char kFakeBiosVersion[] = "Google_BoardName.12200.68.0"; constexpr char kFakeBiosVersion[] = "Google_BoardName.12200.68.0";
constexpr char kFakeBoardName[] = "BoardName"; constexpr char kFakeBoardName[] = "BoardName";
...@@ -523,9 +524,9 @@ cros_healthd::SystemResultPtr CreateSystemResult() { ...@@ -523,9 +524,9 @@ cros_healthd::SystemResultPtr CreateSystemResult() {
return cros_healthd::SystemResult::NewSystemInfo( return cros_healthd::SystemResult::NewSystemInfo(
cros_healthd::SystemInfo::New( cros_healthd::SystemInfo::New(
kFakeFirstPowerDate, kFakeManufactureDate, kFakeSkuNumber, kFakeFirstPowerDate, kFakeManufactureDate, kFakeSkuNumber,
kFakeMarketingName, kFakeBiosVersion, kFakeBoardName, kFakeSerialNumber, kFakeMarketingName, kFakeBiosVersion,
kFakeBoardVersion, cros_healthd::UInt64Value::New(kFakeChassisType), kFakeBoardName, kFakeBoardVersion,
kFakeProductName, cros_healthd::UInt64Value::New(kFakeChassisType), kFakeProductName,
cros_healthd::OsVersion::New( cros_healthd::OsVersion::New(
kFakeVersionMilestone, kFakeVersionBuildNumber, kFakeVersionMilestone, kFakeVersionBuildNumber,
kFakeVersionPatchNumber, kFakeVersionReleaseChannel))); kFakeVersionPatchNumber, kFakeVersionReleaseChannel)));
...@@ -3179,6 +3180,8 @@ TEST_F(DeviceStatusCollectorTest, TestCrosHealthdInfo) { ...@@ -3179,6 +3180,8 @@ TEST_F(DeviceStatusCollectorTest, TestCrosHealthdInfo) {
EXPECT_EQ(device_status_.system_status().manufacture_date(), EXPECT_EQ(device_status_.system_status().manufacture_date(),
kFakeManufactureDate); kFakeManufactureDate);
EXPECT_EQ(device_status_.system_status().vpd_sku_number(), kFakeSkuNumber); EXPECT_EQ(device_status_.system_status().vpd_sku_number(), kFakeSkuNumber);
EXPECT_EQ(device_status_.system_status().vpd_serial_number(),
kFakeSerialNumber);
EXPECT_EQ(device_status_.system_status().marketing_name(), EXPECT_EQ(device_status_.system_status().marketing_name(),
kFakeMarketingName); kFakeMarketingName);
EXPECT_EQ(device_status_.system_status().bios_version(), kFakeBiosVersion); EXPECT_EQ(device_status_.system_status().bios_version(), kFakeBiosVersion);
...@@ -3334,6 +3337,8 @@ TEST_F(DeviceStatusCollectorTest, TestCrosHealthdVpdAndSystemInfo) { ...@@ -3334,6 +3337,8 @@ TEST_F(DeviceStatusCollectorTest, TestCrosHealthdVpdAndSystemInfo) {
EXPECT_EQ(device_status_.system_status().manufacture_date(), EXPECT_EQ(device_status_.system_status().manufacture_date(),
kFakeManufactureDate); kFakeManufactureDate);
EXPECT_EQ(device_status_.system_status().vpd_sku_number(), kFakeSkuNumber); EXPECT_EQ(device_status_.system_status().vpd_sku_number(), kFakeSkuNumber);
EXPECT_EQ(device_status_.system_status().vpd_serial_number(),
kFakeSerialNumber);
ASSERT_FALSE(device_status_.system_status().has_marketing_name()); ASSERT_FALSE(device_status_.system_status().has_marketing_name());
ASSERT_FALSE(device_status_.system_status().has_bios_version()); ASSERT_FALSE(device_status_.system_status().has_bios_version());
ASSERT_FALSE(device_status_.system_status().has_board_name()); ASSERT_FALSE(device_status_.system_status().has_board_name());
......
...@@ -479,6 +479,8 @@ struct SystemInfo { ...@@ -479,6 +479,8 @@ struct SystemInfo {
string? manufacture_date; string? manufacture_date;
// The product SKU number. // The product SKU number.
string? product_sku_number; string? product_sku_number;
// The product serial number.
string product_serial_number;
// Contents of CrosConfig in /arc/build-properties/marketing-name. // Contents of CrosConfig in /arc/build-properties/marketing-name.
string marketing_name; string marketing_name;
// The BIOS version. // The BIOS version.
......
...@@ -1152,6 +1152,8 @@ message SystemStatus { ...@@ -1152,6 +1152,8 @@ message SystemStatus {
optional uint64 chassis_type = 8; optional uint64 chassis_type = 8;
// The product name (model) of the system. E.g. "Sarien" // The product name (model) of the system. E.g. "Sarien"
optional string product_name = 9; optional string product_name = 9;
// The product serial number.
optional string vpd_serial_number = 10;
} }
// Status of a single C-state. C-states are various modes the CPU can transition // Status of a single C-state. C-states are various modes the CPU can transition
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment