summaryrefslogtreecommitdiff
path: root/test/charge_manager.c
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2015-01-06 12:00:06 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-01-08 05:02:35 +0000
commitfdb504e24a7f52528d0ca05549a7ed0be0fd5713 (patch)
treeacb7741c6203760159b49338ec8a5908466fcadb /test/charge_manager.c
parent8cb5584458d9ad6618fb88dfe5baf879296a4b8c (diff)
downloadchrome-ec-fdb504e24a7f52528d0ca05549a7ed0be0fd5713.tar.gz
charge_manager: Prefer current active port in best port selection
If two identical suppliers are capable of supplying equal power, select the port which is currently active. BUG=chrome-os-partner:34912 TEST=Manual on Samus. Plug Zinger into right port, verify that it becomes active. Plug a new Zinger into left port, verify that the right port stays active. BRANCH=Samus Change-Id: Ib1baf4bd3f619169f0e31ec509a2fe7dbd8c897e Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/238766 Reviewed-by: Alec Berg <alecaberg@chromium.org>
Diffstat (limited to 'test/charge_manager.c')
-rw-r--r--test/charge_manager.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/charge_manager.c b/test/charge_manager.c
index db81105ff6..b0c9423632 100644
--- a/test/charge_manager.c
+++ b/test/charge_manager.c
@@ -228,6 +228,17 @@ static int test_priority(void)
TEST_ASSERT(active_charge_port == 1);
TEST_ASSERT(active_charge_limit == 3000);
+ /*
+ * Add a charge at equal priority and equal power, verify that the
+ * active port doesn't change since the first plugged port is
+ * selected as the tiebreaker.
+ */
+ charge.current = 3000;
+ charge_manager_update(CHARGE_SUPPLIER_TEST6, 0, &charge);
+ wait_for_charge_manager_refresh();
+ TEST_ASSERT(active_charge_port == 1);
+ TEST_ASSERT(active_charge_limit == 3000);
+
return EC_SUCCESS;
}