Re: [PATCH 3/3] selftests: add readfile(2) selftests

From: Geert Uytterhoeven
Date: Sat Jul 04 2020 - 14:38:40 EST


Hi Greg,

On Sat, Jul 4, 2020 at 4:05 PM Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> Test the functionality of readfile(2) in various ways.
>
> Also provide a simple speed test program to benchmark using readfile()
> instead of using open()/read()/close().
>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

Any benchmark results to share?

> --- /dev/null
> +++ b/tools/testing/selftests/readfile/readfile.c

> +static void readfile(const char *filename)
> +{
> +// int root_fd;

???

> + unsigned char buffer[16000];
> + int retval;
> +
> + memset(buffer, 0x00, sizeof(buffer));
> +
> +// root_fd = open("/", O_DIRECTORY);
> +// if (root_fd == -1)
> +// ksft_exit_fail_msg("error with root_fd\n");

???

> +
> + retval = sys_readfile(root_fd, filename, &buffer[0], sizeof(buffer), 0);
> +
> +// close(root_fd);
> +
> + if (retval <= 0)
> + ksft_test_result_fail("readfile() test of filename=%s failed with retval %d\n",
> + filename, retval);
> + else
> + ksft_test_result_pass("readfile() test of filename=%s succeeded with retval=%d\n",
> + filename, retval);
> +// buffer='%s'\n",
> +// filename, retval, &buffer[0]);
> +
> +}
> +
> +
> +int main(int argc, char *argv[])
> +{
> + ksft_print_header();
> + ksft_set_plan(10);
> +
> + test_readfile_supported(); // 1 test
> +
> + test_sysfs_files(); // 1 test
> +
> + test_filesizes(); // 6 tests
> +
> + setup_tmpdir();
> +
> + readfile(TEST_FILE1);
> + readfile(TEST_FILE2);
> +// readfile(TEST_FILE4);

???

> +
> + teardown_tmpdir();
> +
> + if (ksft_get_fail_cnt())
> + return ksft_exit_fail();
> +
> + return ksft_exit_pass();
> +}

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds