On Wed, Dec 24, 2025 at 12:10 PM Gyorgy Sarvari <[email protected]> wrote:
> On 12/24/25 21:05, Khem Raj wrote: > > > > > > On Tue, Dec 23, 2025 at 4:17 AM Gyorgy Sarvari via > > lists.openembedded.org <http://lists.openembedded.org> > > <[email protected]> wrote: > > > > The execution takes under 10s. > > > > Sample output: > > > > root@qemux86-64:~# ptest-runner > > START: ptest-runner > > 2025-12-23T11:36 > > BEGIN: /usr/lib/freerdp3/ptest > > PASS: TestSynchInit > > PASS: TestSynchEvent > > PASS: TestSynchMutex > > [...many lines...] > > PASS: TestClientRdpFile > > PASS: TestClientChannels > > PASS: TestClientCmdLine > > DURATION: 7 > > END: /usr/lib/freerdp3/ptest > > 2025-12-23T11:37 > > STOP: ptest-runner > > TOTAL: 1 FAIL: 0 > > > > Signed-off-by: Gyorgy Sarvari <[email protected]> > > --- > > > > v2: when I finished v1, I reordered the test data copying part, to > > make it nice. > > But this reordering made destination of testdata copying to be > > non-existent. > > v2 created the test folder explicitly in do_install_ptest > > > > .../include/ptest-packagelists-meta-oe.inc | 1 + > > .../freerdp/freerdp3/run-ptest | 2 + > > .../freerdp/freerdp3_3.20.0.bb <http://freerdp3_3.20.0.bb> > > | 53 ++++++++++++++++++- > > 3 files changed, 54 insertions(+), 2 deletions(-) > > create mode 100644 > meta-oe/recipes-support/freerdp/freerdp3/run-ptest > > > > diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc > > b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc > > index 1f21db7ae1..556fa8a148 100644 > > --- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc > > +++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc > > @@ -16,6 +16,7 @@ PTESTS_FAST_META_OE = "\ > > ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', > > 'dbus-broker', '', d)} \ > > duktape \ > > exiv2 \ > > + freerdp3 \ > > fuse3 \ > > function2 \ > > fwupd \ > > diff --git a/meta-oe/recipes-support/freerdp/freerdp3/run-ptest > > b/meta-oe/recipes-support/freerdp/freerdp3/run-ptest > > new file mode 100644 > > index 0000000000..1a9b69c27e > > --- /dev/null > > +++ b/meta-oe/recipes-support/freerdp/freerdp3/run-ptest > > @@ -0,0 +1,2 @@ > > +#!/bin/sh > > +ctest | sed 's/\*\*\*/ /g' | awk '/Test > > +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); > > gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}' > > diff --git a/meta-oe/recipes-support/freerdp/freerdp3_3.20.0.bb > > <http://freerdp3_3.20.0.bb> > > b/meta-oe/recipes-support/freerdp/freerdp3_3.20.0.bb > > <http://freerdp3_3.20.0.bb> > > index 07e6db69b7..08bea845f0 100644 > > --- a/meta-oe/recipes-support/freerdp/freerdp3_3.20.0.bb > > <http://freerdp3_3.20.0.bb> > > +++ b/meta-oe/recipes-support/freerdp/freerdp3_3.20.0.bb > > <http://freerdp3_3.20.0.bb> > > @@ -4,11 +4,13 @@ LICENSE = "Apache-2.0" > > LIC_FILES_CHKSUM = > > "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" > > > > DEPENDS = "openssl libusb1 uriparser cairo icu pkcs11-helper zlib > > jpeg json-c" > > +RDEPENDS:${PN}-ptest += "cmake coreutils" > > > > -inherit pkgconfig cmake > > +inherit pkgconfig cmake ptest > > > > SRCREV = "b8e790a02ede8dd64ff7177fb9027d1844e66bb6" > > -SRC_URI = > > "git:// > github.com/FreeRDP/FreeRDP.git;branch=master;protocol=https;tag=${PV} > <http://github.com/FreeRDP/FreeRDP.git;branch=master;protocol=https;tag=$%7BPV%7D> > > < > http://github.com/FreeRDP/FreeRDP.git;branch=master;protocol=https;tag=$%7BPV%7D > >" > > +SRC_URI = > > "git:// > github.com/FreeRDP/FreeRDP.git;branch=master;protocol=https;tag=${PV} > <http://github.com/FreeRDP/FreeRDP.git;branch=master;protocol=https;tag=$%7BPV%7D> > > < > http://github.com/FreeRDP/FreeRDP.git;branch=master;protocol=https;tag=$%7BPV%7D > > > > \ > > + file://run-ptest" > > > > > > CVE_PRODUCT = "freerdp" > > @@ -17,6 +19,7 @@ PACKAGECONFIG ??= " \ > > ${@bb.utils.filter('DISTRO_FEATURES', 'pam pulseaudio wayland > > x11', d)} \ > > ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', > > 'ffmpeg', '', d)} \ > > gstreamer cups pcsc \ > > + ${@bb.utils.contains('PTEST_ENABLED', '1', 'test openh264', > > '', d)} \ > > > > > > openh264 is neither in core nor in meta-oe, its in meta-multimedia and > > meta-oe does not depend upon it rather its other way around > > I think this needs to added via a dynamic-layer > > If I remember well, it's only one testcase that requires it. Maybe it > would be cleaner if I would just to bin that? > That is a good compromise. Add a comment in the recipe so we remember the context in future. > > > > > > > > " > > > > EXTRA_OECMAKE = " \ > > @@ -54,12 +57,58 @@ PACKAGECONFIG[opencl] = > > "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,virtual/libopencl1" > > PACKAGECONFIG[lame] = "-DWITH_LAME=ON,-DWITH_LAME=OFF,lame" > > PACKAGECONFIG[faad] = "-DWITH_FAAD=ON,-DWITH_FAAD=OFF,faad2" > > PACKAGECONFIG[faac] = "-DWITH_FAAC=ON,-DWITH_FAAC=OFF,faac" > > +PACKAGECONFIG[test] = "-DBUILD_TESTING=ON,-DBUILD_TESTING=OFF" > > + > > +do_configure:prepend() { > > + sed -i > > > > 's|TEST_SOURCE_DIR="\${CMAKE_CURRENT_SOURCE_DIR}"|TEST_SOURCE_DIR="${PTEST_PATH}/test"|' > > ${S}/client/common/test/CMakeLists.txt > > + sed -i 's|\${CMAKE_SOURCE_DIR}|${PTEST_PATH}|' > > ${S}/winpr/libwinpr/clipboard/test/CMakeLists.txt > > + sed -i > > 's|="\${CMAKE_CURRENT_SOURCE_DIR}|="${PTEST_PATH}/test|' > > ${S}/winpr/libwinpr/utils/test/CMakeLists.txt > > + sed -i > > 's|="\${CMAKE_CURRENT_BINARY_DIR}|="${PTEST_PATH}/test|' > > ${S}/winpr/libwinpr/utils/test/CMakeLists.txt > > + sed -i > > 's|="\${CMAKE_CURRENT_SOURCE_DIR}|="${PTEST_PATH}/test|' > > ${S}/libfreerdp/codec/test/CMakeLists.txt > > + sed -i > > 's|="\${CMAKE_CURRENT_BINARY_DIR}|="${PTEST_PATH}/test|' > > ${S}/libfreerdp/codec/test/CMakeLists.txt > > + > > +} > > > > do_configure:append() { > > sed -i -e 's|${WORKDIR}||g' ${B}/include/freerdp/buildflags.h > > sed -i -e 's|${WORKDIR}||g' > ${B}/winpr/include/winpr/buildflags.h > > } > > > > +do_install_ptest() { > > + install -d ${D}${PTEST_PATH}/test > > + # main CTestTestfile.cmake file > > + cp ${B}/CTestTestfile.cmake ${D}${PTEST_PATH} > > + # the actual test executables > > + cp -r ${B}/Testing ${D}${PTEST_PATH} > > + # test data > > + cp ${S}/winpr/libwinpr/utils/test/*bmp ${D}${PTEST_PATH}/test/ > > + cp ${S}/libfreerdp/codec/test/*bmp ${D}${PTEST_PATH}/test/ > > + cp -r ${S}/client/common/test/* ${D}${PTEST_PATH}/test/ > > + cp -r ${S}/resources ${D}${PTEST_PATH} > > + cp -r ${S}/libfreerdp/codec/test/planar ${D}${PTEST_PATH}/test/ > > + cp -r ${S}/libfreerdp/codec/test/interleaved > > ${D}${PTEST_PATH}/test/ > > + > > + cd ${B} > > + # the test definitions, how to execute the tests > > + find . -name CTestTestfile.cmake -exec install -Dm 0644 {} > > ${D}${PTEST_PATH}/{} \; > > + > > + for testfile in $(find ${D}${PTEST_PATH} -name > > CTestTestfile.cmake); do > > + # these are comments only, containing ${S} and ${B}, at > > the top of each file > > + sed -i "s,Source directory: ${S},<source_dir>," $testfile > > + sed -i "s,Build directory: ${B},<build_dir>," $testfile > > + > > + # change the ${B} to ${PTEST_PATH}, so the files will be > > searches at the correct place > > + sed -i "s,${B}/Testing,${PTEST_PATH}/Testing,g" $testfile > > + > > + # These add some extra traceability info to the tests, to > > pair them with CMakeLists.txt files, > > + # containing ${B}. > > + # They are not needed for test execution, just remove the > > whole line. > > + sed -i "s,set_tests_properties.*_BACKTRACE_TRIPLES.*,," > > $testfile > > + done > > + > > + rm ${D}${PTEST_PATH}/resources/conv_to_ewm_prop.py > > +} > > + > > PACKAGES =+ "${PN}-proxy-plugins" > > > > FILES:${PN}-proxy-plugins += "${libdir}/${BPN}/proxy/*.so*" > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#122899): https://lists.openembedded.org/g/openembedded-devel/message/122899 Mute This Topic: https://lists.openembedded.org/mt/116914811/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
