summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Michalec <tm@semihalf.com>2022-08-11 16:29:44 +0200
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-08-16 11:57:44 +0000
commit1e8e8eca960b6914ff50d219d249558cdc9974be (patch)
tree1eb6b501f2cf2ed18440a5bd0d81ba5454b0a642
parent1ee223e6cba5a17e264569fb41d30f4318bf9c5e (diff)
downloadchrome-ec-1e8e8eca960b6914ff50d219d249558cdc9974be.tar.gz
zephyr: test: bma2x2: Fix test_bma_set_offset
The BMA2x2 set_offset function does some calculations on offset, so offset argument has to be valid. Some unexpected values may trigger floating point exception. To prevent that, exp_offset value is initialized. Rotation may be used in calculations, too. To prevent using rotation value that is out of scope, rotation is set to NULL after each test. BUG=None TEST=./twister -T zephyr/test/drivers BRANCH=None Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: I22b7d2855133c1ce0e8cb4ae095b000337249b96 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3827192 Tested-by: Tomasz Michalec <tmichalec@google.com> Commit-Queue: Tomasz Michalec <tmichalec@google.com> Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
-rw-r--r--zephyr/test/drivers/default/src/bma2x2.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/zephyr/test/drivers/default/src/bma2x2.c b/zephyr/test/drivers/default/src/bma2x2.c
index 9cfc3cd837..a098574623 100644
--- a/zephyr/test/drivers/default/src/bma2x2.c
+++ b/zephyr/test/drivers/default/src/bma2x2.c
@@ -213,7 +213,7 @@ ZTEST_USER(bma2x2, test_bma_set_offset)
struct i2c_common_emul_data *common_data =
emul_bma_get_i2c_common_data(emul);
int16_t ret_offset[3];
- int16_t exp_offset[3];
+ int16_t exp_offset[3] = { 0, 0, 0 };
int16_t temp = 0;
/* Test fail on each axis */
@@ -933,5 +933,10 @@ static void *bma2x2_setup(void)
return NULL;
}
-ZTEST_SUITE(bma2x2, drivers_predicate_post_main, bma2x2_setup, NULL, NULL,
- NULL);
+static void bma2x2_after(void *data)
+{
+ ms.rot_standard_ref = NULL;
+}
+
+ZTEST_SUITE(bma2x2, drivers_predicate_post_main, bma2x2_setup, NULL,
+ bma2x2_after, NULL);