summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2017-06-22 17:27:44 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-06-27 15:52:06 -0700
commita66de3e95631ba30212481185e23d2c48ddf4665 (patch)
tree5db24c2fddd4cb86178ffd07b41014f2956a0c86
parenta82421df00ac1834d0dc8a93f788c323b1bf1977 (diff)
downloadchrome-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
-rw-r--r--cts/mutex/cts.tasklist1
-rw-r--r--cts/mutex/cts.testlist9
-rw-r--r--cts/mutex/dut.c14
-rw-r--r--cts/mutex/th.c14
-rwxr-xr-xutil/run_ects.sh2
5 files changed, 22 insertions, 18 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);
}
diff --git a/util/run_ects.sh b/util/run_ects.sh
index 9a74971235..5b0aca5d3e 100755
--- a/util/run_ects.sh
+++ b/util/run_ects.sh
@@ -13,7 +13,7 @@ RED='\033[0;31m'
GRN='\033[0;32m'
# List of tests to run.
-TESTS=(meta gpio hook interrupt task timer)
+TESTS=(meta gpio hook interrupt mutex task timer)
usage() {
cat <<END