summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2023-01-04 12:51:08 -0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-01-10 00:09:58 +0000
commit9e73d7d01bccf2cf87e01abb1dd1a4f216c569e4 (patch)
treee8d129a68be032a2e2cae1888a6f5cf87d8662bc /test
parent4867369fd37e5c8822748876afd443c1e45935d9 (diff)
downloadchrome-ec-9e73d7d01bccf2cf87e01abb1dd1a4f216c569e4.tar.gz
SBS: Make battery_get_params clear flags selectively
Currently, battery_get_params clear all flags in batt.flags. This patch makes the function clear only the flags which are explicitly set or unset by battery_get_params. With this change, the charger task can add a flag to batt.flags. There isn't yet functionality change by this patch. BUG=b:263921114 BRANCH=None TEST=run-battery_get_params_smart run-sbs_charging_v2 TEST=./twister -i --toolchain host -s \ external/platform/ec/zephyr/test/drivers/drivers.default Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I5708ab6de81bc0a7c28961b13960fd89460b2e1c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4136966 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Commit-Queue: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Bob Moragues <moragues@chromium.org>
Diffstat (limited to 'test')
-rw-r--r--test/battery_get_params_smart.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/battery_get_params_smart.c b/test/battery_get_params_smart.c
index 48273c4be0..63a0abe64c 100644
--- a/test/battery_get_params_smart.c
+++ b/test/battery_get_params_smart.c
@@ -163,6 +163,16 @@ static int test_flags(void)
test_flag(SB_BATTERY_STATUS, BATT_FLAG_BAD_STATUS);
/*
+ * Volatile flags should be cleared and other flags should be preserved.
+ */
+ reset_and_fail_on(0, 0, -1);
+ batt.flags |= BATT_FLAG_BAD_TEMPERATURE;
+ batt.flags |= BIT(31);
+ battery_get_params(&batt);
+ TEST_ASSERT(batt.flags & BIT(31));
+ TEST_ASSERT(!(batt.flags & BATT_FLAG_BAD_ANY));
+
+ /*
* All reads succeed. BATT_FLAG_RESPONSIVE should be set. Then, all
* reads fail. BATT_FLAG_RESPONSIVE should be cleared.
*/