quilt: run ptest as normal user

When the user is root, run quilt ptest, the faildiff.test failed.
Because in the faildiff.test, we drop the read permission of the
file test.txt, we can't "quilt refresh" as normal user, so we got
the following:
	>~ .*diff:test\.txt: Permission denied
	> Diff failed on file 'test.txt', aborting
But when the user is root, we can access the file, so we got the
following:
	> Nothing in patch patchs/test.diff
So the faildiff.test was failed. We should create a normal user
to run the ptest in the run-ptest scripts to slove the problem.

(From OE-Core rev: f7d52d12f943b9e1f79b32758308607036d6a760)

Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dengke Du 2016-03-25 04:28:54 -04:00 committed by Richard Purdie
parent afa4d5ebfa
commit ddedab4d1d
3 changed files with 8 additions and 2 deletions

View File

@ -8,6 +8,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quilt/quilt-${PV}.tar.gz \
file://install.patch \
file://run-ptest \
file://Makefile \
file://test.sh \
"
SRC_URI[md5sum] = "fc0310db5868a0873d602d4332a76d43"
@ -50,8 +51,9 @@ do_install_ptest() {
tar -cf - bin/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -cf - compat/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -cf - quilt/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -cf - test/ --exclude mail.test --exclude delete.test | ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -cf - test/ --exclude mail.test --exclude delete.test | ( cd ${D}${PTEST_PATH} && tar -xf - && chmod 777 test)
cp ${WORKDIR}/Makefile ${D}${PTEST_PATH}
cp ${WORKDIR}/test.sh ${D}${PTEST_PATH}
}
RDEPENDS_${PN}-ptest = "make file sed gawk diffutils findutils ed perl \

View File

@ -1,5 +1,8 @@
#!/bin/sh
THIS_SH=/bin/sh
ln -sf /bin/ed /usr/bin/ed
for i in `ls test/*.test |awk -F. '{print $1}' |awk -F/ '{print $2}'`; do make check-$i; if [ $? -eq 0 ]; then echo PASS: $i.test; else echo FAIL: $i.test; fi; done
/usr/sbin/adduser --disabled-password quilttest
su -c "${THIS_SH} ./test.sh" quilttest
/usr/sbin/deluser quilttest
rm -f /usr/bin/ed

View File

@ -0,0 +1 @@
for i in `ls test/*.test |awk -F. '{print $1}' |awk -F/ '{print $2}'`; do make check-$i; if [ $? -eq 0 ]; then echo PASS: $i.test; else echo FAIL: $i.test; fi; done