The latest libtool upgrade appears to have resulted in intermediate files
containing build paths. This wouldn't normally be a problem but the
curl-ptest package is populated by copying ${B}/tests/ which includes all
of the intermediate objects, so this causes buildpath warnings.

Rewrite the ptest installation to install just the pieces we need: the
test harness, utility scripts, and the test data.  We do not need the
libcurl unit tests nor the HTTP server tests, as we don't run those.

Remove all of the explicitly disabled tests, as many of these were for
tests that run curl-config or scan the source code, neither of which are
available at ptest time.  Instead use keyword exclusions to skip them.

Tell the test runner to use the system curl instead of symlinking in the
binary.

Don't copy curl-config, skipping these minor tests is acceptable.

Remove the RDEPENDS on bash, nothing needs this now we're not shipping a
build tree.

Signed-off-by: Ross Burton <ross.bur...@arm.com>
---
 meta/recipes-support/curl/curl/disable-tests | 42 --------------------
 meta/recipes-support/curl/curl/run-ptest     |  8 +++-
 meta/recipes-support/curl/curl_8.8.0.bb      | 33 ++++++++-------
 3 files changed, 26 insertions(+), 57 deletions(-)

diff --git a/meta/recipes-support/curl/curl/disable-tests 
b/meta/recipes-support/curl/curl/disable-tests
index c4aa7783a17..e69de29bb2d 100644
--- a/meta/recipes-support/curl/curl/disable-tests
+++ b/meta/recipes-support/curl/curl/disable-tests
@@ -1,42 +0,0 @@
-# Intermittently fails e.g. 
https://autobuilder.yocto.io/pub/non-release/20231220-28/testresults/qemux86-64-ptest/curl.log
-# 
https://autobuilder.yocto.io/pub/non-release/20231220-27/testresults/qemux86-64-ptest/curl.log
-337
-# These CRL test (alt-avc) are failing
-356
-412
-413
-# These CRL tests are scanning docs
-971
-# Intermittently hangs e.g 
http://autobuilder.yocto.io/pub/non-release/20231228-18/testresults/qemux86-64-ptest/curl.log
-1091
-# Intermittently hangs e.g 
https://autobuilder.yocto.io/pub/non-release/20231220-27/testresults/qemux86-64-ptest/curl.log
-1096
-# These CRL tests are scanning docs
-1119
-1132
-1135
-1478
-# These CRL tests are scanning headers
-1167
-1477
-# These CRL tests are scanning man pages
-1139
-1140
-1173
-1177
-# This CRL test is looking for m4 files
-1165
-# This CRL test is looking for src files
-1185
-# This test is scanning the source tree
-1222
-# These CRL tests need --libcurl option to be enabled
-1279
-1400
-1401
-1402
-1403
-1404
-1405
-1465
-1481
diff --git a/meta/recipes-support/curl/curl/run-ptest 
b/meta/recipes-support/curl/curl/run-ptest
index 579b3f4587e..597cf92dbbd 100644
--- a/meta/recipes-support/curl/curl/run-ptest
+++ b/meta/recipes-support/curl/curl/run-ptest
@@ -10,4 +10,10 @@ cd tests
 
 # Don't run the flaky or timing dependent tests
 # Until https://github.com/curl/curl/issues/13350 is resolved, don't run FTP 
tests
-./runtests.pl -a -n -am -j4 -p !flaky !timing-dependent !FTP
+# We don't enable --libcurl
+# Don't assume curl-config exists
+# We don't have the source tree
+./runtests.pl \
+    -a -c curl -vc curl -n -am -j4 -p \
+    !flaky !timing-dependent !FTP \
+    !--libcurl !curl-config !source\ analysis !checksrc !documentation
diff --git a/meta/recipes-support/curl/curl_8.8.0.bb 
b/meta/recipes-support/curl/curl_8.8.0.bb
index b9325941595..2b058e4e82d 100644
--- a/meta/recipes-support/curl/curl_8.8.0.bb
+++ b/meta/recipes-support/curl/curl_8.8.0.bb
@@ -101,23 +101,28 @@ do_compile_ptest() {
 }
 
 do_install_ptest() {
-       cat  ${UNPACKDIR}/disable-tests >> ${S}/tests/data/DISABLED
-       rm -f ${B}/tests/configurehelp.pm
-       cp -rf ${B}/tests ${D}${PTEST_PATH}
-        rm -f ${D}${PTEST_PATH}/tests/libtest/.libs/libhostname.la
-        rm -f ${D}${PTEST_PATH}/tests/libtest/libhostname.la
-        mv ${D}${PTEST_PATH}/tests/libtest/.libs/* 
${D}${PTEST_PATH}/tests/libtest/
-        mv ${D}${PTEST_PATH}/tests/libtest/libhostname.so 
${D}${PTEST_PATH}/tests/libtest/.libs/
-        mv ${D}${PTEST_PATH}/tests/http/clients/.libs/* 
${D}${PTEST_PATH}/tests/http/clients/
-       cp -rf ${S}/tests ${D}${PTEST_PATH}
-       find ${D}${PTEST_PATH}/ -type f -name Makefile.am -o -name Makefile.in 
-o -name Makefile -delete
-       install -d ${D}${PTEST_PATH}/src
-       ln -sf ${bindir}/curl   ${D}${PTEST_PATH}/src/curl
-       cp -rf ${D}${bindir}/curl-config ${D}${PTEST_PATH}
+       install -d ${D}${PTEST_PATH}/tests
+       cp ${S}/tests/*.p[lmy] ${D}${PTEST_PATH}/tests/
+
+       install -d ${D}${PTEST_PATH}/tests/libtest
+       for name in $(makefile-getvar ${B}/tests/libtest/Makefile 
noinst_PROGRAMS noinst_LTLIBRARIES); do
+               ${B}/libtool --mode=install install ${B}/tests/libtest/$name 
${D}${PTEST_PATH}/tests/libtest
+       done
+       cp ${S}/tests/libtest/notexists.pl ${D}${PTEST_PATH}/tests/libtest
+       rm -f ${D}${PTEST_PATH}/tests/libtest/libhostname.la
+
+       install -d ${D}${PTEST_PATH}/tests/server
+       for name in $(makefile-getvar ${B}/tests/server/Makefile 
noinst_PROGRAMS); do
+               ${B}/libtool --mode=install install ${B}/tests/server/$name 
${D}${PTEST_PATH}/tests/server
+       done
+
+       cp -r ${S}/tests/data ${D}${PTEST_PATH}/tests/
+
+       # More tests that we disable for automated QA as they're not reliable
+       cat ${UNPACKDIR}/disable-tests >>${D}${PTEST_PATH}/tests/data/DISABLED
 }
 
 RDEPENDS:${PN}-ptest += " \
-       bash \
        locale-base-en-us \
        perl-module-b \
        perl-module-base \
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#200571): 
https://lists.openembedded.org/g/openembedded-core/message/200571
Mute This Topic: https://lists.openembedded.org/mt/106629990/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to