public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] lib/glob: add more KUnit tests for glob
@ 2026-04-03 15:28 Josh Law
  2026-04-03 15:49 ` Kuan-Wei Chiu
  0 siblings, 1 reply; 4+ messages in thread
From: Josh Law @ 2026-04-03 15:28 UTC (permalink / raw)
  To: Kuan-Wei Chiu, Josh Law, David Gow, Kir Chou, Andrew Morton
  Cc: linux-kernel, Steven Rostedt

Since there isnt much tests for lib/glob.c, lets go ahead and add some more tests

Signed-off-by: Josh Law <objecting@objecting.org>
---
 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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] lib/glob: add more KUnit tests for glob
  2026-04-03 15:28 [PATCH] lib/glob: add more KUnit tests for glob Josh Law
@ 2026-04-03 15:49 ` Kuan-Wei Chiu
  2026-04-03 15:50   ` Josh Law
  0 siblings, 1 reply; 4+ messages in thread
From: Kuan-Wei Chiu @ 2026-04-03 15:49 UTC (permalink / raw)
  To: Josh Law; +Cc: David Gow, Kir Chou, Andrew Morton, linux-kernel, Steven Rostedt

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


> 
> Signed-off-by: Josh Law <objecting@objecting.org>
> ---
>  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
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] lib/glob: add more KUnit tests for glob
  2026-04-03 15:49 ` Kuan-Wei Chiu
@ 2026-04-03 15:50   ` Josh Law
  2026-04-03 16:10     ` Kuan-Wei Chiu
  0 siblings, 1 reply; 4+ messages in thread
From: Josh Law @ 2026-04-03 15:50 UTC (permalink / raw)
  To: visitorckw; +Cc: david, note351, akpm, linux-kernel, rostedt

---- On Fri, 03 Apr 2026 16:49:10 +0100 visitorckw@gmail.com 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
> >


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] lib/glob: add more KUnit tests for glob
  2026-04-03 15:50   ` Josh Law
@ 2026-04-03 16:10     ` Kuan-Wei Chiu
  0 siblings, 0 replies; 4+ messages in thread
From: Kuan-Wei Chiu @ 2026-04-03 16:10 UTC (permalink / raw)
  To: Josh Law; +Cc: david, note351, akpm, linux-kernel, rostedt

On Fri, Apr 03, 2026 at 04:50:49PM +0100, Josh Law wrote:
> ---- On Fri, 03 Apr 2026 16:49:10 +0100 visitorckw@gmail.com 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 :)

Additionally, I believe many different people have already pointed out
the word-wrapping issues in your replies. Some developers are even
getting frustrated because of the repeated reminders. You have promised
to fix this, yet every time you send a new email, the exact same
problem persists.

I would suggest that you figure out how to completely resolve this
issue before attempting to submit new patches. Furthermore, you
recently mentioned that you were going to take a break for a while, but
less than a few days later, I am already receiving another patch from
you.

Regards,
Kuan-Wei

> >
> > >
> > > 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
> > >
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-04-03 16:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-03 15:28 [PATCH] lib/glob: add more KUnit tests for glob Josh Law
2026-04-03 15:49 ` Kuan-Wei Chiu
2026-04-03 15:50   ` Josh Law
2026-04-03 16:10     ` Kuan-Wei Chiu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox