[OE-core] [PATCH 1/1] attr: enable ptest support

Lu Chong Chong.Lu at windriver.com
Wed Jan 15 01:24:52 UTC 2014


On 01/14/2014 11:16 PM, Saul Wold wrote:
> On 01/13/2014 07:02 PM, Lu Chong wrote:
>>
>> On 01/13/2014 11:58 PM, Saul Wold wrote:
>>> On 01/09/2014 02:02 AM, Chong Lu wrote:
>>>> Install attr test suite and run it as ptest.
>>>>
>>>> Signed-off-by: Chong Lu <Chong.Lu at windriver.com>
>>>> ---
>>>>   meta/recipes-support/attr/attr.inc                 | 15 +++-
>>>>   .../attr/files/attr-make-ptest-pass.patch          | 82
>>>> ++++++++++++++++++++++
>>>>   meta/recipes-support/attr/files/run-ptest          |  5 ++
>>>>   3 files changed, 101 insertions(+), 1 deletion(-)
>>>>   create mode 100644
>>>> meta/recipes-support/attr/files/attr-make-ptest-pass.patch
>>>>   create mode 100644 meta/recipes-support/attr/files/run-ptest
>>>>
>>>> diff --git a/meta/recipes-support/attr/attr.inc
>>>> b/meta/recipes-support/attr/attr.inc
>>>> index 4961ba7..8cb08e4 100644
>>>> --- a/meta/recipes-support/attr/attr.inc
>>>> +++ b/meta/recipes-support/attr/attr.inc
>>>> @@ -11,7 +11,10 @@ LIC_FILES_CHKSUM =
>>>> "file://doc/COPYING;md5=2d0aa14b3fce4694e4f615e30186335f \
>>>> file://attr/attr.c;endline=17;md5=be0403261f0847e5f43ed5b08d19593c \
>>>> file://libattr/libattr.c;endline=17;md5=7970f77049f8fa1199fff62a7ab724fb" 
>>>>
>>>>
>>>>
>>>> -SRC_URI =
>>>> "http://download.savannah.gnu.org/releases/attr/${BP}.src.tar.gz"
>>>> +SRC_URI =
>>>> "http://download.savannah.gnu.org/releases/attr/${BP}.src.tar.gz \
>>>> +           file://attr-make-ptest-pass.patch \
>>>> +           file://run-ptest \
>>>> +"
>>>>
>>>>   require ea-acl.inc
>>>>
>>>> @@ -20,3 +23,13 @@ do_install_append() {
>>>>       sed -i ${D}${libdir}/libattr.la -e \
>>>> s,^libdir=\'${base_libdir}\'$,libdir=\'${libdir}\',
>>>>   }
>>>> +
>>>> +inherit ptest
>>>> +
>>>> +do_install_ptest() {
>>>> +    cp -r ${S}/test ${D}${PTEST_PATH}
>>>> +    mkdir ${D}${PTEST_PATH}/include
>>>> +    cp ${S}/include/builddefs ${S}/include/buildmacros
>>>> ${S}/include/buildrules ${D}${PTEST_PATH}/include/
>>>> +}
>>>> +
>>>> +RDEPENDS_${PN}-ptest = "coreutils perl-module-filehandle
>>>> perl-module-getopt-std perl-module-posix"
>>>> diff --git
>>>> a/meta/recipes-support/attr/files/attr-make-ptest-pass.patch
>>>> b/meta/recipes-support/attr/files/attr-make-ptest-pass.patch
>>>> new file mode 100644
>>>> index 0000000..e2da8b0
>>>> --- /dev/null
>>>> +++ b/meta/recipes-support/attr/files/attr-make-ptest-pass.patch
>>>> @@ -0,0 +1,82 @@
>>>> +attr: make ptest pass
>>>> +
>>>> +Upstream-Status: Inappropriate [embedded specific]
>>>> +
>>>> +Delete the second '@' character of the same row in test/Makefile, 
>>>> else
>>>> +we would get the error as below:
>>>> +    @echo: command not found
>>>> +In fs.test file, the result of `ls -s' is incorrect. Change it to 
>>>> make
>>>> +ext-tests pass.
>>>> +
>>> Can you please verify that these tests are actually wrong, it seems
>>> incorrect to be changing the test results to make the test pass.
>>>
>>> Are we missing a setting (like the acl) or something else?
>>>
>>> Sau!
>>>
>> Saul,
>>
>> I tested attr from upstream tar package on some distributions.(Ubuntu
>> Desktop 12.04 and Fedora 20)
>> test/ext/fs.test is actually wrong.
>
> If the test fails on distributions, then it's not an embedded specific 
> problem, the patch should be submitted upstream.
>
> Sau!
I have already sent email to upstream last month, but they don't reply.

Best Regards
Chong
>
>> In target, I have already added acl setting. My test likes following:(in
>> target)
>>      root at qemuarm:/usr/lib/attr/ptest# ./run-ptest
>>      make: Entering directory '/usr/lib/attr/ptest/test'
>>      ......
>>      PASS: $ rm f
>>      PASS: $ touch f g h
>>      PASS: $ setfattr -n user.novalue f g h
>>      PASS: $ ls -s f g h
>>      PASS: $ setfattr -n user.name -v value f
>>      PASS: $ ls -s f g h
>>      PASS: $ getfattr -d f g h
>>      PASS: $ setfattr -n user.name -v value g
>>      PASS: $ ls -s f g h
>>      PASS: $ setfattr -x user.novalue h
>>      PASS: $ ls -s f g h
>>      PASS: $ setfattr -n user.name -v other-value g
>>      PASS: $ setfattr -n user.name -v value g
>>      PASS: $ setfattr -x user.name f g
>>      PASS: $ setfattr -x user.novalue f g
>>      PASS: $ ls -s f g h
>>      PASS: $ rm f g h
>>      20 commands (20 passed, 0 failed)
>>      make: Leaving directory '/usr/lib/attr/ptest/test'
>>      root at qemuarm:/usr/lib/attr/ptest# mount
>>      rootfs on / type rootfs (rw)
>>      /dev/root on / type ext3
>> (rw,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered)
>>      devtmpfs on /dev type devtmpfs
>> (rw,relatime,size=60172k,nr_inodes=15043,mode=755)
>>      proc on /proc type proc (rw,relatime)
>>      tmpfs on /mnt/.psplash type tmpfs (rw,relatime,size=40k)
>>      sysfs on /sys type sysfs (rw,relatime)
>>      debugfs on /sys/kernel/debug type debugfs (rw,relatime)
>>      tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
>>      tmpfs on /var/volatile type tmpfs (rw,relatime)
>>      devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620)
>>      nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
>>
>> Best Regards
>> Chong
>>
>>
>>
>>>> +Signed-off-by: Chong Lu <Chong.Lu at windriver.com>
>>>> +---
>>>> + test/Makefile    |    4 ++--
>>>> + test/ext/fs.test |   22 +++++++++++-----------
>>>> + 2 files changed, 13 insertions(+), 13 deletions(-)
>>>> +
>>>> +diff --git a/test/Makefile b/test/Makefile
>>>> +index b7bd8db..d916bf4 100644
>>>> +--- a/test/Makefile
>>>> ++++ b/test/Makefile
>>>> +@@ -40,10 +40,10 @@ $(TEST):
>>>> +     @echo "*** $@ ***"; perl run $@
>>>> +
>>>> + $(EXT):
>>>> +-    @echo "EXT specific tests"; @echo "*** $@ ***"; perl run $@
>>>> ++    @echo "EXT specific tests"; echo "*** $@ ***"; perl run $@
>>>> +
>>>> + $(ROOT):
>>>> +-    @echo "Note: Tests must run as root"; @echo "*** $@ ***"; perl
>>>> run $@
>>>> ++    @echo "Note: Tests must run as root"; echo "*** $@ ***"; perl
>>>> run $@
>>>> +
>>>> + .PHONY: $(TEST) $(EXT) $(ROOT)
>>>> + .NOTPARALLEL:
>>>> +diff --git a/test/ext/fs.test b/test/ext/fs.test
>>>> +index cc28fec..381d54b 100644
>>>> +--- a/test/ext/fs.test
>>>> ++++ b/test/ext/fs.test
>>>> +@@ -19,15 +19,15 @@ Test extended attribute block sharing
>>>> +     $ touch f g h
>>>> +     $ setfattr -n user.novalue f g h
>>>> +     $ ls -s f g h
>>>> +-    > 4 f
>>>> +-    > 4 g
>>>> +-    > 4 h
>>>> ++    > 0 f
>>>> ++    > 0 g
>>>> ++    > 0 h
>>>> +
>>>> +     $ setfattr -n user.name -v value f
>>>> +     $ ls -s f g h
>>>> +-    > 4 f
>>>> +-    > 4 g
>>>> +-    > 4 h
>>>> ++    > 0 f
>>>> ++    > 0 g
>>>> ++    > 0 h
>>>> +
>>>> +     $ getfattr -d f g h
>>>> +     > # file: f
>>>> +@@ -43,14 +43,14 @@ Test extended attribute block sharing
>>>> +
>>>> +     $ setfattr -n user.name -v value g
>>>> +     $ ls -s f g h
>>>> +-    > 4 f
>>>> +-    > 4 g
>>>> +-    > 4 h
>>>> ++    > 0 f
>>>> ++    > 0 g
>>>> ++    > 0 h
>>>> +
>>>> +     $ setfattr -x user.novalue h
>>>> +     $ ls -s f g h
>>>> +-    > 4 f
>>>> +-    > 4 g
>>>> ++    > 0 f
>>>> ++    > 0 g
>>>> +     > 0 h
>>>> +
>>>> +     $ setfattr -n user.name -v other-value g
>>>> +--
>>>> +1.7.9.5
>>>> +
>>>> diff --git a/meta/recipes-support/attr/files/run-ptest
>>>> b/meta/recipes-support/attr/files/run-ptest
>>>> new file mode 100644
>>>> index 0000000..f0bd9fc
>>>> --- /dev/null
>>>> +++ b/meta/recipes-support/attr/files/run-ptest
>>>> @@ -0,0 +1,5 @@
>>>> +#!/bin/sh
>>>> +
>>>> +make -C test -k tests root-tests ext-tests |sed \
>>>> + -e 's|^\[.*\] \(.*\) -- ok$|PASS: \1|' \
>>>> + -e 's|^\[.*\] \(.*\) -- failed|FAIL: \1|'
>>>>
>>>
>>>
>>
>>
>>
>
>




More information about the Openembedded-core mailing list