* [PATCH] iio: test: iio-test-format: add test case for char format
@ 2026-10-25 16:59 Raffaele Tranfaglia via B4 Relay
2026-10-25 21:06 ` Andy Shevchenko
0 siblings, 1 reply; 2+ messages in thread
From: Raffaele Tranfaglia via B4 Relay @ 2026-10-25 16:59 UTC (permalink / raw)
To: Rodrigo Alencar, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko
Cc: linux-iio, linux-kernel, Raffaele Tranfaglia
From: Raffaele Tranfaglia <raffaele.tranfaglia@gmail.com>
IIO_VAL_CHAR is used by thermocouple drivers to report the
thermocouple type, but iio_format_value() has no test for it.
Add a test case that checks a single character is printed followed
by a newline.
Assisted-by: LLM
Signed-off-by: Raffaele Tranfaglia <raffaele.tranfaglia@gmail.com>
---
Tested with KUnit on arm64 QEMU: all 8 iio-format cases pass.
---
drivers/iio/test/iio-test-format.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/drivers/iio/test/iio-test-format.c b/drivers/iio/test/iio-test-format.c
index e5d0a2ac4670..701c362695f3 100644
--- a/drivers/iio/test/iio-test-format.c
+++ b/drivers/iio/test/iio-test-format.c
@@ -197,6 +197,28 @@ static void iio_test_iio_format_value_multiple(struct kunit *test)
IIO_TEST_FORMAT_EXPECT_EQ(test, buf, ret, "1 -2 3 -4 5 \n");
}
+static void iio_test_iio_format_value_char(struct kunit *test)
+{
+ char *buf;
+ int val;
+ int ret;
+
+ buf = kunit_kmalloc(test, PAGE_SIZE, GFP_KERNEL);
+ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buf);
+
+ val = 'K';
+ ret = iio_format_value(buf, IIO_VAL_CHAR, 1, &val);
+ IIO_TEST_FORMAT_EXPECT_EQ(test, buf, ret, "K\n");
+
+ val = 'j';
+ ret = iio_format_value(buf, IIO_VAL_CHAR, 1, &val);
+ IIO_TEST_FORMAT_EXPECT_EQ(test, buf, ret, "j\n");
+
+ val = '0';
+ ret = iio_format_value(buf, IIO_VAL_CHAR, 1, &val);
+ IIO_TEST_FORMAT_EXPECT_EQ(test, buf, ret, "0\n");
+}
+
static void iio_test_iio_format_value_integer_64(struct kunit *test)
{
int values[2];
@@ -308,6 +330,7 @@ static struct kunit_case iio_format_test_cases[] = {
KUNIT_CASE(iio_test_iio_format_value_fractional),
KUNIT_CASE(iio_test_iio_format_value_fractional_log2),
KUNIT_CASE(iio_test_iio_format_value_multiple),
+ KUNIT_CASE(iio_test_iio_format_value_char),
KUNIT_CASE(iio_test_iio_format_value_integer_64),
KUNIT_CASE(iio_test_iio_format_value_decimal_64),
{ }
---
base-commit: c9dbe2a47f635465c9985b7af74d2ae310e98125
change-id: 20261025-iio-test-format-char-8a17fbf9a201
Best regards,
--
Raffaele Tranfaglia <raffaele.tranfaglia@gmail.com>
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] iio: test: iio-test-format: add test case for char format
2026-10-25 16:59 [PATCH] iio: test: iio-test-format: add test case for char format Raffaele Tranfaglia via B4 Relay
@ 2026-10-25 21:06 ` Andy Shevchenko
0 siblings, 0 replies; 2+ messages in thread
From: Andy Shevchenko @ 2026-10-25 21:06 UTC (permalink / raw)
To: raffaele.tranfaglia
Cc: Rodrigo Alencar, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, linux-iio, linux-kernel
On Sun, Oct 25, 2026 at 04:59:41PM +0000, Raffaele Tranfaglia via B4 Relay wrote:
> From: Raffaele Tranfaglia <raffaele.tranfaglia@gmail.com>
>
> IIO_VAL_CHAR is used by thermocouple drivers to report the
> thermocouple type, but iio_format_value() has no test for it.
>
> Add a test case that checks a single character is printed followed
> by a newline.
> Assisted-by: LLM
Already outdated tag, please drop. Instead mention the AI usage in the comment
block (after '---' line).
> Signed-off-by: Raffaele Tranfaglia <raffaele.tranfaglia@gmail.com>
...
> +static void iio_test_iio_format_value_char(struct kunit *test)
> +{
> + char *buf;
> + int val;
> + int ret;
> +
> + buf = kunit_kmalloc(test, PAGE_SIZE, GFP_KERNEL);
> + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buf);
> +
> + val = 'K';
> + ret = iio_format_value(buf, IIO_VAL_CHAR, 1, &val);
> + IIO_TEST_FORMAT_EXPECT_EQ(test, buf, ret, "K\n");
> +
> + val = 'j';
> + ret = iio_format_value(buf, IIO_VAL_CHAR, 1, &val);
> + IIO_TEST_FORMAT_EXPECT_EQ(test, buf, ret, "j\n");
> +
> + val = '0';
> + ret = iio_format_value(buf, IIO_VAL_CHAR, 1, &val);
> + IIO_TEST_FORMAT_EXPECT_EQ(test, buf, ret, "0\n");
> +}
Add non-printable, special, et cetera test cases.
Make sure that IIO_TEST_FORMAT_EXPECT_EQ() check the entire buffer against
poison so we will know that iio_format_value() in the case of IIO_VAL_CHAR
doesn't write more than it is supposed to.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-25 21:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-25 16:59 [PATCH] iio: test: iio-test-format: add test case for char format Raffaele Tranfaglia via B4 Relay
2026-10-25 21:06 ` Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®