diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2017-06-22 17:27:44 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-06-27 15:52:06 -0700 |
commit | a66de3e95631ba30212481185e23d2c48ddf4665 (patch) | |
tree | 5db24c2fddd4cb86178ffd07b41014f2956a0c86 /cts | |
parent | a82421df00ac1834d0dc8a93f788c323b1bf1977 (diff) | |
download | chrome-ec-a66de3e95631ba30212481185e23d2c48ddf4665.tar.gz |
eCTS: Convert mutex test suite to current format
This patch updates the mutex test suite so that it can be run
within the current framework.
BUG=chromium:736155
BRANCH=none
TEST=run cts.py -m mutex
test name TH_RETURN_CODE DUT_RETURN_CODE TH_STR DUT_STR RESULT
lock_unlock_test SUCCESS SUCCESS 1 1 PASS
Change-Id: I69ee0857a0c633d7c6c8909f8c6f58ca6fd272ce
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/544790
Diffstat (limited to 'cts')
-rw-r--r-- | cts/mutex/cts.tasklist | 1 | ||||
-rw-r--r-- | cts/mutex/cts.testlist | 9 | ||||
-rw-r--r-- | cts/mutex/dut.c | 14 | ||||
-rw-r--r-- | cts/mutex/th.c | 14 |
4 files changed, 21 insertions, 17 deletions
diff --git a/cts/mutex/cts.tasklist b/cts/mutex/cts.tasklist index 1c68b8d30a..32cfb865b9 100644 --- a/cts/mutex/cts.tasklist +++ b/cts/mutex/cts.tasklist @@ -19,5 +19,4 @@ TASK_ALWAYS(MTX3B, mutex_random_task, NULL, 384) \ TASK_ALWAYS(MTX3A, mutex_random_task, NULL, 384) \ TASK_ALWAYS(MTX2, mutex_second_task, NULL, 384) \ - TASK_ALWAYS(MTX1, mutex_main_task, NULL, 384) \ TASK_ALWAYS(CTS, cts_task, NULL, TASK_STACK_SIZE) diff --git a/cts/mutex/cts.testlist b/cts/mutex/cts.testlist new file mode 100644 index 0000000000..5b1cdb1dae --- /dev/null +++ b/cts/mutex/cts.testlist @@ -0,0 +1,9 @@ +/* Copyright 2016 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/* + * Test mutex lock and unlock + */ +CTS_TEST(lock_unlock_test,,,,)
\ No newline at end of file diff --git a/cts/mutex/dut.c b/cts/mutex/dut.c index c70e7df844..4fcea73fdf 100644 --- a/cts/mutex/dut.c +++ b/cts/mutex/dut.c @@ -8,6 +8,7 @@ #include "console.h" #include "common.h" +#include "cts_common.h" #include "task.h" #include "test_util.h" #include "timer.h" @@ -50,7 +51,7 @@ int mutex_second_task(void *unused) ccprintf("MTX2: locking..."); mutex_lock(&mtx); ccprintf("done\n"); - task_wake(TASK_ID_MTX1); + task_wake(TASK_ID_CTS); ccprintf("MTX2: unlocking...\n"); mutex_unlock(&mtx); @@ -59,7 +60,7 @@ int mutex_second_task(void *unused) return EC_SUCCESS; } -int mutex_main_task(void *unused) +static enum cts_rc lock_unlock_test(void) { task_id_t id = task_get_current(); uint32_t rdelay = (uint32_t)0x0bad1dea; @@ -68,8 +69,6 @@ int mutex_main_task(void *unused) ccprintf("\n[Mutex main task %d]\n", id); - task_wait_event(0); - /* --- Lock/Unlock without contention --- */ ccprintf("No contention :"); mutex_lock(&mtx); @@ -103,15 +102,14 @@ int mutex_main_task(void *unused) rdelay = prng(rdelay); } - test_pass(); - task_wait_event(0); - return EC_SUCCESS; } +#include "cts_testlist.h" + void cts_task(void) { wait_for_task_started(); - task_wake(TASK_ID_MTX1); + cts_main_loop(tests, "Mutex"); task_wait_event(-1); } diff --git a/cts/mutex/th.c b/cts/mutex/th.c index c70e7df844..4fcea73fdf 100644 --- a/cts/mutex/th.c +++ b/cts/mutex/th.c @@ -8,6 +8,7 @@ #include "console.h" #include "common.h" +#include "cts_common.h" #include "task.h" #include "test_util.h" #include "timer.h" @@ -50,7 +51,7 @@ int mutex_second_task(void *unused) ccprintf("MTX2: locking..."); mutex_lock(&mtx); ccprintf("done\n"); - task_wake(TASK_ID_MTX1); + task_wake(TASK_ID_CTS); ccprintf("MTX2: unlocking...\n"); mutex_unlock(&mtx); @@ -59,7 +60,7 @@ int mutex_second_task(void *unused) return EC_SUCCESS; } -int mutex_main_task(void *unused) +static enum cts_rc lock_unlock_test(void) { task_id_t id = task_get_current(); uint32_t rdelay = (uint32_t)0x0bad1dea; @@ -68,8 +69,6 @@ int mutex_main_task(void *unused) ccprintf("\n[Mutex main task %d]\n", id); - task_wait_event(0); - /* --- Lock/Unlock without contention --- */ ccprintf("No contention :"); mutex_lock(&mtx); @@ -103,15 +102,14 @@ int mutex_main_task(void *unused) rdelay = prng(rdelay); } - test_pass(); - task_wait_event(0); - return EC_SUCCESS; } +#include "cts_testlist.h" + void cts_task(void) { wait_for_task_started(); - task_wake(TASK_ID_MTX1); + cts_main_loop(tests, "Mutex"); task_wait_event(-1); } |