bash: fix run-intl ptest failed
v2 cover bash: fix run-intl ptest failed
The following changes since commit 5b61fa04a335a4fdefd435dc25d4bac41ee21e39:
bitbake: toaster-tests: fix URL given for Chromedriver download (2016-07-29 09:53:32 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib dengke/fix-bash-ptest-run-intl-failed
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=dengke/fix-bash-ptest-run-intl-failed
Dengke Du (1):
bash: fix run-intl ptest failed
meta/recipes-extended/bash/bash/fix-run-intl.patch | 110 +++++++++++++++++++++ meta/recipes-extended/bash/bash_4.3.30.bb | 3 +- 2 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/bash/bash/fix-run-intl.patch
Signature · 1 line
2.8.1
PATCH v2 1/1 bash: fix run-intl ptest failed
1. Filter the extra white space in intl.right
When the sub-test unicode2.sub of intl.tests executed, it produced compact results without extra white space, compared to intl.right, it failed.
So we need to filter the extra white space in intl.right.
Import this patch for intl.right from bash devel branch:
http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel
Commit is:
85ec0778f9d778e1820fb8c0e3e996f2d1103b45
2. Change intl.right correspond to the unicode3.sub's output
In sub-test unicode3.sub of intl.tests have this:
printf %q "$payload"
The payload variable was assigned by ASCII characters, when using '%q' format strings, it means print the associated argument shell-quoted.
When the strings contain the non-alpha && non-digit && non-punctuation && non-ISO 646 character(7-bit), it would output like this: " $'...', ANSI-C style quoted string. We can check the bash source code at:
http://git.savannah.gnu.org/cgit/bash.git/tree/builtins/printf.def#n557 http://git.savannah.gnu.org/cgit/bash.git/tree/lib/sh/strtrans.c#n331
So we need to change the intl.right contain the correct output of unicode3.sub.
Import parts of this patch for intl.right from bash devel branch:
http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel
Commit is:
74b8cbb41398b4453d8ba04d0cdd1b25f9dcb9e3
NOTE:
Ensure the system contain fr-fr & de-de locales
Some tests of intl.tests need to change locales to accomplish. So you need add the following to a conf file:
IMAGE_LINGUAS = "en-us fr-fr de-de"
--- meta/recipes-extended/bash/bash/fix-run-intl.patch | 110 +++++++++++++++++++++ meta/recipes-extended/bash/bash_4.3.30.bb | 3 +- 2 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/bash/bash/fix-run-intl.patch
meta/recipes-extended/bash/bash/fix-run-intl.patch new file +110 -0
@@ -0,0 +1,110 @@ +From a00d3161fd7b6a698bdd2ed5f0ac5faac580ee2a Mon Sep 17 00:00:00 2001 +From: Dengke Du <[email protected]> +Date: Wed, 3 Aug 2016 23:13:00 -0400 +Subject: [PATCH] fix run-intl failed + +1. Filter extra white space of intl.right + + Due to the extra white space of intl.right, when the result of + sub-test unicode2.sub of intl.tests compared to it, the test + failed. + + So we need to filter the extra white space of intl.right. + + Import this patch for intl.right from bash devel branch: + + http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel + + commit is: + + 85ec0778f9d778e1820fb8c0e3e996f2d1103b45 + +2. Change intl.right correspond to the unicode3.sub's output + + In sub-test unicode3.sub of intl.tests, the payload value is: + + payload=$'\065\247\100\063\231\053\306\123\070\237\242\352\263' + + It used quoted string expansion(escaped octal) to assign ASCII + characters to variables. So when the test run the following: + + printf %q "$payload" + + It produced: + + $'5\247@3\231+\306S8\237\242\352\263' + + When compared to the intl.right(contain the converted character), it failed. + + Import parts of patch for intl.right from bash devel branch: + + http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel + + commit is: + + 74b8cbb41398b4453d8ba04d0cdd1b25f9dcb9e3 + +Upstream-Status: Backport + +Signed-off-by: Dengke Du <[email protected]> +--- + tests/intl.right | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +diff --git a/tests/intl.right b/tests/intl.right +index acf108a..1efdfbe 100644 +--- a/tests/intl.right ++++ b/tests/intl.right +@@ -18,34 +18,34 @@ aéb + 1.0000 + 1,0000 + Passed all 1378 Unicode tests +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 357 277 277 012 ++0000000 357 277 277 012 + 0000004 +-0000000 357 277 277 012 ++0000000 357 277 277 012 + 0000004 +-0000000 012 ++0000000 012 + 0000001 +-0000000 012 ++0000000 012 + 0000001 +-0000000 012 ++0000000 012 + 0000001 +-0000000 012 ++0000000 012 + 0000001 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 101 040 302 243 040 305 222 012 ++0000000 101 040 302 243 040 305 222 012 + 0000010 + ./unicode3.sub: line 2: 5�@3�+�S8���: command not found +-5�@3�+�S8��� ++$'5\247@3\231+\306S8\237\242\352\263' + + : $'5\247@3\231+\306S8\237\242\352\263' +-- +2.8.1 +
meta/recipes-extended/bash/bash_4.3.30.bb +2 -1
@@ -20,7 +20,8 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ file://test-output.patch \ file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \ file://run-ptest \ - file://fix-run-builtins.patch \ + file://fix-run-builtins.patch \ + file://fix-run-intl.patch \ " SRC_URI[tarball.md5sum] = "a27b3ee9be83bd3ba448c0ff52b28447"
Signature · 1 line
2.8.1
Quoted 9 lines · Dengke Du
NOTE:
Ensure the system contain fr-fr & de-de localesSome tests of intl.tests need to change locales to accomplish. So you
need add
the following to a conf file:
IMAGE_LINGUAS= "en-us fr-fr de-de"
Would it be possible to sanity check this in the run-ptest, so if the required locales are not present it emits a warning?
Ross
OK, I will add it now.
//dengke
Quoted 16 lines · Ross
On 12 August 2016 at 03:08, Dengke Du <[email protected] <mailto:[email protected]>> wrote:
NOTE:
Ensure the system contain fr-fr & de-de localesSome tests of intl.tests need to change locales to accomplish.
So you need add
the following to a conf file:
IMAGE_LINGUAS= "en-us fr-fr de-de"Would it be possible to sanity check this in the run-ptest, so if the required locales are not present it emits a warning?
Ross
Can you rebase this on top of your upgrade patch? At the moment this and the upgrade conflict.
Ross
Quoted 211 lines · Dengke Du
1. Filter the extra white space in intl.right
When the sub-test unicode2.sub of intl.tests executed, it produced compact results without extra white space, compared to intl.right, it failed.
So we need to filter the extra white space in intl.right.
Import this patch for intl.right from bash devel branch:
http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel
Commit is: 85ec0778f9d778e1820fb8c0e3e996f2d1103b452. Change intl.right correspond to the unicode3.sub's output
In sub-test unicode3.sub of intl.tests have this:
printf %q "$payload"
The payload variable was assigned by ASCII characters, when using '%q' format strings, it means print the associated argument
shell-quoted.When the strings contain the non-alpha && non-digit && non-punctuation&&
non-ISO 646 character(7-bit), it would output like this: " $'...',
ANSI-C
style quoted string. We can check the bash source code at:http://git.savannah.gnu.org/cgit/bash.git/tree/builtins/
printf.def#n557
http://git.savannah.gnu.org/cgit/bash.git/tree/lib/sh/
strtrans.c#n331So we need to change the intl.right contain the correct output of
unicode3.sub.Import parts of this patch for intl.right from bash devel branch:
http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel
Commit is: 74b8cbb41398b4453d8ba04d0cdd1b25f9dcb9e3NOTE:
Ensure the system contain fr-fr & de-de localesSome tests of intl.tests need to change locales to accomplish. So you
need add
the following to a conf file:
IMAGE_LINGUAS= "en-us fr-fr de-de"Signed-off-by Dengke Du <[email protected]>--- meta/recipes-extended/bash/bash/fix-run-intl.patch | 110 +++++++++++++++++++++ meta/recipes-extended/bash/bash_4.3.30.bb | 3 +- 2 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/bash/bash/fix-run-intl.patchmeta/recipes-extended/bash/bash/fix-run-intl.patch new file +37
-0@@ -0,0 +1,110 @@ +From a00d3161fd7b6a698bdd2ed5f0ac5faac580ee2a Mon Sep 17 00:00:00 2001 +From: Dengke Du <[email protected]> +Date: Wed, 3 Aug 2016 23:13:00 -0400 +Subject: [PATCH] fix run-intl failed + +1. Filter extra white space of intl.right + + Due to the extra white space of intl.right, when the result of + sub-test unicode2.sub of intl.tests compared to it, the test + failed. + + So we need to filter the extra white space of intl.right. + + Import this patch for intl.right from bash devel branch: + + http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel + + commit is: + + 85ec0778f9d778e1820fb8c0e3e996f2d1103b45 + +2. Change intl.right correspond to the unicode3.sub's output + + In sub-test unicode3.sub of intl.tests, the payload value is: + + payload=$'\065\247\100\063\231\053\306\123\070\237\242\352\263' + + It used quoted string expansion(escaped octal) to assign ASCII + characters to variables. So when the test run the following: + + printf %q "$payload" + + It produced: + + $'5\247@3\231+\306S8\237\242\352\263' + + When compared to the intl.right(contain the converted character), itfailed.
meta/recipes-extended/bash/bash/fix-run-intl.patch new file +73
-0+ + Import parts of patch for intl.right from bash devel branch: + + http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel + + commit is: + + 74b8cbb41398b4453d8ba04d0cdd1b25f9dcb9e3 + +Upstream-Status: Backport + +Signed-off-by: Dengke Du <[email protected]> +--- + tests/intl.right | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +diff --git a/tests/intl.right b/tests/intl.right +index acf108a..1efdfbe 100644 +--- a/tests/intl.right ++++ b/tests/intl.right +@@ -18,34 +18,34 @@ aéb + 1.0000 + 1,0000 + Passed all 1378 Unicode tests +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 357 277 277 012 ++0000000 357 277 277 012 + 0000004 +-0000000 357 277 277 012 ++0000000 357 277 277 012 + 0000004 +-0000000 012 ++0000000 012 + 0000001 +-0000000 012 ++0000000 012 + 0000001 +-0000000 012 ++0000000 012 + 0000001 +-0000000 012 ++0000000 012 + 0000001 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 101 040 302 243 040 305 222 012 ++0000000 101 040 302 243 040 305 222 012 + 0000010 + ./unicode3.sub: line 2: 5§@3™+ÆS8Ÿ¢ê³: command not found +-5§@3™+ÆS8Ÿ¢ê³ ++$'5\247@3\231+\306S8\237\242\352\263' + + : $'5\247@3\231+\306S8\237\242\352\263' +-- +2.8.1 +meta/recipes-extended/bash/bash_4.3.30.bb +2
-1@@ -20,7 +20,8 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ file://test-output.patch \ file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \ file://run-ptest \ - file://fix-run-builtins.patch \ + file://fix-run-builtins.patch \ + file://fix-run-intl.patch \ "SRC_URI[tarball.md5sum] = "
a27b3ee9be83bd3ba448c0ff52b28447"
--
2.8.1--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Hi ross
Thanks for you remind, I will fix it now.
This is because the commit in OE-Core:
45bc8a2c4bbe252526d5eee2547f8b9e06165e5a
That patch and my patch all modify the same line in ../meta/recipes-extended/bash/bash_4.3.30.bb
So I will base on that patch to change my patch.
//dengke
Quoted 232 lines · Ross
Can you rebase this on top of your upgrade patch? At the moment this and the upgrade conflict.
Ross
On 12 August 2016 at 03:08, Dengke Du <[email protected] <mailto:[email protected]>> wrote:
1. Filter the extra white space in intl.right When the sub-test unicode2.sub of intl.tests executed, it produced compact results without extra white space, compared to intl.right, it failed. So we need to filter the extra white space in intl.right. Import this patch for intl.right from bash devel branch: http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel <http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel> Commit is: 85ec0778f9d778e1820fb8c0e3e996f2d1103b45 2. Change intl.right correspond to the unicode3.sub's output In sub-test unicode3.sub of intl.tests have this: printf %q "$payload" The payload variable was assigned by ASCII characters, when using '%q' format strings, it means print the associated argument shell-quoted. When the strings contain the non-alpha && non-digit && non-punctuation && non-ISO 646 character(7-bit), it would output like this: " $'...', ANSI-C style quoted string. We can check the bash source code at: http://git.savannah.gnu.org/cgit/bash.git/tree/builtins/printf.def#n557 <http://git.savannah.gnu.org/cgit/bash.git/tree/builtins/printf.def#n557> http://git.savannah.gnu.org/cgit/bash.git/tree/lib/sh/strtrans.c#n331 <http://git.savannah.gnu.org/cgit/bash.git/tree/lib/sh/strtrans.c#n331> So we need to change the intl.right contain the correct output of unicode3.sub. Import parts of this patch for intl.right from bash devel branch: http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel <http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel> Commit is: 74b8cbb41398b4453d8ba04d0cdd1b25f9dcb9e3 NOTE: Ensure the system contain fr-fr & de-de locales Some tests of intl.tests need to change locales to accomplish. So you need add the following to a conf file: IMAGE_LINGUAS = "en-us fr-fr de-de" Signed-off-by: Dengke Du <[email protected] <mailto:[email protected]>> --- meta/recipes-extended/bash/bash/fix-run-intl.patch | 110 +++++++++++++++++++++ meta/recipes-extended/bash/bash_4.3.30.bb <http://bash_4.3.30.bb> | 3 +- 2 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/bash/bash/fix-run-intl.patch diff --git a/meta/recipes-extended/bash/bash/fix-run-intl.patch b/meta/recipes-extended/bash/bash/fix-run-intl.patch new file mode 100644 index 0000000..d4a3409 --- /dev/null +++ b/meta/recipes-extended/bash/bash/fix-run-intl.patch @@ -0,0 +1,110 @@ +From a00d3161fd7b6a698bdd2ed5f0ac5faac580ee2a Mon Sep 17 00:00:00 2001 +From: Dengke Du <[email protected] <mailto:[email protected]>> +Date: Wed, 3 Aug 2016 23:13:00 -0400 +Subject: [PATCH] fix run-intl failed + +1. Filter extra white space of intl.right + + Due to the extra white space of intl.right, when the result of + sub-test unicode2.sub of intl.tests compared to it, the test + failed. + + So we need to filter the extra white space of intl.right. + + Import this patch for intl.right from bash devel branch: + + http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel <http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel> + + commit is: + + 85ec0778f9d778e1820fb8c0e3e996f2d1103b45 + +2. Change intl.right correspond to the unicode3.sub's output + + In sub-test unicode3.sub of intl.tests, the payload value is: + + payload=$'\065\247\100\063\231\053\306\123\070\237\242\352\263' + + It used quoted string expansion(escaped octal) to assign ASCII + characters to variables. So when the test run the following: + + printf %q "$payload" + + It produced: + + $'5\247@3\231+\306S8\237\242\352\263' + + When compared to the intl.right(contain the converted character), it failed. + + Import parts of patch for intl.right from bash devel branch: + + http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel <http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel> + + commit is: + + 74b8cbb41398b4453d8ba04d0cdd1b25f9dcb9e3 + +Upstream-Status: Backport + +Signed-off-by: Dengke Du <[email protected] <mailto:[email protected]>> +--- + tests/intl.right | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +diff --git a/tests/intl.right b/tests/intl.right +index acf108a..1efdfbe 100644 +--- a/tests/intl.right ++++ b/tests/intl.right +@@ -18,34 +18,34 @@ aéb + 1.0000 + 1,0000 + Passed all 1378 Unicode tests +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 357 277 277 012 ++0000000 357 277 277 012 + 0000004 +-0000000 357 277 277 012 ++0000000 357 277 277 012 + 0000004 +-0000000 012 ++0000000 012 + 0000001 +-0000000 012 ++0000000 012 + 0000001 +-0000000 012 ++0000000 012 + 0000001 +-0000000 012 ++0000000 012 + 0000001 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 303 277 012 ++0000000 303 277 012 + 0000003 +-0000000 101 040 302 243 040 305 222 012 ++0000000 101 040 302 243 040 305 222 012 + 0000010 + ./unicode3.sub: line 2: 5§@3™+ÆS8Ÿ¢ê³: command not found +-5§@3™+ÆS8Ÿ¢ê³ ++$'5\247@3\231+\306S8\237\242\352\263' + + : $'5\247@3\231+\306S8\237\242\352\263' +-- +2.8.1 + diff --git a/meta/recipes-extended/bash/bash_4.3.30.bb <http://bash_4.3.30.bb> b/meta/recipes-extended/bash/bash_4.3.30.bb <http://bash_4.3.30.bb> index 95ed392..3f0dd8b 100644 --- a/meta/recipes-extended/bash/bash_4.3.30.bb <http://bash_4.3.30.bb> +++ b/meta/recipes-extended/bash/bash_4.3.30.bb <http://bash_4.3.30.bb> @@ -20,7 +20,8 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ file://test-output.patch \ file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \ file://run-ptest \ - file://fix-run-builtins.patch \ + file://fix-run-builtins.patch \ + file://fix-run-intl.patch \ " SRC_URI[tarball.md5sum] = "a27b3ee9be83bd3ba448c0ff52b28447" -- 2.8.1 -- _______________________________________________ Openembedded-core mailing list [email protected] <mailto:[email protected]> http://lists.openembedded.org/mailman/listinfo/openembedded-core <http://lists.openembedded.org/mailman/listinfo/openembedded-core>