diff mbox series

[v2] testcases:Fix the failure of shell script to get path

Message ID 20230506092702.203395-1-zenghao@kylinos.cn
State Accepted
Headers show
Series [v2] testcases:Fix the failure of shell script to get path | expand

Commit Message

Hao Zeng May 6, 2023, 9:27 a.m. UTC
For example:
in the file testcases/kernel/controllers/cpuset/cpuset_funcs.sh,
if the path is obtained by
find "$CPUSET" -type d | sort | sed -n '2,$p' | tac | while read subdir,
the escaped characters will be lost,and by adding the -r option,
the escaped characters will be kept as they are without escaping
The errors are as follows:
/opt/ltp/testcases/bin/cpuset_funcs.sh:line178:
/dev/cpuset/machine.slice/machine-qemux2d157x2dzhx2dsxf.scope/vcpu7/tasks:
The file or directory is not available
rmdir: delete
'/dev/cpuset/machine.slice/machine-qemux2d157x2dzhx2dsxf.scope/vcpu7'
Failure: The file or directory is not available
cpuset_memory_pressure 1 TFAIL: Couldn't remove subdir -
/opt/ltp/testcases/bin/cpuset_funcs.sh:line178:
/dev/cpuset/machine.slice/machine-qemux2d157x2dzhx2dsxf.scope/vcpu7/tasks:
The file or directory is not available
rmdir: delete
'/dev/cpuset/machine.slice/machine-qemux2d157x2dzhx2dsxf.scope/vcpu7'
Failure: The file or directory is not available
cpuset_memory_pressure 1 TFAIL: Couldn't remove subdir -

Signed-off-by: Hao Zeng <zenghao@kylinos.cn>
Suggested-by: Petr Vorel <pvorel@suse.cz>
---
 testcases/kernel/controllers/cpuset/cpuset_funcs.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Petr Vorel May 6, 2023, 6:55 p.m. UTC | #1
Hi Hao,

> For example:
> in the file testcases/kernel/controllers/cpuset/cpuset_funcs.sh,
> if the path is obtained by
> find "$CPUSET" -type d | sort | sed -n '2,$p' | tac | while read subdir,
> the escaped characters will be lost,and by adding the -r option,
> the escaped characters will be kept as they are without escaping
> The errors are as follows:
> /opt/ltp/testcases/bin/cpuset_funcs.sh:line178:
> /dev/cpuset/machine.slice/machine-qemux2d157x2dzhx2dsxf.scope/vcpu7/tasks:
> The file or directory is not available
> rmdir: delete
> '/dev/cpuset/machine.slice/machine-qemux2d157x2dzhx2dsxf.scope/vcpu7'
> Failure: The file or directory is not available
> cpuset_memory_pressure 1 TFAIL: Couldn't remove subdir -
> /opt/ltp/testcases/bin/cpuset_funcs.sh:line178:
> /dev/cpuset/machine.slice/machine-qemux2d157x2dzhx2dsxf.scope/vcpu7/tasks:
> The file or directory is not available
> rmdir: delete
> '/dev/cpuset/machine.slice/machine-qemux2d157x2dzhx2dsxf.scope/vcpu7'
> Failure: The file or directory is not available
> cpuset_memory_pressure 1 TFAIL: Couldn't remove subdir -

> Signed-off-by: Hao Zeng <zenghao@kylinos.cn>
> Suggested-by: Petr Vorel <pvorel@suse.cz>
> ---
>  testcases/kernel/controllers/cpuset/cpuset_funcs.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

> diff --git a/testcases/kernel/controllers/cpuset/cpuset_funcs.sh b/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
> index 87ba7da1f..0cfa0c17e 100755
> --- a/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
> +++ b/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
> @@ -184,7 +184,7 @@ cleanup()
>  	echo $CHILDREN_VALUE > $CLONE_CHILDREN
>  	echo $SCHED_LB_VALUE > $SCHED_LB

> -	find "$CPUSET" -type d | sort | sed -n '2,$p' | tac | while read subdir
> +	find "$CPUSET" -type d | sort | sed -n '2,$p' | tac | while read -r subdir

Is it testcases/kernel/controllers/cpuctl_fj/run_cpuctl_test_fj.sh working
without -r ? I'd expect it'd be also needed (it was in your v1 patch [1]).

I only didn't want to take
testcases/open_posix_testsuite/scripts/generate-makefiles.sh because it does not
work with /dev/cpuset/.

Kind regards,
Petr

[1] https://lore.kernel.org/ltp/6b2a7ceb.4466.1874a537430.Coremail.crawler2015@163.com/
>  	do
>  		while read pid
>  		do
Hao Zeng May 8, 2023, 1:43 a.m. UTC | #2
On Sat, 2023-05-06 at 20:55 +0200, Petr Vorel wrote:
Hi Petr,
Sorry, this one was an oversight on my part. It has been added and
submitted again.

Best regards
Hao
> Hi Hao,
> 
> > For example:
> > in the file testcases/kernel/controllers/cpuset/cpuset_funcs.sh,
> > if the path is obtained by
> > find "$CPUSET" -type d | sort | sed -n '2,$p' | tac | while read
> > subdir,
> > the escaped characters will be lost,and by adding the -r option,
> > the escaped characters will be kept as they are without escaping
> > The errors are as follows:
> > /opt/ltp/testcases/bin/cpuset_funcs.sh:line178:
> > /dev/cpuset/machine.slice/machine-
> > qemux2d157x2dzhx2dsxf.scope/vcpu7/tasks:
> > The file or directory is not available
> > rmdir: delete
> > '/dev/cpuset/machine.slice/machine-
> > qemux2d157x2dzhx2dsxf.scope/vcpu7'
> > Failure: The file or directory is not available
> > cpuset_memory_pressure 1 TFAIL: Couldn't remove subdir -
> > /opt/ltp/testcases/bin/cpuset_funcs.sh:line178:
> > /dev/cpuset/machine.slice/machine-
> > qemux2d157x2dzhx2dsxf.scope/vcpu7/tasks:
> > The file or directory is not available
> > rmdir: delete
> > '/dev/cpuset/machine.slice/machine-
> > qemux2d157x2dzhx2dsxf.scope/vcpu7'
> > Failure: The file or directory is not available
> > cpuset_memory_pressure 1 TFAIL: Couldn't remove subdir -
> 
> > Signed-off-by: Hao Zeng <zenghao@kylinos.cn>
> > Suggested-by: Petr Vorel <pvorel@suse.cz>
> > ---
> >  testcases/kernel/controllers/cpuset/cpuset_funcs.sh | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> > diff --git a/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
> > b/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
> > index 87ba7da1f..0cfa0c17e 100755
> > --- a/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
> > +++ b/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
> > @@ -184,7 +184,7 @@ cleanup()
> >         echo $CHILDREN_VALUE > $CLONE_CHILDREN
> >         echo $SCHED_LB_VALUE > $SCHED_LB
> 
> > -       find "$CPUSET" -type d | sort | sed -n '2,$p' | tac | while
> > read subdir
> > +       find "$CPUSET" -type d | sort | sed -n '2,$p' | tac | while
> > read -r subdir
> 
> Is it testcases/kernel/controllers/cpuctl_fj/run_cpuctl_test_fj.sh
> working
> without -r ? I'd expect it'd be also needed (it was in your v1 patch
> [1]).
> 
> I only didn't want to take
> testcases/open_posix_testsuite/scripts/generate-makefiles.sh because
> it does not
> work with /dev/cpuset/.
> 
> Kind regards,
> Petr
> 
> [1]
> https://lore.kernel.org/ltp/6b2a7ceb.4466.1874a537430.Coremail.crawler2015@163.com/
> >         do
> >                 while read pid
> >                 do
diff mbox series

Patch

diff --git a/testcases/kernel/controllers/cpuset/cpuset_funcs.sh b/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
index 87ba7da1f..0cfa0c17e 100755
--- a/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
+++ b/testcases/kernel/controllers/cpuset/cpuset_funcs.sh
@@ -184,7 +184,7 @@  cleanup()
 	echo $CHILDREN_VALUE > $CLONE_CHILDREN
 	echo $SCHED_LB_VALUE > $SCHED_LB
 
-	find "$CPUSET" -type d | sort | sed -n '2,$p' | tac | while read subdir
+	find "$CPUSET" -type d | sort | sed -n '2,$p' | tac | while read -r subdir
 	do
 		while read pid
 		do