Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/1] pTest-quilt: pTest-quilt failed fixed
@ 2016-03-23 11:14 Dengke Du
  2016-03-23 11:14 ` [PATCH 1/1] " Dengke Du
  0 siblings, 1 reply; 3+ messages in thread
From: Dengke Du @ 2016-03-23 11:14 UTC (permalink / raw)
  Cc: openembedded-core

The following changes since commit 8037ba4d86a65ee296cfdcee736dfd614c568818:

  bitbake: bb/tests/fetch: Update cups url (2016-03-21 12:43:12 +0000)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib dengke/pTest-quilt-fail-fixed
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ptest-quilt

Dengke Du (1):
  pTest-quilt: fixed the quilt ptest fail

 meta/recipes-devtools/quilt/quilt.inc       | 9 +++++++--
 meta/recipes-devtools/quilt/quilt/run-ptest | 3 ++-
 meta/recipes-devtools/quilt/quilt/test.sh   | 1 +
 3 files changed, 10 insertions(+), 3 deletions(-)
 create mode 100755 meta/recipes-devtools/quilt/quilt/test.sh

-- 
1.9.1



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/1] pTest-quilt: pTest-quilt failed fixed
  2016-03-23 11:14 [PATCH 0/1] pTest-quilt: pTest-quilt failed fixed Dengke Du
@ 2016-03-23 11:14 ` Dengke Du
  2016-03-24  9:23   ` Tudor Florea
  0 siblings, 1 reply; 3+ messages in thread
From: Dengke Du @ 2016-03-23 11:14 UTC (permalink / raw)
  Cc: openembedded-core

When run the pTest-quilt, the faildiff.test failed, because the user
is root. The faildiff.test had the following:
	$ chmod -r test.txt
	$ quilt refresh
Then 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 get the
following:
	> Nothing in patch patchs/test.dfff
So I add a user who named "test" to run the pTest, when we run the
run-ptest script. In this way, we should add the user at the begining.
Add the useradd inherit to the meta/recipes-devtools/quilt/quilt.inc
and set the USERADD_PACKAGES and USERADD_PARAM_${PN}-ptest variable
respectively.
In the end, change the authority of the directory of test which collect
all the test case under the directory /usr/lib/quilt/ptest/ on the
target to 777. Because the test case would write this directory, if
the user is test user, it can't write this directory.

Signed-off-by: Dengke Du <dengke.du@windriver.com>
---
 meta/recipes-devtools/quilt/quilt.inc       | 9 +++++++--
 meta/recipes-devtools/quilt/quilt/run-ptest | 3 ++-
 meta/recipes-devtools/quilt/quilt/test.sh   | 1 +
 3 files changed, 10 insertions(+), 3 deletions(-)
 create mode 100755 meta/recipes-devtools/quilt/quilt/test.sh

diff --git a/meta/recipes-devtools/quilt/quilt.inc b/meta/recipes-devtools/quilt/quilt.inc
index 837b36b..65d40cc 100644
--- a/meta/recipes-devtools/quilt/quilt.inc
+++ b/meta/recipes-devtools/quilt/quilt.inc
@@ -8,12 +8,13 @@ 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"
 SRC_URI[sha256sum] = "c4bfd3282214a288e8d3e921ae4d52e73e24c4fead72b5446752adee99a7affd"
 
-inherit autotools-brokensep ptest
+inherit autotools-brokensep ptest useradd
 
 EXTRA_OECONF_darwin += "--without-date \
                         --without-getopt \
@@ -35,6 +36,9 @@ EXTRA_OE_MAKE_ARGS ?= "BUILD_ROOT=${D}"
 
 CACHED_CONFIGUREVARS += "ac_cv_path_BASH=/bin/bash"
 
+USERADD_PACKAGES = "${PN}-ptest"
+USERADD_PARAM_${PN}-ptest = "--create-home --user-group test"
+
 # quilt ignores DESTDIR
 do_install () {
 	oe_runmake ${EXTRA_OE_MAKE_ARGS} install
@@ -50,8 +54,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 958a9df..14430a2 100755
--- a/meta/recipes-devtools/quilt/quilt/run-ptest
+++ b/meta/recipes-devtools/quilt/quilt/run-ptest
@@ -1,5 +1,6 @@
 #!/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
+su -c "${THIS_SH} ./test.sh" test
 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 0000000..6563e4a
--- /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
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] pTest-quilt: pTest-quilt failed fixed
  2016-03-23 11:14 ` [PATCH 1/1] " Dengke Du
@ 2016-03-24  9:23   ` Tudor Florea
  0 siblings, 0 replies; 3+ messages in thread
From: Tudor Florea @ 2016-03-24  9:23 UTC (permalink / raw)
  To: Dengke Du; +Cc: openembedded-core

A few comments:

1. (Editorial) Please use the appropriate package name and description
of the fix in the commit message:
e.g.: "quilt: run ptest as normal user" or similar

2. I would avoid using the user "test" in this context. "test" user
might be a legitimate one in some actual deployment and could interfere
this this one.

3. I'd avoid having the user persistent on rootfs (created on
post-install script) Instead I would create a regular user at the
beginning of test and removing it at the end. You may take a look on
libpam recipe tests.

Regards,
 Tudor.

On 23/03/2016 13:14, Dengke Du wrote:
> When run the pTest-quilt, the faildiff.test failed, because the user
> is root. The faildiff.test had the following:
> 	$ chmod -r test.txt
> 	$ quilt refresh
> Then 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 get the
> following:
> 	> Nothing in patch patchs/test.dfff
> So I add a user who named "test" to run the pTest, when we run the
> run-ptest script. In this way, we should add the user at the begining.
> Add the useradd inherit to the meta/recipes-devtools/quilt/quilt.inc
> and set the USERADD_PACKAGES and USERADD_PARAM_${PN}-ptest variable
> respectively.
> In the end, change the authority of the directory of test which collect
> all the test case under the directory /usr/lib/quilt/ptest/ on the
> target to 777. Because the test case would write this directory, if
> the user is test user, it can't write this directory.
> 
> Signed-off-by: Dengke Du <dengke.du@windriver.com>
> ---
>  meta/recipes-devtools/quilt/quilt.inc       | 9 +++++++--
>  meta/recipes-devtools/quilt/quilt/run-ptest | 3 ++-
>  meta/recipes-devtools/quilt/quilt/test.sh   | 1 +
>  3 files changed, 10 insertions(+), 3 deletions(-)
>  create mode 100755 meta/recipes-devtools/quilt/quilt/test.sh
> 
> diff --git a/meta/recipes-devtools/quilt/quilt.inc b/meta/recipes-devtools/quilt/quilt.inc
> index 837b36b..65d40cc 100644
> --- a/meta/recipes-devtools/quilt/quilt.inc
> +++ b/meta/recipes-devtools/quilt/quilt.inc
> @@ -8,12 +8,13 @@ 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"
>  SRC_URI[sha256sum] = "c4bfd3282214a288e8d3e921ae4d52e73e24c4fead72b5446752adee99a7affd"
>  
> -inherit autotools-brokensep ptest
> +inherit autotools-brokensep ptest useradd
>  
>  EXTRA_OECONF_darwin += "--without-date \
>                          --without-getopt \
> @@ -35,6 +36,9 @@ EXTRA_OE_MAKE_ARGS ?= "BUILD_ROOT=${D}"
>  
>  CACHED_CONFIGUREVARS += "ac_cv_path_BASH=/bin/bash"
>  
> +USERADD_PACKAGES = "${PN}-ptest"
> +USERADD_PARAM_${PN}-ptest = "--create-home --user-group test"
> +
>  # quilt ignores DESTDIR
>  do_install () {
>  	oe_runmake ${EXTRA_OE_MAKE_ARGS} install
> @@ -50,8 +54,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 958a9df..14430a2 100755
> --- a/meta/recipes-devtools/quilt/quilt/run-ptest
> +++ b/meta/recipes-devtools/quilt/quilt/run-ptest
> @@ -1,5 +1,6 @@
>  #!/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
> +su -c "${THIS_SH} ./test.sh" test
>  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 0000000..6563e4a
> --- /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
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-03-24  9:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-23 11:14 [PATCH 0/1] pTest-quilt: pTest-quilt failed fixed Dengke Du
2016-03-23 11:14 ` [PATCH 1/1] " Dengke Du
2016-03-24  9:23   ` Tudor Florea

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox