2018-02-06 23:56:24

by Daniel Díaz

[permalink] [raw]
Subject: [PATCH] selftests/android: Fix line continuation in Makefile

The Makefile lacks a couple of line continuation backslashes
in an `if' clause, which can make the subsequent rsync
command go awry over the whole filesystem (`rsync -a / /`).

/bin/sh: -c: line 5: syntax error: unexpected end of file
make[1]: [all] Error 1 (ignored)
TEST=$DIR"_test.sh"; \
if [ -e $DIR/$TEST ]; then
/bin/sh: -c: line 2: syntax error: unexpected end of file
make[1]: [all] Error 1 (ignored)
rsync -a $DIR/$TEST $BUILD_TARGET/;
[...a myriad of:]
[ rsync: readlink_stat("...") failed: Permission denied (13)]
[ skipping non-regular file "..."]
[ rsync: opendir "..." failed: Permission denied (13)]
[and many other errors...]
fi
make[1]: fi: Command not found
make[1]: [all] Error 127 (ignored)
done
make[1]: done: Command not found
make[1]: [all] Error 127 (ignored)

Signed-off-by: Daniel Díaz <[email protected]>
---
tools/testing/selftests/android/Makefile | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/android/Makefile b/tools/testing/selftests/android/Makefile
index 1a74922..f6304d2 100644
--- a/tools/testing/selftests/android/Makefile
+++ b/tools/testing/selftests/android/Makefile
@@ -11,11 +11,11 @@ all:
BUILD_TARGET=$(OUTPUT)/$$DIR; \
mkdir $$BUILD_TARGET -p; \
make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
- #SUBDIR test prog name should be in the form: SUBDIR_test.sh
+ #SUBDIR test prog name should be in the form: SUBDIR_test.sh \
TEST=$$DIR"_test.sh"; \
- if [ -e $$DIR/$$TEST ]; then
- rsync -a $$DIR/$$TEST $$BUILD_TARGET/;
- fi
+ if [ -e $$DIR/$$TEST ]; then \
+ rsync -a $$DIR/$$TEST $$BUILD_TARGET/; \
+ fi \
done

override define RUN_TESTS
--
2.7.4



2018-02-07 06:02:31

by Pintu Kumar

[permalink] [raw]
Subject: Re: [PATCH] selftests/android: Fix line continuation in Makefile

On Wed, Feb 7, 2018 at 5:22 AM, Daniel Díaz <[email protected]> wrote:
> The Makefile lacks a couple of line continuation backslashes
> in an `if' clause, which can make the subsequent rsync
> command go awry over the whole filesystem (`rsync -a / /`).
>
> /bin/sh: -c: line 5: syntax error: unexpected end of file
> make[1]: [all] Error 1 (ignored)
> TEST=$DIR"_test.sh"; \
> if [ -e $DIR/$TEST ]; then
> /bin/sh: -c: line 2: syntax error: unexpected end of file
> make[1]: [all] Error 1 (ignored)
> rsync -a $DIR/$TEST $BUILD_TARGET/;
> [...a myriad of:]
> [ rsync: readlink_stat("...") failed: Permission denied (13)]
> [ skipping non-regular file "..."]
> [ rsync: opendir "..." failed: Permission denied (13)]
> [and many other errors...]
> fi
> make[1]: fi: Command not found
> make[1]: [all] Error 127 (ignored)
> done
> make[1]: done: Command not found
> make[1]: [all] Error 127 (ignored)
>
> Signed-off-by: Daniel Díaz <[email protected]>
> ---
> tools/testing/selftests/android/Makefile | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tools/testing/selftests/android/Makefile b/tools/testing/selftests/android/Makefile
> index 1a74922..f6304d2 100644
> --- a/tools/testing/selftests/android/Makefile
> +++ b/tools/testing/selftests/android/Makefile
> @@ -11,11 +11,11 @@ all:
> BUILD_TARGET=$(OUTPUT)/$$DIR; \
> mkdir $$BUILD_TARGET -p; \
> make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
> - #SUBDIR test prog name should be in the form: SUBDIR_test.sh
> + #SUBDIR test prog name should be in the form: SUBDIR_test.sh \
> TEST=$$DIR"_test.sh"; \
> - if [ -e $$DIR/$$TEST ]; then
> - rsync -a $$DIR/$$TEST $$BUILD_TARGET/;
> - fi
> + if [ -e $$DIR/$$TEST ]; then \
> + rsync -a $$DIR/$$TEST $$BUILD_TARGET/; \
> + fi \
> done

Thanks for your patch.
However, I have copied this Makefile from
tools/testing/selftests/futex/Makefile before modifying it.
If there is a problem with backslash then the same problem must be
there in futex Makefile as well.
Can you compare these 2 Makefile and see if there is any problem.

Also is it because of make version ?
Can you check your make version ?

Thank You!
Pintu

>
> override define RUN_TESTS
> --
> 2.7.4
>

2018-02-07 17:17:21

by Daniel Díaz

[permalink] [raw]
Subject: Re: [PATCH] selftests/android: Fix line continuation in Makefile

Hello!


On 7 February 2018 at 00:01, Pintu Kumar <[email protected]> wrote:
[...]
> Thanks for your patch.
> However, I have copied this Makefile from
> tools/testing/selftests/futex/Makefile before modifying it.
> If there is a problem with backslash then the same problem must be
> there in futex Makefile as well.

There is. Patch coming.


[...]
> Also is it because of make version ?
> Can you check your make version ?

It's make 3.81.

Thanks and greetings!

Daniel Díaz
[email protected]

2018-02-08 05:16:10

by Pintu Kumar

[permalink] [raw]
Subject: Re: [PATCH] selftests/android: Fix line continuation in Makefile

On Wed, Feb 7, 2018 at 10:46 PM, Daniel Díaz Rodríguez
<[email protected]> wrote:
> Hello!
>
>
> On 7 February 2018 at 00:01, Pintu Kumar <[email protected]> wrote:
> [...]
>> Thanks for your patch.
>> However, I have copied this Makefile from
>> tools/testing/selftests/futex/Makefile before modifying it.
>> If there is a problem with backslash then the same problem must be
>> there in futex Makefile as well.
>
> There is. Patch coming.

OK

>
>
> [...]
>> Also is it because of make version ?
>> Can you check your make version ?
>
> It's make 3.81.

My make version was 4.1.
So I did not face any problem. I guess this problem is fixed from make
version 4.x on wards.
However, for backward compatibility we can include these change.

So, its looks good for me, however someone else must approve it.


>
> Thanks and greetings!
>
> Daniel Díaz
> [email protected]

2018-02-08 05:18:03

by Pintu Kumar

[permalink] [raw]
Subject: Re: [PATCH] selftests/android: Fix line continuation in Makefile

On Wed, Feb 7, 2018 at 5:22 AM, Daniel Díaz <[email protected]> wrote:
> The Makefile lacks a couple of line continuation backslashes
> in an `if' clause, which can make the subsequent rsync
> command go awry over the whole filesystem (`rsync -a / /`).
>
> /bin/sh: -c: line 5: syntax error: unexpected end of file
> make[1]: [all] Error 1 (ignored)
> TEST=$DIR"_test.sh"; \
> if [ -e $DIR/$TEST ]; then
> /bin/sh: -c: line 2: syntax error: unexpected end of file
> make[1]: [all] Error 1 (ignored)
> rsync -a $DIR/$TEST $BUILD_TARGET/;
> [...a myriad of:]
> [ rsync: readlink_stat("...") failed: Permission denied (13)]
> [ skipping non-regular file "..."]
> [ rsync: opendir "..." failed: Permission denied (13)]
> [and many other errors...]
> fi
> make[1]: fi: Command not found
> make[1]: [all] Error 127 (ignored)
> done
> make[1]: done: Command not found
> make[1]: [all] Error 127 (ignored)
>
> Signed-off-by: Daniel Díaz <[email protected]>
> ---
> tools/testing/selftests/android/Makefile | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tools/testing/selftests/android/Makefile b/tools/testing/selftests/android/Makefile
> index 1a74922..f6304d2 100644
> --- a/tools/testing/selftests/android/Makefile
> +++ b/tools/testing/selftests/android/Makefile
> @@ -11,11 +11,11 @@ all:
> BUILD_TARGET=$(OUTPUT)/$$DIR; \
> mkdir $$BUILD_TARGET -p; \
> make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
> - #SUBDIR test prog name should be in the form: SUBDIR_test.sh
> + #SUBDIR test prog name should be in the form: SUBDIR_test.sh \
> TEST=$$DIR"_test.sh"; \
> - if [ -e $$DIR/$$TEST ]; then
> - rsync -a $$DIR/$$TEST $$BUILD_TARGET/;
> - fi
> + if [ -e $$DIR/$$TEST ]; then \
> + rsync -a $$DIR/$$TEST $$BUILD_TARGET/; \
> + fi \
> done
>
> override define RUN_TESTS

Acked-by: Pintu Agarwal <[email protected]>

> --
> 2.7.4
>

2018-02-13 21:27:06

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH] selftests/android: Fix line continuation in Makefile

On 02/06/2018 04:52 PM, Daniel Díaz wrote:
> The Makefile lacks a couple of line continuation backslashes
> in an `if' clause, which can make the subsequent rsync
> command go awry over the whole filesystem (`rsync -a / /`).
>
> /bin/sh: -c: line 5: syntax error: unexpected end of file
> make[1]: [all] Error 1 (ignored)
> TEST=$DIR"_test.sh"; \
> if [ -e $DIR/$TEST ]; then
> /bin/sh: -c: line 2: syntax error: unexpected end of file
> make[1]: [all] Error 1 (ignored)
> rsync -a $DIR/$TEST $BUILD_TARGET/;
> [...a myriad of:]
> [ rsync: readlink_stat("...") failed: Permission denied (13)]
> [ skipping non-regular file "..."]
> [ rsync: opendir "..." failed: Permission denied (13)]
> [and many other errors...]
> fi
> make[1]: fi: Command not found
> make[1]: [all] Error 127 (ignored)
> done
> make[1]: done: Command not found
> make[1]: [all] Error 127 (ignored)
>
> Signed-off-by: Daniel Díaz <[email protected]>
> ---
> tools/testing/selftests/android/Makefile | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tools/testing/selftests/android/Makefile b/tools/testing/selftests/android/Makefile
> index 1a74922..f6304d2 100644
> --- a/tools/testing/selftests/android/Makefile
> +++ b/tools/testing/selftests/android/Makefile
> @@ -11,11 +11,11 @@ all:
> BUILD_TARGET=$(OUTPUT)/$$DIR; \
> mkdir $$BUILD_TARGET -p; \
> make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
> - #SUBDIR test prog name should be in the form: SUBDIR_test.sh
> + #SUBDIR test prog name should be in the form: SUBDIR_test.sh \
> TEST=$$DIR"_test.sh"; \
> - if [ -e $$DIR/$$TEST ]; then
> - rsync -a $$DIR/$$TEST $$BUILD_TARGET/;
> - fi
> + if [ -e $$DIR/$$TEST ]; then \
> + rsync -a $$DIR/$$TEST $$BUILD_TARGET/; \
> + fi \
> done
>
> override define RUN_TESTS
>

Thanks for the patch. Applied to linux-kselftest fixes for 4.16-rc3

thanks,
-- Shuah