[OE-core] [PATCH 3/3] bash: run bash ptest as non-root user

Sakib Sajal sakib.sajal at windriver.com
Fri May 31 20:25:52 UTC 2019


new-exp ptest fails as it expects non-root user.

>From the failed ptest log:
   < new-exp.tests: the test suite should not be run as root
   628c627
   < argv[1] = <host(2)[5.0]# >
   ---
   > argv[1] = <host(2)[5.0]$ >
   FAIL: run-new-exp

Many of the ptests declare that they should not be run as root
and a few fail since the expected result strings are for a
user shell.

When ptests are run as bash_user (non-root) the glob test
fails with error:
    run-glob-test
    59,60d58
    < touch: cannot touch 'a?': Permission denied
    < touch: cannot touch 'aa': Permission denied

So ensure that the bash/ptest/tests directory is owned by the
bash_user while the tests are being run and return it to root
owner afterwards.

Signed-off-by: Sakib Sajal <sakib.sajal at windriver.com>
Signed-off-by: Randy Macleod <randy.macleod at windriver.com>
---
 meta/recipes-extended/bash/bash/run-ptest | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-extended/bash/bash/run-ptest b/meta/recipes-extended/bash/bash/run-ptest
index c61fabd020..c0cf27b6c2 100644
--- a/meta/recipes-extended/bash/bash/run-ptest
+++ b/meta/recipes-extended/bash/bash/run-ptest
@@ -19,4 +19,8 @@ then
         echo "Warning: The de_DE* locales is needed to run the intl.tests, please add it."
 fi
 
-make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd`  runtest
+useradd bash_user
+chown -R bash_user:bash_user ./tests
+su bash_user -c "make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd` runtest"
+chown -R root:root ./tests
+userdel bash_user
-- 
2.20.1



More information about the Openembedded-core mailing list