Message ID | 20220804121946.19564-7-pvorel@suse.cz |
---|---|
State | Superseded |
Headers | show |
Series | [v3,01/10] tst_test.sh: Fix tst_mkfs() for tmpfs | expand |
Hi, Acked-by: Richard Palethorpe <rpalethorpe@suse.com> Petr Vorel <pvorel@suse.cz> writes: > Signed-off-by: Petr Vorel <pvorel@suse.cz> > --- > New in v3 > > include/tst_fs.h | 10 ++++++++++ > lib/tst_supported_fs_types.c | 18 ++++++++++++++++++ > testcases/lib/tst_supported_fs.c | 2 +- > 3 files changed, 29 insertions(+), 1 deletion(-) > > diff --git a/include/tst_fs.h b/include/tst_fs.h > index 8159b99eb..2fe97f174 100644 > --- a/include/tst_fs.h > +++ b/include/tst_fs.h > @@ -182,6 +182,16 @@ enum tst_fs_impl { > */ > enum tst_fs_impl tst_fs_is_supported(const char *fs_type); > > +/* > + * Check filesystem support (@see tst_fs_is_supported()), but consider also > + * filesystems to skip. > + * > + * @fs_type A filesystem name to check the support for. > + * @skiplist A NULL terminated array of filesystems to skip. > + */ > +enum tst_fs_impl tst_fs_is_supported_skiplist(const char *fs_type, const char > + *const *skiplist); > + > /* > * Returns NULL-terminated array of kernel-supported filesystems. > * > diff --git a/lib/tst_supported_fs_types.c b/lib/tst_supported_fs_types.c > index 9726d193a..8c9379c1b 100644 > --- a/lib/tst_supported_fs_types.c > +++ b/lib/tst_supported_fs_types.c > @@ -134,6 +134,24 @@ enum tst_fs_impl tst_fs_is_supported(const char *fs_type) > return TST_FS_UNSUPPORTED; > } > > +enum tst_fs_impl tst_fs_is_supported_skiplist(const char *fs_type, const char > + *const *skiplist) > +{ > + int ret; > + > + ret = tst_fs_is_supported(fs_type); > + > + if (!ret) > + return ret; > + > + if (tst_fs_in_skiplist(fs_type, skiplist)) { > + tst_brk(TCONF, "%s is not supported by the test", > + fs_type); > + } > + > + return ret; > +} > + > const char **tst_get_supported_fs_types(const char *const *skiplist) > { > unsigned int i, j = 0; > diff --git a/testcases/lib/tst_supported_fs.c b/testcases/lib/tst_supported_fs.c > index 87be2b759..75945c809 100644 > --- a/testcases/lib/tst_supported_fs.c > +++ b/testcases/lib/tst_supported_fs.c > @@ -70,7 +70,7 @@ int main(int argc, char *argv[]) > } > > if (optind < argc) > - return !tst_fs_is_supported(argv[optind]); > + return !tst_fs_is_supported_skiplist(argv[optind], (const char * const*)skiplist); > > filesystems = tst_get_supported_fs_types((const char * const*)skiplist); > for (i = 0; filesystems[i]; i++) > -- > 2.37.1
diff --git a/include/tst_fs.h b/include/tst_fs.h index 8159b99eb..2fe97f174 100644 --- a/include/tst_fs.h +++ b/include/tst_fs.h @@ -182,6 +182,16 @@ enum tst_fs_impl { */ enum tst_fs_impl tst_fs_is_supported(const char *fs_type); +/* + * Check filesystem support (@see tst_fs_is_supported()), but consider also + * filesystems to skip. + * + * @fs_type A filesystem name to check the support for. + * @skiplist A NULL terminated array of filesystems to skip. + */ +enum tst_fs_impl tst_fs_is_supported_skiplist(const char *fs_type, const char + *const *skiplist); + /* * Returns NULL-terminated array of kernel-supported filesystems. * diff --git a/lib/tst_supported_fs_types.c b/lib/tst_supported_fs_types.c index 9726d193a..8c9379c1b 100644 --- a/lib/tst_supported_fs_types.c +++ b/lib/tst_supported_fs_types.c @@ -134,6 +134,24 @@ enum tst_fs_impl tst_fs_is_supported(const char *fs_type) return TST_FS_UNSUPPORTED; } +enum tst_fs_impl tst_fs_is_supported_skiplist(const char *fs_type, const char + *const *skiplist) +{ + int ret; + + ret = tst_fs_is_supported(fs_type); + + if (!ret) + return ret; + + if (tst_fs_in_skiplist(fs_type, skiplist)) { + tst_brk(TCONF, "%s is not supported by the test", + fs_type); + } + + return ret; +} + const char **tst_get_supported_fs_types(const char *const *skiplist) { unsigned int i, j = 0; diff --git a/testcases/lib/tst_supported_fs.c b/testcases/lib/tst_supported_fs.c index 87be2b759..75945c809 100644 --- a/testcases/lib/tst_supported_fs.c +++ b/testcases/lib/tst_supported_fs.c @@ -70,7 +70,7 @@ int main(int argc, char *argv[]) } if (optind < argc) - return !tst_fs_is_supported(argv[optind]); + return !tst_fs_is_supported_skiplist(argv[optind], (const char * const*)skiplist); filesystems = tst_get_supported_fs_types((const char * const*)skiplist); for (i = 0; filesystems[i]; i++)
Signed-off-by: Petr Vorel <pvorel@suse.cz> --- New in v3 include/tst_fs.h | 10 ++++++++++ lib/tst_supported_fs_types.c | 18 ++++++++++++++++++ testcases/lib/tst_supported_fs.c | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-)