Re: [PATCH] iio: test: iio-test-format: add test case for char format
From: Andy Shevchenko
Date: Sun Oct 25 2026 - 17:06:26 EST
On Sun, Oct 25, 2026 at 04:59:41PM +0000, Raffaele Tranfaglia via B4 Relay wrote:
> From: Raffaele Tranfaglia <raffaele.tranfaglia@xxxxxxxxx>
>
> 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@xxxxxxxxx>
...
> +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