Re: [PATCH 0/2] nolibc: Add fread() and fseek()
From: Daniel Palmer
Date: Sun Jan 04 2026 - 06:12:36 EST
Hi Thomas,
On Sun, 4 Jan 2026 at 18:11, Thomas Weißschuh <linux@xxxxxxxxxxxxxx> wrote:
> Please also do add some tests.
Would a single function test that exercises the new functions be
enough? Something like this:
--- a/tools/testing/selftests/nolibc/nolibc-test.c
+++ b/tools/testing/selftests/nolibc/nolibc-test.c
@@ -877,6 +877,45 @@ int test_file_stream(void)
return 0;
}
+int test_file_stream_wsr(void)
+{
+ const char dataout[] = "foo";
+ const size_t datasz = sizeof(dataout);
+ char datain[datasz];
+ FILE *f;
+ int r;
+
+ f = fopen("/tmp/file_stream_test", "w+");
+ if (!f)
+ return -1;
+
+ r = fwrite(dataout, 1, datasz, f);
+ if (r != datasz)
+ goto fail;
+
+ r = fseek(f, 0, SEEK_SET);
+ if (r)
+ goto fail;
+
+ r = fread(datain, 1, datasz, f);
+ if (r != datasz)
+ goto fail;
+
+ if (memcmp(datain, dataout, datasz) != 0)
+ goto fail;
+
+ r = fclose(f);
+ if (r == EOF)
+ return -1;
+
+ return 0;
+
+fail:
+ fclose(f);
+ return -1;
+}
+
Cheers,
Daniel