From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Cc: trini@konsulko.com, sjg@chromium.org, awilliams@marvell.com,
cchavva@marvell.com
Subject: [PATCH v6 8/8] cyclic: Add a simple test
Date: Fri, 2 Sep 2022 13:57:54 +0200 [thread overview]
Message-ID: <20220902115754.1280789-9-sr@denx.de> (raw)
In-Reply-To: <20220902115754.1280789-1-sr@denx.de>
Add a test for cyclic function registration and activation.
Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
---
v6:
- No change
v5:
- Set 'cyclic_active' to false before registering the test
- Use WATCHDOG_RESET() instead of mdelay()
- Use COMMON_TEST()
- Added Simon's RB tag
v4:
- New patch
test/common/Makefile | 1 +
test/common/cyclic.c | 35 +++++++++++++++++++++++++++++++++++
test/test-main.c | 3 +++
3 files changed, 39 insertions(+)
create mode 100644 test/common/cyclic.c
diff --git a/test/common/Makefile b/test/common/Makefile
index 9087788ba6a8..cc918f64e544 100644
--- a/test/common/Makefile
+++ b/test/common/Makefile
@@ -1,4 +1,5 @@
# SPDX-License-Identifier: GPL-2.0+
obj-y += cmd_ut_common.o
obj-$(CONFIG_AUTOBOOT) += test_autoboot.o
+obj-$(CONFIG_CYCLIC) += cyclic.o
obj-$(CONFIG_EVENT) += event.o
diff --git a/test/common/cyclic.c b/test/common/cyclic.c
new file mode 100644
index 000000000000..a5c4e78989b9
--- /dev/null
+++ b/test/common/cyclic.c
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2022 Stefan Roese <sr@denx.de>
+ */
+
+#include <common.h>
+#include <cyclic.h>
+#include <dm.h>
+#include <test/common.h>
+#include <test/test.h>
+#include <test/ut.h>
+#include <watchdog.h>
+#include <linux/delay.h>
+
+/* Test that cyclic function is called */
+static bool cyclic_active = false;
+
+static void cyclic_test(void *ctx)
+{
+ cyclic_active = true;
+}
+
+static int dm_test_cyclic_running(struct unit_test_state *uts)
+{
+ cyclic_active = false;
+ ut_assertnonnull(cyclic_register(cyclic_test, 10 * 1000, "cyclic_demo",
+ NULL));
+
+ /* Execute all registered cyclic functions */
+ WATCHDOG_RESET();
+ ut_asserteq(true, cyclic_active);
+
+ return 0;
+}
+COMMON_TEST(dm_test_cyclic_running, 0);
diff --git a/test/test-main.c b/test/test-main.c
index 31837e57a8fb..8a609a8a2fce 100644
--- a/test/test-main.c
+++ b/test/test-main.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <console.h>
+#include <cyclic.h>
#include <dm.h>
#include <event.h>
#include <dm/root.h>
@@ -220,6 +221,7 @@ static int dm_test_restore(struct device_node *of_root)
static int test_pre_run(struct unit_test_state *uts, struct unit_test *test)
{
ut_assertok(event_init());
+ ut_assertok(cyclic_init());
if (test->flags & UT_TESTF_DM)
ut_assertok(dm_test_pre_run(uts));
@@ -265,6 +267,7 @@ static int test_post_run(struct unit_test_state *uts, struct unit_test *test)
ut_unsilence_console(uts);
if (test->flags & UT_TESTF_DM)
ut_assertok(dm_test_post_run(uts));
+ ut_assertok(cyclic_uninit());
ut_assertok(event_uninit());
return 0;
--
2.37.3
next prev parent reply other threads:[~2022-09-02 11:59 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-02 11:57 [PATCH v6 0/8] Add support for cyclic function execution infrastruture Stefan Roese
2022-09-02 11:57 ` [PATCH v6 1/8] time: Import time_after64() and friends from Linux Stefan Roese
2022-09-02 11:57 ` [PATCH v6 2/8] cyclic: Add basic support for cyclic function execution infrastruture Stefan Roese
2022-09-02 11:57 ` [PATCH v6 3/8] cyclic: Integrate cyclic infrastructure into WATCHDOG_RESET Stefan Roese
2022-09-02 11:57 ` [PATCH v6 4/8] cyclic: Integrate cyclic functionality at bootup in board_r/f Stefan Roese
2022-09-02 11:57 ` [PATCH v6 5/8] cyclic: Add 'cyclic list' and 'cyclic demo' commands Stefan Roese
2022-09-02 11:57 ` [PATCH v6 6/8] mips: octeon_nic23: Add PCIe FLR fixup via cyclic infrastructure Stefan Roese
2022-09-02 11:57 ` [PATCH v6 7/8] cyclic: Add documentation Stefan Roese
2022-09-02 11:57 ` Stefan Roese [this message]
2022-09-14 12:58 ` [PATCH v6 0/8] Add support for cyclic function execution infrastruture Tom Rini
2022-09-14 14:29 ` Stefan Roese
2022-09-14 14:47 ` Tom Rini
2022-09-14 15:18 ` Stefan Roese
2022-09-14 17:09 ` Simon Glass
2022-09-15 4:58 ` Stefan Roese
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220902115754.1280789-9-sr@denx.de \
--to=sr@denx.de \
--cc=awilliams@marvell.com \
--cc=cchavva@marvell.com \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox