From 8d33f1a30e7ed3a711daf0c6587246a214eabaa9 Mon Sep 17 00:00:00 2001 From: Jiaying Song Date: Thu, 10 Jul 2025 17:48:31 +0800 Subject: ruby-ptest : some ptest fixes - Skip the test_rm_r_no_permissions test under the root user, as deletion always succeeds. - Filter out tests under the -ext- directory in run-ptest. Due to the commit [1],the packaging of .so test files under the .ext directory was removed. As a result, adjust the test filtering rules to avoid test failures caused by missing files. - Add installation of rdoc.rb and did_you_mean.rb files in do_install_ptest to ensure complete test dependencies. [1] https://git.openembedded.org/openembedded-core/commit/meta/recipes-devtools/ruby?id=4d4485442830bb52b152f0419f4ff9f1d581d46a (From OE-Core rev: a581617945848e5970859510e6fb8e4ccdb26f95) Signed-off-by: Jiaying Song Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- ...-test_rm_r_no_permissions-test-under-root.patch | 32 ++++++++++++++++++++++ meta/recipes-devtools/ruby/ruby/run-ptest | 2 +- meta/recipes-devtools/ruby/ruby_3.4.4.bb | 3 ++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/ruby/ruby/0007-Skip-test_rm_r_no_permissions-test-under-root.patch diff --git a/meta/recipes-devtools/ruby/ruby/0007-Skip-test_rm_r_no_permissions-test-under-root.patch b/meta/recipes-devtools/ruby/ruby/0007-Skip-test_rm_r_no_permissions-test-under-root.patch new file mode 100644 index 0000000000..e3574f1a81 --- /dev/null +++ b/meta/recipes-devtools/ruby/ruby/0007-Skip-test_rm_r_no_permissions-test-under-root.patch @@ -0,0 +1,32 @@ +From 9c4748aae4f69390a36875aa27d70c3c632ae944 Mon Sep 17 00:00:00 2001 +From: Jiaying Song +Date: Mon, 7 Jul 2025 15:05:57 +0800 +Subject: [PATCH] Skip test_rm_r_no_permissions test under root + +Skip test_rm_r_no_permissions test under root user and Windows environments since deletion always succeeds. + +Upstream-Status: Submitted [https://github.com/ruby/ruby/pull/13828/commits/c510b5ac475e6d3eef935725d21910861816b7a9] + +Signed-off-by: Jiaying Song +--- + test/fileutils/test_fileutils.rb | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/test/fileutils/test_fileutils.rb b/test/fileutils/test_fileutils.rb +index d2096a0..80e3368 100644 +--- a/test/fileutils/test_fileutils.rb ++++ b/test/fileutils/test_fileutils.rb +@@ -768,8 +768,8 @@ class TestFileUtils < Test::Unit::TestCase + + def test_rm_r_no_permissions + check_singleton :rm_rf +- +- return if /mswin|mingw/ =~ RUBY_PLATFORM ++ ++ return if Process.uid == 0 || /mswin|mingw/ =~ RUBY_PLATFORM + + mkdir 'tmpdatadir' + touch 'tmpdatadir/tmpdata' +-- +2.34.1 + diff --git a/meta/recipes-devtools/ruby/ruby/run-ptest b/meta/recipes-devtools/ruby/ruby/run-ptest index de7c415aba..17404e3509 100644 --- a/meta/recipes-devtools/ruby/ruby/run-ptest +++ b/meta/recipes-devtools/ruby/ruby/run-ptest @@ -1,6 +1,6 @@ #!/bin/sh -test_fullname=`find test -name test_*.rb` +test_fullname=$(find test -name test_*.rb | grep -v '/-ext-/') for i in ${test_fullname}; do ruby ./test/runner.rb ${i} 2>&1 > /dev/null diff --git a/meta/recipes-devtools/ruby/ruby_3.4.4.bb b/meta/recipes-devtools/ruby/ruby_3.4.4.bb index 39e86fdd28..c532403339 100644 --- a/meta/recipes-devtools/ruby/ruby_3.4.4.bb +++ b/meta/recipes-devtools/ruby/ruby_3.4.4.bb @@ -27,6 +27,7 @@ SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ file://0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch \ file://0006-Make-gemspecs-reproducible.patch \ file://0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch \ + file://0007-Skip-test_rm_r_no_permissions-test-under-root.patch \ " UPSTREAM_CHECK_URI = "https://www.ruby-lang.org/en/downloads/" @@ -104,6 +105,8 @@ do_install_ptest () { cp -r ${S}/tool/lib ${D}${PTEST_PATH}/tool/ mkdir -p ${D}${PTEST_PATH}/lib cp -r ${S}/lib/did_you_mean ${S}/lib/rdoc ${D}${PTEST_PATH}/lib + cp ${D}${libdir}/ruby/${SHRT_VER}.0/rdoc.rb ${D}${PTEST_PATH}/lib + cp ${D}${libdir}/ruby/${SHRT_VER}.0/did_you_mean.rb ${D}${PTEST_PATH}/lib # install test-binaries # These .so files have sporadic reproducibility fails as seen here: -- cgit v1.2.3-54-g00ecf