Hi!
> The existing lib/tst_cwd_has_free.c only determines the filesystem, which
> the current directory is in. And I think tst_cwd_has_free() is not entirely
> correct. See this code in tst_cwd_has_free():
> return ((float)sf.f_bfree) / (1024 / sf.f_bsize) >=
> required_kib ? 1 : 0;
> if sf.f_bsize is greater than 1024, this code is wrong.
>
> I choose to remove tst_cwd_has_free.c and add lib/tst_fs_has_free.c.
> The prototype is below:
> int tst_fs_has_free(void (*cleanup)(void), const char *path,
> unsigned int size, unsigned int mult);
>
> User can specify the path to determine the corresponding filesystem.
Pushed with a small fixes, thanks.
> +enum {
> + TST_KB = 1024,
> + TST_MB = 1048576,
> + TST_GB = 1073741824,
> +};
I've added TST_BYTES = 1 here so that we don't have to divide the 10 *
pagesize in the last case.
> diff --git a/testcases/kernel/syscalls/swapoff/swapoff01.c
> b/testcases/kernel/syscalls/swapoff/swapoff01.c
> index b4d19de..96b52ae 100644
> --- a/testcases/kernel/syscalls/swapoff/swapoff01.c
> +++ b/testcases/kernel/syscalls/swapoff/swapoff01.c
> @@ -99,7 +99,7 @@ static void setup(void)
> break;
> }
>
> - if (!tst_cwd_has_free(65536)) {
> + if (!tst_fs_has_free(NULL, ".", 64, TST_KB)) {
> tst_brkm(TBROK, cleanup,
> "Insufficient disk space to create swap file");
> }
And changes this to:
if (!tst_fs_has_free(NULL, ".", 64, TST_MB)) {
Because as far as I can tell, the test creates 64 megabytes files.
PS: We should document the function in Test Writing Guidelines. Will you
send a patch or should I write it?
--
Cyril Hrubis
[email protected]
------------------------------------------------------------------------------
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
• 3 signs your SCM is hindering your productivity
• Requirements for releasing software faster
• Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list