[PATCH] tracing/selftests: Run the ownership test twice

Steven Rostedt posted 1 patch 1 year, 8 months ago
.../ftrace/test.d/00basic/test_ownership.tc   | 34 +++++++++++--------
1 file changed, 20 insertions(+), 14 deletions(-)
[PATCH] tracing/selftests: Run the ownership test twice
Posted by Steven Rostedt 1 year, 8 months ago
From: "Steven Rostedt (Google)" <rostedt@goodmis.org>

A regression happened where running the ownership test passes on the first
iteration but fails running it a second time. This was caught and fixed,
but a later change brought it back. The regression was missed because the
automated tests only run the tests once per boot.

Change the ownership test to iterate through the tests twice, as this will
catch the regression with a single run.

Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 .../ftrace/test.d/00basic/test_ownership.tc   | 34 +++++++++++--------
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc b/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
index c45094d1e1d2..71e43a92352a 100644
--- a/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
+++ b/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
@@ -83,32 +83,38 @@ run_tests() {
 	done
 }
 
-mount -o remount,"$new_options" .
+# Run the tests twice as leftovers can cause issues
+for loop in 1 2 ; do
 
-run_tests
+	echo "Running iteration $loop"
 
-mount -o remount,"$mount_options" .
+	mount -o remount,"$new_options" .
 
-for d in "." "events" "events/sched" "events/sched/sched_switch" "events/sched/sched_switch/enable" $canary; do
-	test "$d" $original_group
-done
+	run_tests
+
+	mount -o remount,"$mount_options" .
+
+	for d in "." "events" "events/sched" "events/sched/sched_switch" "events/sched/sched_switch/enable" $canary; do
+		test "$d" $original_group
+	done
 
 # check instances as well
 
-chgrp $other_group instances
+	chgrp $other_group instances
 
-instance="$(mktemp -u test-XXXXXX)"
+	instance="$(mktemp -u test-XXXXXX)"
 
-mkdir instances/$instance
+	mkdir instances/$instance
 
-cd instances/$instance
+	cd instances/$instance
 
-run_tests
+	run_tests
 
-cd ../..
+	cd ../..
 
-rmdir instances/$instance
+	rmdir instances/$instance
 
-chgrp $original_group instances
+	chgrp $original_group instances
+done
 
 exit 0
-- 
2.43.0
Re: [PATCH] tracing/selftests: Run the ownership test twice
Posted by Steven Rostedt 1 year, 8 months ago
Shuah,

Can you take this through your tree?

-- Steve


On Thu, 23 May 2024 12:45:41 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> 
> A regression happened where running the ownership test passes on the first
> iteration but fails running it a second time. This was caught and fixed,
> but a later change brought it back. The regression was missed because the
> automated tests only run the tests once per boot.
> 
> Change the ownership test to iterate through the tests twice, as this will
> catch the regression with a single run.
> 
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
>  .../ftrace/test.d/00basic/test_ownership.tc   | 34 +++++++++++--------
>  1 file changed, 20 insertions(+), 14 deletions(-)
> 
> diff --git a/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc b/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
> index c45094d1e1d2..71e43a92352a 100644
> --- a/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
> +++ b/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
> @@ -83,32 +83,38 @@ run_tests() {
>  	done
>  }
>  
> -mount -o remount,"$new_options" .
> +# Run the tests twice as leftovers can cause issues
> +for loop in 1 2 ; do
>  
> -run_tests
> +	echo "Running iteration $loop"
>  
> -mount -o remount,"$mount_options" .
> +	mount -o remount,"$new_options" .
>  
> -for d in "." "events" "events/sched" "events/sched/sched_switch" "events/sched/sched_switch/enable" $canary; do
> -	test "$d" $original_group
> -done
> +	run_tests
> +
> +	mount -o remount,"$mount_options" .
> +
> +	for d in "." "events" "events/sched" "events/sched/sched_switch" "events/sched/sched_switch/enable" $canary; do
> +		test "$d" $original_group
> +	done
>  
>  # check instances as well
>  
> -chgrp $other_group instances
> +	chgrp $other_group instances
>  
> -instance="$(mktemp -u test-XXXXXX)"
> +	instance="$(mktemp -u test-XXXXXX)"
>  
> -mkdir instances/$instance
> +	mkdir instances/$instance
>  
> -cd instances/$instance
> +	cd instances/$instance
>  
> -run_tests
> +	run_tests
>  
> -cd ../..
> +	cd ../..
>  
> -rmdir instances/$instance
> +	rmdir instances/$instance
>  
> -chgrp $original_group instances
> +	chgrp $original_group instances
> +done
>  
>  exit 0
Re: [PATCH] tracing/selftests: Run the ownership test twice
Posted by Steven Rostedt 1 year, 6 months ago
On Fri, 14 Jun 2024 12:41:51 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> Shuah,
> 
> Can you take this through your tree?

Ping!

-- Steve

> 
> -- Steve
> 
> 
> On Thu, 23 May 2024 12:45:41 -0400
> Steven Rostedt <rostedt@goodmis.org> wrote:
> 
> > From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> > 
> > A regression happened where running the ownership test passes on the first
> > iteration but fails running it a second time. This was caught and fixed,
> > but a later change brought it back. The regression was missed because the
> > automated tests only run the tests once per boot.
> > 
> > Change the ownership test to iterate through the tests twice, as this will
> > catch the regression with a single run.
> > 
> > Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> > ---
> >  .../ftrace/test.d/00basic/test_ownership.tc   | 34 +++++++++++--------
> >  1 file changed, 20 insertions(+), 14 deletions(-)
> > 
> > diff --git a/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc b/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
> > index c45094d1e1d2..71e43a92352a 100644
> > --- a/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
> > @@ -83,32 +83,38 @@ run_tests() {
> >  	done
> >  }
> >  
> > -mount -o remount,"$new_options" .
> > +# Run the tests twice as leftovers can cause issues
> > +for loop in 1 2 ; do
> >  
> > -run_tests
> > +	echo "Running iteration $loop"
> >  
> > -mount -o remount,"$mount_options" .
> > +	mount -o remount,"$new_options" .
> >  
> > -for d in "." "events" "events/sched" "events/sched/sched_switch" "events/sched/sched_switch/enable" $canary; do
> > -	test "$d" $original_group
> > -done
> > +	run_tests
> > +
> > +	mount -o remount,"$mount_options" .
> > +
> > +	for d in "." "events" "events/sched" "events/sched/sched_switch" "events/sched/sched_switch/enable" $canary; do
> > +		test "$d" $original_group
> > +	done
> >  
> >  # check instances as well
> >  
> > -chgrp $other_group instances
> > +	chgrp $other_group instances
> >  
> > -instance="$(mktemp -u test-XXXXXX)"
> > +	instance="$(mktemp -u test-XXXXXX)"
> >  
> > -mkdir instances/$instance
> > +	mkdir instances/$instance
> >  
> > -cd instances/$instance
> > +	cd instances/$instance
> >  
> > -run_tests
> > +	run_tests
> >  
> > -cd ../..
> > +	cd ../..
> >  
> > -rmdir instances/$instance
> > +	rmdir instances/$instance
> >  
> > -chgrp $original_group instances
> > +	chgrp $original_group instances
> > +done
> >  
> >  exit 0  
>
Re: [PATCH] tracing/selftests: Run the ownership test twice
Posted by Shuah Khan 1 year, 6 months ago
On 8/7/24 14:29, Steven Rostedt wrote:
> On Fri, 14 Jun 2024 12:41:51 -0400
> Steven Rostedt <rostedt@goodmis.org> wrote:
> 
>> Shuah,
>>
>> Can you take this through your tree?
> 
> Ping!
> 
> -- Steve
> 

Sorry for the delay.

Applied it o linux-kselftest next for Linux 6.12-rc1.

thanks,
-- Shuah
Re: [PATCH] tracing/selftests: Run the ownership test twice
Posted by Masami Hiramatsu (Google) 1 year, 8 months ago
On Thu, 23 May 2024 12:45:41 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
> 
> A regression happened where running the ownership test passes on the first
> iteration but fails running it a second time. This was caught and fixed,
> but a later change brought it back. The regression was missed because the
> automated tests only run the tests once per boot.
> 
> Change the ownership test to iterate through the tests twice, as this will
> catch the regression with a single run.
> 

Looks good to me.

Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Thanks!

> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
>  .../ftrace/test.d/00basic/test_ownership.tc   | 34 +++++++++++--------
>  1 file changed, 20 insertions(+), 14 deletions(-)
> 
> diff --git a/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc b/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
> index c45094d1e1d2..71e43a92352a 100644
> --- a/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
> +++ b/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
> @@ -83,32 +83,38 @@ run_tests() {
>  	done
>  }
>  
> -mount -o remount,"$new_options" .
> +# Run the tests twice as leftovers can cause issues
> +for loop in 1 2 ; do
>  
> -run_tests
> +	echo "Running iteration $loop"
>  
> -mount -o remount,"$mount_options" .
> +	mount -o remount,"$new_options" .
>  
> -for d in "." "events" "events/sched" "events/sched/sched_switch" "events/sched/sched_switch/enable" $canary; do
> -	test "$d" $original_group
> -done
> +	run_tests
> +
> +	mount -o remount,"$mount_options" .
> +
> +	for d in "." "events" "events/sched" "events/sched/sched_switch" "events/sched/sched_switch/enable" $canary; do
> +		test "$d" $original_group
> +	done
>  
>  # check instances as well
>  
> -chgrp $other_group instances
> +	chgrp $other_group instances
>  
> -instance="$(mktemp -u test-XXXXXX)"
> +	instance="$(mktemp -u test-XXXXXX)"
>  
> -mkdir instances/$instance
> +	mkdir instances/$instance
>  
> -cd instances/$instance
> +	cd instances/$instance
>  
> -run_tests
> +	run_tests
>  
> -cd ../..
> +	cd ../..
>  
> -rmdir instances/$instance
> +	rmdir instances/$instance
>  
> -chgrp $original_group instances
> +	chgrp $original_group instances
> +done
>  
>  exit 0
> -- 
> 2.43.0
> 
> 


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>