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

Lu Chong Chong.Lu at windriver.com
Tue Jan 14 03:02:40 UTC 2014


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.
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