summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDengke Du <dengke.du@windriver.com>2016-03-25 04:28:54 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-26 22:49:36 +0000
commitf7d52d12f943b9e1f79b32758308607036d6a760 (patch)
treed976e6da4f62465de815d8beea5cde8207aea653
parentdbf2ac39913429a0d2a8ce129cebe4469d6a2c22 (diff)
downloadopenembedded-core-contrib-f7d52d12f943b9e1f79b32758308607036d6a760.tar.gz
openembedded-core-contrib-f7d52d12f943b9e1f79b32758308607036d6a760.tar.bz2
openembedded-core-contrib-f7d52d12f943b9e1f79b32758308607036d6a760.zip
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. Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/quilt/quilt.inc4
-rwxr-xr-xmeta/recipes-devtools/quilt/quilt/run-ptest5
-rwxr-xr-xmeta/recipes-devtools/quilt/quilt/test.sh1
3 files changed, 8 insertions, 2 deletions
diff --git a/meta/recipes-devtools/quilt/quilt.inc b/meta/recipes-devtools/quilt/quilt.inc
index 837b36ba8c..4e393c4d8f 100644
--- a/meta/recipes-devtools/quilt/quilt.inc
+++ b/meta/recipes-devtools/quilt/quilt.inc
@@ -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 \
diff --git a/meta/recipes-devtools/quilt/quilt/run-ptest b/meta/recipes-devtools/quilt/quilt/run-ptest
index 958a9df5b6..4b808aee4f 100755
--- a/meta/recipes-devtools/quilt/quilt/run-ptest
+++ b/meta/recipes-devtools/quilt/quilt/run-ptest
@@ -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
diff --git a/meta/recipes-devtools/quilt/quilt/test.sh b/meta/recipes-devtools/quilt/quilt/test.sh
new file mode 100755
index 0000000000..6563e4a2fb
--- /dev/null
+++ b/meta/recipes-devtools/quilt/quilt/test.sh
@@ -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