Re: [PATCH] lib/glob: add more KUnit tests for glob
From: Josh Law
Date: Fri Apr 03 2026 - 11:54:20 EST
---- On Fri, 03 Apr 2026 16:49:10 +0100 visitorckw@xxxxxxxxx wrote ----
> Hi Josh,
>
> On Fri, Apr 03, 2026 at 03:28:53PM +0000, Josh Law wrote:
> > Since there isnt much tests for lib/glob.c, lets go ahead and add some more
> tests
>
> checkpatch.pl generates the following warnings:
>
> WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit
> description?)
> #60:
> Since there isnt much tests for lib/glob.c, lets go ahead and add some more
> tests
>
> WARNING: 'isnt' may be misspelled - perhaps 'isn't'?
> #60:
> Since there isnt much tests for lib/glob.c, lets go ahead and add some more
> tests
> ^^^^
>
> total: 0 errors, 2 warnings, 31 lines checked
>
> I have mentioned this to you multiple times in the past: please always
> run checkpatch.pl to check your patches before sending them.
>
> Regards,
> Kuan-Wei
Hi Kuan, it was genuinely my mistake. I forgot to run check patch before sending it over. And this happened. I'll give it a bit before sending over a V2 fixing these issues :)
>
> >
> > Signed-off-by: Josh Law
>
> > ---
> > lib/tests/glob_kunit.c | 25 +++++++++++++++++++++++++
> > 1 file changed, 25 insertions(+)
> >
> > diff --git a/lib/tests/glob_kunit.c b/lib/tests/glob_kunit.c
> > index 362b1eda8e5b..73d4f72fa824 100644
> > --- a/lib/tests/glob_kunit.c
> > +++ b/lib/tests/glob_kunit.c
> > @@ -90,6 +90,31 @@ static const struct glob_test_case glob_test_cases[] = {
> > { .pat = "*abcd*abcdef*", .str = "abcabcdabcdeabcdefg", .expected = true
> },
> > { .pat = "*abcd*", .str = "abcabcabcabcefg", .expected = false },
> > { .pat = "*ab*cd*", .str = "abcabcabcabcefg", .expected = false },
> > + /* backslash escaping */
> > + { .pat = "\\a", .str = "a", .expected = true },
> > + { .pat = "\\a", .str = "\\a", .expected = false },
> > + { .pat = "\\*", .str = "*", .expected = true },
> > + { .pat = "\\*", .str = "a", .expected = false },
> > + { .pat = "\\?", .str = "?", .expected = true },
> > + { .pat = "\\?", .str = "a", .expected = false },
> > + { .pat = "\\[a]", .str = "[a]", .expected = true },
> > + { .pat = "\\\\", .str = "\\", .expected = true },
> > + { .pat = "a\\*b", .str = "a*b", .expected = true },
> > + { .pat = "a\\*b", .str = "aXb", .expected = false },
> > + /* trailing backslash */
> > + { .pat = "a\\", .str = "a", .expected = true },
> > + { .pat = "\\", .str = "", .expected = true },
> > + /* backwards ranges */
> > + { .pat = "[z-a]", .str = "m", .expected = false },
> > + { .pat = "[!z-a]", .str = "m", .expected = true },
> > + /* high-bit characters */
> > + { .pat = "\xc0", .str = "\xc0", .expected = true },
> > + { .pat = "\xc0", .str = "\x80", .expected = false },
> > + { .pat = "[\x80-\xff]", .str = "\xc0", .expected = true },
> > + { .pat = "[\x80-\xff]", .str = "\x7f", .expected = false },
> > + /* unclosed bracket as literal */
> > + { .pat = "[abc", .str = "[abc", .expected = true },
> > + { .pat = "[abc", .str = "a", .expected = false },
> > };
> >
> > static void glob_case_to_desc(const struct glob_test_case *t, char *desc)
> > --
> > 2.34.1
> >