public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [OE-core][PATCH v1] go: add ptest support
@ 2026-03-05 11:02 Pratik Farkase
  2026-03-06 10:23 ` Mathieu Dubois-Briand
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Pratik Farkase @ 2026-03-05 11:02 UTC (permalink / raw)
  To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase

Add ptest infrastructure to test the Go standard library.

- Run 'go test -short std' via run-ptest script
- Install source tree and pkg/include headers
- Create VERSION file for architecture detection
- Exclude multi-arch binary testdata to avoid QA errors

Test results: 237/253 pass (93.7%) on qemux86-64.

Known issues:
- debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary testdata
- time: requires embedded timezone data
- net/http: requires unstripped go binary
- testing, go/types: minor edge cases

Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
 .../distro/include/ptest-packagelists.inc     |  1 +
 meta/recipes-devtools/go/go-1.26.0.inc        |  1 +
 meta/recipes-devtools/go/go/run-ptest         | 23 +++++++++++++++++
 meta/recipes-devtools/go/go_1.26.0.bb         | 25 ++++++++++++++++++-
 4 files changed, 49 insertions(+), 1 deletion(-)
 create mode 100755 meta/recipes-devtools/go/go/run-ptest

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 1bb7458fc9..432f3965de 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -24,6 +24,7 @@ PTESTS_FAST = "\
     gdbm \
     gdk-pixbuf \
     glib-networking \
+    go \
     gzip \
     icu \
     json-c \
diff --git a/meta/recipes-devtools/go/go-1.26.0.inc b/meta/recipes-devtools/go/go-1.26.0.inc
index 7d8a68e3b2..611f00aaab 100644
--- a/meta/recipes-devtools/go/go-1.26.0.inc
+++ b/meta/recipes-devtools/go/go-1.26.0.inc
@@ -16,5 +16,6 @@ SRC_URI += "\
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
+    file://run-ptest \
 "
 SRC_URI[main.sha256sum] = "c9132a8a1f6bd2aa4aad1d74b8231d95274950483a4950657ee6c56e6e817790"
diff --git a/meta/recipes-devtools/go/go/run-ptest b/meta/recipes-devtools/go/go/run-ptest
new file mode 100755
index 0000000000..86ff1bd1ae
--- /dev/null
+++ b/meta/recipes-devtools/go/go/run-ptest
@@ -0,0 +1,23 @@
+#!/bin/sh
+PTEST_DIR=/usr/lib/go/ptest
+GOROOT=/usr/lib/go
+
+export GOROOT
+export PATH=$GOROOT/bin:$PATH
+export ZONEINFO=/usr/share/zoneinfo
+
+ln -sf $PTEST_DIR/src $GOROOT/src
+mkdir -p $GOROOT/pkg/include
+cp $PTEST_DIR/pkg/include/* $GOROOT/pkg/include/
+cp $PTEST_DIR/VERSION $GOROOT/VERSION
+
+cd $GOROOT
+
+go test -short std 2>&1 | while IFS= read -r line; do
+    case "$line" in
+        ok*) echo "PASS: $(echo "$line" | awk '{print $2}')" ;;
+        FAIL*) echo "FAIL: $(echo "$line" | awk '{print $2}')" ;;
+        \?*) ;;
+        *) echo "$line" ;;
+    esac
+done
diff --git a/meta/recipes-devtools/go/go_1.26.0.bb b/meta/recipes-devtools/go/go_1.26.0.bb
index 46f5fbc6be..a2827b9d33 100644
--- a/meta/recipes-devtools/go/go_1.26.0.bb
+++ b/meta/recipes-devtools/go/go_1.26.0.bb
@@ -1,7 +1,7 @@
 require go-${PV}.inc
 require go-target.inc
 
-inherit linuxloader
+inherit linuxloader ptest
 
 CGO_LDFLAGS:append = " -no-pie"
 
@@ -16,3 +16,26 @@ python() {
         d.appendVar('INSANE_SKIP:%s' % d.getVar('PN'), " textrel")
 }
 
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/src
+    install -d ${D}${PTEST_PATH}/pkg/include
+
+    cp ${S}/pkg/include/* ${D}${PTEST_PATH}/pkg/include/
+    echo "go${PV}" > ${D}${PTEST_PATH}/VERSION
+
+    cd ${S}/src
+    find . -type d -exec install -d ${D}${PTEST_PATH}/src/{} \;
+    find . -type f \
+        ! -path "*/testdata/*.obj" \
+        ! -path "*/testdata/*.syso" \
+        ! -path "*/testdata/*.so" \
+        ! -path "*/testdata/*.so_" \
+        ! -path "*/testdata/*-exec" \
+        ! -path "*/testdata/test32*" \
+        ! -path "*/testdata/test64*" \
+        ! -path "*/race/*.syso" \
+        ! -path "*/boring/syso/*.syso" \
+        -exec install -m 0644 {} ${D}${PTEST_PATH}/src/{} \;
+}
+
+RDEPENDS:${PN}-ptest += "bash tzdata git packagegroup-core-buildessential"
-- 
2.43.0



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

* Re: [OE-core][PATCH v1] go: add ptest support
  2026-03-05 11:02 [OE-core][PATCH v1] go: add ptest support Pratik Farkase
@ 2026-03-06 10:23 ` Mathieu Dubois-Briand
  2026-03-06 17:24 ` [OE-core][PATCH v2] " Pratik Farkase
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 17+ messages in thread
From: Mathieu Dubois-Briand @ 2026-03-06 10:23 UTC (permalink / raw)
  To: Pratik Farkase, openembedded-core; +Cc: pratik.farkase

On Thu Mar 5, 2026 at 12:02 PM CET, Pratik Farkase wrote:
> Add ptest infrastructure to test the Go standard library.
>
> - Run 'go test -short std' via run-ptest script
> - Install source tree and pkg/include headers
> - Create VERSION file for architecture detection
> - Exclude multi-arch binary testdata to avoid QA errors
>
> Test results: 237/253 pass (93.7%) on qemux86-64.
>
> Known issues:
> - debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary testdata
> - time: requires embedded timezone data
> - net/http: requires unstripped go binary
> - testing, go/types: minor edge cases
>
> Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
> ---

Hi Pratik,

Thanks for your patch.

It looks like this is failing QA, when we are building for another
architecture:

ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/bitfields.elf4 [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/rnglistx.elf [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/issue57046-clang.elf5 [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/typedef.elf4 [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/line-gcc-dwarf5.elf [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/line-gcc-zstd.elf [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/cycle.elf [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/split.elf [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/line-gcc.elf [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/ranges.elf [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/line-clang-dwarf5.elf [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/line-clang.elf [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/typedef.elf5 [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/cppunsuptypes.elf [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/dwarf/testdata/typedef.elf [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/elf/testdata/go-relocation-test-gcc930-ranges-no-rela-x86-64 [arch]
ERROR: go-1.26.0-r0 do_package_qa: QA Issue: Architecture did not match (x86-64, expected AArch64) in /usr/lib/go/ptest/src/debug/elf/testdata/go-relocation-test-gcc930-ranges-with-rela-x86-64 [arch]

https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/3286
https://autobuilder.yoctoproject.org/valkyrie/#/builders/20/builds/3272
https://autobuilder.yoctoproject.org/valkyrie/#/builders/22/builds/3328
https://autobuilder.yoctoproject.org/valkyrie/#/builders/65/builds/3289
https://autobuilder.yoctoproject.org/valkyrie/#/builders/80/builds/3136

Can you have a look at the issue?

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



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

* [OE-core][PATCH v2] go: add ptest support
  2026-03-05 11:02 [OE-core][PATCH v1] go: add ptest support Pratik Farkase
  2026-03-06 10:23 ` Mathieu Dubois-Briand
@ 2026-03-06 17:24 ` Pratik Farkase
  2026-03-06 18:55   ` Jose Quaresma
  2026-03-08 16:09   ` Mathieu Dubois-Briand
  2026-03-18 14:03 ` [OE-core][PATCH v3] " Pratik Farkase
                   ` (3 subsequent siblings)
  5 siblings, 2 replies; 17+ messages in thread
From: Pratik Farkase @ 2026-03-06 17:24 UTC (permalink / raw)
  To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase

Add ptest infrastructure to test the Go standard library.

- Run 'go test -short std' via run-ptest script
- Install source tree and pkg/include headers
- Create VERSION file for architecture detection
- Exclude multi-arch binary testdata to avoid QA errors

Test results: 237/253 pass (93.7%) on qemux86-64.

Known issues:
- debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary testdata
- time: requires embedded timezone data
- net/http: requires unstripped go binary
- testing, go/types: minor edge cases

Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
Changes in v2:
- Exclude .elf* files to fix QA arch errors on all architectures
- Exclude *-x86-64* files to fix additional arch-specific test binaries
- Tested on x86-64, x86, aarch64, and arm builds
---
 .../distro/include/ptest-packagelists.inc     |  1 +
 meta/recipes-devtools/go/go-1.26.0.inc        |  1 +
 meta/recipes-devtools/go/go/run-ptest         | 23 ++++++++++++++++
 meta/recipes-devtools/go/go_1.26.0.bb         | 27 ++++++++++++++++++-
 4 files changed, 51 insertions(+), 1 deletion(-)
 create mode 100755 meta/recipes-devtools/go/go/run-ptest

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 1bb7458fc9..432f3965de 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -24,6 +24,7 @@ PTESTS_FAST = "\
     gdbm \
     gdk-pixbuf \
     glib-networking \
+    go \
     gzip \
     icu \
     json-c \
diff --git a/meta/recipes-devtools/go/go-1.26.0.inc b/meta/recipes-devtools/go/go-1.26.0.inc
index 7d8a68e3b2..611f00aaab 100644
--- a/meta/recipes-devtools/go/go-1.26.0.inc
+++ b/meta/recipes-devtools/go/go-1.26.0.inc
@@ -16,5 +16,6 @@ SRC_URI += "\
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
+    file://run-ptest \
 "
 SRC_URI[main.sha256sum] = "c9132a8a1f6bd2aa4aad1d74b8231d95274950483a4950657ee6c56e6e817790"
diff --git a/meta/recipes-devtools/go/go/run-ptest b/meta/recipes-devtools/go/go/run-ptest
new file mode 100755
index 0000000000..86ff1bd1ae
--- /dev/null
+++ b/meta/recipes-devtools/go/go/run-ptest
@@ -0,0 +1,23 @@
+#!/bin/sh
+PTEST_DIR=/usr/lib/go/ptest
+GOROOT=/usr/lib/go
+
+export GOROOT
+export PATH=$GOROOT/bin:$PATH
+export ZONEINFO=/usr/share/zoneinfo
+
+ln -sf $PTEST_DIR/src $GOROOT/src
+mkdir -p $GOROOT/pkg/include
+cp $PTEST_DIR/pkg/include/* $GOROOT/pkg/include/
+cp $PTEST_DIR/VERSION $GOROOT/VERSION
+
+cd $GOROOT
+
+go test -short std 2>&1 | while IFS= read -r line; do
+    case "$line" in
+        ok*) echo "PASS: $(echo "$line" | awk '{print $2}')" ;;
+        FAIL*) echo "FAIL: $(echo "$line" | awk '{print $2}')" ;;
+        \?*) ;;
+        *) echo "$line" ;;
+    esac
+done
diff --git a/meta/recipes-devtools/go/go_1.26.0.bb b/meta/recipes-devtools/go/go_1.26.0.bb
index 46f5fbc6be..35a14b8e8b 100644
--- a/meta/recipes-devtools/go/go_1.26.0.bb
+++ b/meta/recipes-devtools/go/go_1.26.0.bb
@@ -1,7 +1,7 @@
 require go-${PV}.inc
 require go-target.inc
 
-inherit linuxloader
+inherit linuxloader ptest
 
 CGO_LDFLAGS:append = " -no-pie"
 
@@ -16,3 +16,28 @@ python() {
         d.appendVar('INSANE_SKIP:%s' % d.getVar('PN'), " textrel")
 }
 
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/src
+    install -d ${D}${PTEST_PATH}/pkg/include
+
+    cp ${S}/pkg/include/* ${D}${PTEST_PATH}/pkg/include/
+    echo "go${PV}" > ${D}${PTEST_PATH}/VERSION
+
+    cd ${S}/src
+    find . -type d -exec install -d ${D}${PTEST_PATH}/src/{} \;
+    find . -type f \
+        ! -path "*/testdata/*.elf*" \
+        ! -path "*/testdata/*-x86-64*" \
+        ! -path "*/testdata/*.obj" \
+        ! -path "*/testdata/*.syso" \
+        ! -path "*/testdata/*.so" \
+        ! -path "*/testdata/*.so_" \
+        ! -path "*/testdata/*-exec" \
+        ! -path "*/testdata/test32*" \
+        ! -path "*/testdata/test64*" \
+        ! -path "*/race/*.syso" \
+        ! -path "*/boring/syso/*.syso" \
+        -exec install -m 0644 {} ${D}${PTEST_PATH}/src/{} \;
+}
+
+RDEPENDS:${PN}-ptest += "bash tzdata git packagegroup-core-buildessential"
-- 
2.43.0



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

* Re: [OE-core][PATCH v2] go: add ptest support
  2026-03-06 17:24 ` [OE-core][PATCH v2] " Pratik Farkase
@ 2026-03-06 18:55   ` Jose Quaresma
  2026-03-08 16:09   ` Mathieu Dubois-Briand
  1 sibling, 0 replies; 17+ messages in thread
From: Jose Quaresma @ 2026-03-06 18:55 UTC (permalink / raw)
  To: pratik.farkase; +Cc: openembedded-core, pratik.farkase

[-- Attachment #1: Type: text/plain, Size: 5480 bytes --]

Hi Pratik,

Pratik Farkase via lists.openembedded.org <pratik.farkase=
est.tech@lists.openembedded.org> escreveu (sexta, 6/03/2026 à(s) 17:24):

> Add ptest infrastructure to test the Go standard library.
>
> - Run 'go test -short std' via run-ptest script
> - Install source tree and pkg/include headers
> - Create VERSION file for architecture detection
> - Exclude multi-arch binary testdata to avoid QA errors
>
> Test results: 237/253 pass (93.7%) on qemux86-64.
>
> Known issues:
> - debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary
> testdata
> - time: requires embedded timezone data
> - net/http: requires unstripped go binary
> - testing, go/types: minor edge cases
>
> Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
> ---
> Changes in v2:
> - Exclude .elf* files to fix QA arch errors on all architectures
> - Exclude *-x86-64* files to fix additional arch-specific test binaries
> - Tested on x86-64, x86, aarch64, and arm builds
>

Having the golang ptest running on x86 and arm is a great improvement for
the project.
Thank you very much for this patch.

Jose


> ---
>  .../distro/include/ptest-packagelists.inc     |  1 +
>  meta/recipes-devtools/go/go-1.26.0.inc        |  1 +
>  meta/recipes-devtools/go/go/run-ptest         | 23 ++++++++++++++++
>  meta/recipes-devtools/go/go_1.26.0.bb         | 27 ++++++++++++++++++-
>  4 files changed, 51 insertions(+), 1 deletion(-)
>  create mode 100755 meta/recipes-devtools/go/go/run-ptest
>
> diff --git a/meta/conf/distro/include/ptest-packagelists.inc
> b/meta/conf/distro/include/ptest-packagelists.inc
> index 1bb7458fc9..432f3965de 100644
> --- a/meta/conf/distro/include/ptest-packagelists.inc
> +++ b/meta/conf/distro/include/ptest-packagelists.inc
> @@ -24,6 +24,7 @@ PTESTS_FAST = "\
>      gdbm \
>      gdk-pixbuf \
>      glib-networking \
> +    go \
>      gzip \
>      icu \
>      json-c \
> diff --git a/meta/recipes-devtools/go/go-1.26.0.inc
> b/meta/recipes-devtools/go/go-1.26.0.inc
> index 7d8a68e3b2..611f00aaab 100644
> --- a/meta/recipes-devtools/go/go-1.26.0.inc
> +++ b/meta/recipes-devtools/go/go-1.26.0.inc
> @@ -16,5 +16,6 @@ SRC_URI += "\
>      file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
>
>  file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
>
>  file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
> +    file://run-ptest \
>  "
>  SRC_URI[main.sha256sum] =
> "c9132a8a1f6bd2aa4aad1d74b8231d95274950483a4950657ee6c56e6e817790"
> diff --git a/meta/recipes-devtools/go/go/run-ptest
> b/meta/recipes-devtools/go/go/run-ptest
> new file mode 100755
> index 0000000000..86ff1bd1ae
> --- /dev/null
> +++ b/meta/recipes-devtools/go/go/run-ptest
> @@ -0,0 +1,23 @@
> +#!/bin/sh
> +PTEST_DIR=/usr/lib/go/ptest
> +GOROOT=/usr/lib/go
> +
> +export GOROOT
> +export PATH=$GOROOT/bin:$PATH
> +export ZONEINFO=/usr/share/zoneinfo
> +
> +ln -sf $PTEST_DIR/src $GOROOT/src
> +mkdir -p $GOROOT/pkg/include
> +cp $PTEST_DIR/pkg/include/* $GOROOT/pkg/include/
> +cp $PTEST_DIR/VERSION $GOROOT/VERSION
> +
> +cd $GOROOT
> +
> +go test -short std 2>&1 | while IFS= read -r line; do
> +    case "$line" in
> +        ok*) echo "PASS: $(echo "$line" | awk '{print $2}')" ;;
> +        FAIL*) echo "FAIL: $(echo "$line" | awk '{print $2}')" ;;
> +        \?*) ;;
> +        *) echo "$line" ;;
> +    esac
> +done
> diff --git a/meta/recipes-devtools/go/go_1.26.0.bb
> b/meta/recipes-devtools/go/go_1.26.0.bb
> index 46f5fbc6be..35a14b8e8b 100644
> --- a/meta/recipes-devtools/go/go_1.26.0.bb
> +++ b/meta/recipes-devtools/go/go_1.26.0.bb
> @@ -1,7 +1,7 @@
>  require go-${PV}.inc
>  require go-target.inc
>
> -inherit linuxloader
> +inherit linuxloader ptest
>
>  CGO_LDFLAGS:append = " -no-pie"
>
> @@ -16,3 +16,28 @@ python() {
>          d.appendVar('INSANE_SKIP:%s' % d.getVar('PN'), " textrel")
>  }
>
> +do_install_ptest() {
> +    install -d ${D}${PTEST_PATH}/src
> +    install -d ${D}${PTEST_PATH}/pkg/include
> +
> +    cp ${S}/pkg/include/* ${D}${PTEST_PATH}/pkg/include/
> +    echo "go${PV}" > ${D}${PTEST_PATH}/VERSION
> +
> +    cd ${S}/src
> +    find . -type d -exec install -d ${D}${PTEST_PATH}/src/{} \;
> +    find . -type f \
> +        ! -path "*/testdata/*.elf*" \
> +        ! -path "*/testdata/*-x86-64*" \
> +        ! -path "*/testdata/*.obj" \
> +        ! -path "*/testdata/*.syso" \
> +        ! -path "*/testdata/*.so" \
> +        ! -path "*/testdata/*.so_" \
> +        ! -path "*/testdata/*-exec" \
> +        ! -path "*/testdata/test32*" \
> +        ! -path "*/testdata/test64*" \
> +        ! -path "*/race/*.syso" \
> +        ! -path "*/boring/syso/*.syso" \
> +        -exec install -m 0644 {} ${D}${PTEST_PATH}/src/{} \;
> +}
> +
> +RDEPENDS:${PN}-ptest += "bash tzdata git packagegroup-core-buildessential"
> --
> 2.43.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#232583):
> https://lists.openembedded.org/g/openembedded-core/message/232583
> Mute This Topic: https://lists.openembedded.org/mt/118174533/5052612
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

-- 
Best regards,

José Quaresma

[-- Attachment #2: Type: text/html, Size: 7684 bytes --]

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

* Re: [OE-core][PATCH v2] go: add ptest support
  2026-03-06 17:24 ` [OE-core][PATCH v2] " Pratik Farkase
  2026-03-06 18:55   ` Jose Quaresma
@ 2026-03-08 16:09   ` Mathieu Dubois-Briand
  2026-03-08 16:58     ` Pratik Farkase
  1 sibling, 1 reply; 17+ messages in thread
From: Mathieu Dubois-Briand @ 2026-03-08 16:09 UTC (permalink / raw)
  To: Pratik Farkase, openembedded-core; +Cc: pratik.farkase

On Fri Mar 6, 2026 at 6:24 PM CET, Pratik Farkase wrote:
> Add ptest infrastructure to test the Go standard library.
>
> - Run 'go test -short std' via run-ptest script
> - Install source tree and pkg/include headers
> - Create VERSION file for architecture detection
> - Exclude multi-arch binary testdata to avoid QA errors
>
> Test results: 237/253 pass (93.7%) on qemux86-64.
>
> Known issues:
> - debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary testdata
> - time: requires embedded timezone data
> - net/http: requires unstripped go binary
> - testing, go/types: minor edge cases
>
> Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
> ---

Hi Pratik,

Thanks for the new version.

On the autobuilder, the OOM killer is triggered on most tests:

[  314.773868] Tasks state (memory values in pages):
[  314.774517] [  pid  ]   uid  tgid total_vm      rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name
[  314.780755] [    138]     0   138     2490      268      235       33         0    49152        0         -1000 udevd
[  314.782773] [    322]     0   322     2379      335      250       85         0    53248        0         -1000 sshd
[  314.801338] [    328]     0   328     1015       53        0       53         0    40960        0             0 syslogd
[  314.811001] [    331]     0   331     1015       53        0       53         0    40960        0             0 klogd
[  314.819041] [    337]     0   337     1029      126       64       62         0    36864        0             0 start_getty
[  314.820980] [    338]     0   338     1029      126       64       62         0    45056        0             0 start_getty
[  314.823947] [    339]     0   339     1015       32        0       32         0    45056        0             0 getty
[  314.826345] [    342]     0   342     1072      153       96       57         0    45056        0             0 sh
[  314.835899] [    343]     0   343     1015       83       32       51         0    40960        0             0 getty
[  314.837471] [    388]     0   388     2619      335      288       47         0    57344        0             0 sshd-session
[  314.849074] [    390]     0   390     2684      454      353      101         0    61440        0             0 sshd-session
[  314.850742] [    391]     0   391      639       73        0       73         0    40960        0             0 ptest-runner
[  314.863046] [    392]     0   392     1028      105       64       41         0    45056        0             0 run-ptest
[  314.868775] [    397]     0   397   335448    14669    14640       29         0   245760        0             0 go
[  314.881173] [    398]     0   398     1028       97       39       58         0    45056        0             0 run-ptest
[  314.882869] [    798]     0   798   371933    60075    60023       20        32   630784        0             0 compile
[  314.893578] [   1230]     0  1230   371846    55334    55248       54        32   589824        0             0 compile
[  314.895156] [   1381]     0  1381   371669    48968    48879       57        32   540672        0             0 compile
[  314.904257] [   1445]     0  1445   371821    50116    50067       17        32   552960        0             0 compile
[  314.907744] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=compile,pid=798,uid=0
[  314.910323] Out of memory: Killed process 798 (compile) total-vm:1487732kB, anon-rss:240092kB, file-rss:408kB, shmem-rss:128kB, UID:0 pgtables:616kB oom_score_adj:0

https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/3229
https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/3201
https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/1196

We might need to increase QEMU memory size. Did you had similar issues
on your side?

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



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

* Re: [OE-core][PATCH v2] go: add ptest support
  2026-03-08 16:09   ` Mathieu Dubois-Briand
@ 2026-03-08 16:58     ` Pratik Farkase
  2026-03-09 13:43       ` Mathieu Dubois-Briand
  0 siblings, 1 reply; 17+ messages in thread
From: Pratik Farkase @ 2026-03-08 16:58 UTC (permalink / raw)
  To: Mathieu Dubois-Briand, openembedded-core@lists.openembedded.org
  Cc: pratik.farkase@ericsson.com

Hi Mathieu,

Thanks for testing!

Yes, Go ptest requires significant RAM due to on-the-fly compilation during testing.
On my setup (qemux86-64 with 4GB RAM), tests complete successfully in ~45 minutes.

The minimum RAM requirement appears to be ~2GB. With less RAM, the OOM killer
terminates compile processes as you've seen.

Options:
1. Increase QB_MEM for go-ptest in the recipe

This is similar to other resource-intensive ptests like gcc or llvm.

What would be the preferred approach for OpenEmbedded-Core?

Thanks,
Pratik

________________________________________
From: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Sent: Sunday, March 8, 2026 5:09 PM
To: Pratik Farkase; openembedded-core@lists.openembedded.org
Cc: pratik.farkase@ericsson.com
Subject: Re: [OE-core][PATCH v2] go: add ptest support

On Fri Mar 6, 2026 at 6:24 PM CET, Pratik Farkase wrote:
> Add ptest infrastructure to test the Go standard library.
>
> - Run 'go test -short std' via run-ptest script
> - Install source tree and pkg/include headers
> - Create VERSION file for architecture detection
> - Exclude multi-arch binary testdata to avoid QA errors
>
> Test results: 237/253 pass (93.7%) on qemux86-64.
>
> Known issues:
> - debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary testdata
> - time: requires embedded timezone data
> - net/http: requires unstripped go binary
> - testing, go/types: minor edge cases
>
> Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
> ---

Hi Pratik,

Thanks for the new version.

On the autobuilder, the OOM killer is triggered on most tests:

[  314.773868] Tasks state (memory values in pages):
[  314.774517] [  pid  ]   uid  tgid total_vm      rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name
[  314.780755] [    138]     0   138     2490      268      235       33         0    49152        0         -1000 udevd
[  314.782773] [    322]     0   322     2379      335      250       85         0    53248        0         -1000 sshd
[  314.801338] [    328]     0   328     1015       53        0       53         0    40960        0             0 syslogd
[  314.811001] [    331]     0   331     1015       53        0       53         0    40960        0             0 klogd
[  314.819041] [    337]     0   337     1029      126       64       62         0    36864        0             0 start_getty
[  314.820980] [    338]     0   338     1029      126       64       62         0    45056        0             0 start_getty
[  314.823947] [    339]     0   339     1015       32        0       32         0    45056        0             0 getty
[  314.826345] [    342]     0   342     1072      153       96       57         0    45056        0             0 sh
[  314.835899] [    343]     0   343     1015       83       32       51         0    40960        0             0 getty
[  314.837471] [    388]     0   388     2619      335      288       47         0    57344        0             0 sshd-session
[  314.849074] [    390]     0   390     2684      454      353      101         0    61440        0             0 sshd-session
[  314.850742] [    391]     0   391      639       73        0       73         0    40960        0             0 ptest-runner
[  314.863046] [    392]     0   392     1028      105       64       41         0    45056        0             0 run-ptest
[  314.868775] [    397]     0   397   335448    14669    14640       29         0   245760        0             0 go
[  314.881173] [    398]     0   398     1028       97       39       58         0    45056        0             0 run-ptest
[  314.882869] [    798]     0   798   371933    60075    60023       20        32   630784        0             0 compile
[  314.893578] [   1230]     0  1230   371846    55334    55248       54        32   589824        0             0 compile
[  314.895156] [   1381]     0  1381   371669    48968    48879       57        32   540672        0             0 compile
[  314.904257] [   1445]     0  1445   371821    50116    50067       17        32   552960        0             0 compile
[  314.907744] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=compile,pid=798,uid=0
[  314.910323] Out of memory: Killed process 798 (compile) total-vm:1487732kB, anon-rss:240092kB, file-rss:408kB, shmem-rss:128kB, UID:0 pgtables:616kB oom_score_adj:0

https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/3229
https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/3201
https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/1196

We might need to increase QEMU memory size. Did you had similar issues
on your side?

Thanks,
Mathieu

--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



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

* Re: [OE-core][PATCH v2] go: add ptest support
  2026-03-08 16:58     ` Pratik Farkase
@ 2026-03-09 13:43       ` Mathieu Dubois-Briand
  0 siblings, 0 replies; 17+ messages in thread
From: Mathieu Dubois-Briand @ 2026-03-09 13:43 UTC (permalink / raw)
  To: Pratik Farkase, openembedded-core@lists.openembedded.org
  Cc: pratik.farkase@ericsson.com

On Sun Mar 8, 2026 at 5:58 PM CET, Pratik Farkase wrote:
> Hi Mathieu,
>
> Thanks for testing!
>
> Yes, Go ptest requires significant RAM due to on-the-fly compilation during testing.
> On my setup (qemux86-64 with 4GB RAM), tests complete successfully in ~45 minutes.
>
> The minimum RAM requirement appears to be ~2GB. With less RAM, the OOM killer
> terminates compile processes as you've seen.
>
> Options:
> 1. Increase QB_MEM for go-ptest in the recipe
>
> This is similar to other resource-intensive ptests like gcc or llvm.
>
> What would be the preferred approach for OpenEmbedded-Core?
>
> Thanks,
> Pratik
>

Hi Pratik,

I believe increasing QB_MEM is the way to go, but some reviewers might
have a different opinion.

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



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

* [OE-core][PATCH v3] go: add ptest support
  2026-03-05 11:02 [OE-core][PATCH v1] go: add ptest support Pratik Farkase
  2026-03-06 10:23 ` Mathieu Dubois-Briand
  2026-03-06 17:24 ` [OE-core][PATCH v2] " Pratik Farkase
@ 2026-03-18 14:03 ` Pratik Farkase
  2026-03-19  6:57   ` Mathieu Dubois-Briand
  2026-04-13 12:02 ` [OE-core][PATCH v4] " Pratik Farkase
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 17+ messages in thread
From: Pratik Farkase @ 2026-03-18 14:03 UTC (permalink / raw)
  To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase

Add ptest infrastructure to test the Go standard library.

- Run 'go test -short std' via run-ptest script
- Install source tree and pkg/include headers
- Create VERSION file for architecture detection
- Exclude multi-arch binary testdata to avoid QA errors

Test results: 237/253 pass (93.7%) on qemux86-64.

Known issues:
- debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary testdata
- time: requires embedded timezone data
- net/http: requires unstripped go binary
- testing, go/types: minor edge cases

Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
Changes in v3:
- Move go from PTESTS_FAST to PTESTS_SLOW (~45min runtime)
  inside ptest-packagelists.inc

Changes in v2:
- Exclude .elf* files to fix QA arch errors on all architectures
- Exclude *-x86-64* files to fix additional arch-specific test binaries
- Tested on x86-64, x86, aarch64, and arm builds
---
 .../distro/include/ptest-packagelists.inc     |  1 +
 meta/recipes-devtools/go/go-1.26.0.inc        |  1 +
 meta/recipes-devtools/go/go/run-ptest         | 23 ++++++++++++++++
 meta/recipes-devtools/go/go_1.26.0.bb         | 27 ++++++++++++++++++-
 4 files changed, 51 insertions(+), 1 deletion(-)
 create mode 100755 meta/recipes-devtools/go/go/run-ptest

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 1bb7458fc9..c7f79e96b5 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -118,6 +118,7 @@ PTESTS_SLOW = "\
     gettext \
     glib-2.0 \
     gnutls \
+    go \
     gstreamer1.0 \
     less \
     libevent \
diff --git a/meta/recipes-devtools/go/go-1.26.0.inc b/meta/recipes-devtools/go/go-1.26.0.inc
index 7d8a68e3b2..611f00aaab 100644
--- a/meta/recipes-devtools/go/go-1.26.0.inc
+++ b/meta/recipes-devtools/go/go-1.26.0.inc
@@ -16,5 +16,6 @@ SRC_URI += "\
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
+    file://run-ptest \
 "
 SRC_URI[main.sha256sum] = "c9132a8a1f6bd2aa4aad1d74b8231d95274950483a4950657ee6c56e6e817790"
diff --git a/meta/recipes-devtools/go/go/run-ptest b/meta/recipes-devtools/go/go/run-ptest
new file mode 100755
index 0000000000..86ff1bd1ae
--- /dev/null
+++ b/meta/recipes-devtools/go/go/run-ptest
@@ -0,0 +1,23 @@
+#!/bin/sh
+PTEST_DIR=/usr/lib/go/ptest
+GOROOT=/usr/lib/go
+
+export GOROOT
+export PATH=$GOROOT/bin:$PATH
+export ZONEINFO=/usr/share/zoneinfo
+
+ln -sf $PTEST_DIR/src $GOROOT/src
+mkdir -p $GOROOT/pkg/include
+cp $PTEST_DIR/pkg/include/* $GOROOT/pkg/include/
+cp $PTEST_DIR/VERSION $GOROOT/VERSION
+
+cd $GOROOT
+
+go test -short std 2>&1 | while IFS= read -r line; do
+    case "$line" in
+        ok*) echo "PASS: $(echo "$line" | awk '{print $2}')" ;;
+        FAIL*) echo "FAIL: $(echo "$line" | awk '{print $2}')" ;;
+        \?*) ;;
+        *) echo "$line" ;;
+    esac
+done
diff --git a/meta/recipes-devtools/go/go_1.26.0.bb b/meta/recipes-devtools/go/go_1.26.0.bb
index 46f5fbc6be..35a14b8e8b 100644
--- a/meta/recipes-devtools/go/go_1.26.0.bb
+++ b/meta/recipes-devtools/go/go_1.26.0.bb
@@ -1,7 +1,7 @@
 require go-${PV}.inc
 require go-target.inc
 
-inherit linuxloader
+inherit linuxloader ptest
 
 CGO_LDFLAGS:append = " -no-pie"
 
@@ -16,3 +16,28 @@ python() {
         d.appendVar('INSANE_SKIP:%s' % d.getVar('PN'), " textrel")
 }
 
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/src
+    install -d ${D}${PTEST_PATH}/pkg/include
+
+    cp ${S}/pkg/include/* ${D}${PTEST_PATH}/pkg/include/
+    echo "go${PV}" > ${D}${PTEST_PATH}/VERSION
+
+    cd ${S}/src
+    find . -type d -exec install -d ${D}${PTEST_PATH}/src/{} \;
+    find . -type f \
+        ! -path "*/testdata/*.elf*" \
+        ! -path "*/testdata/*-x86-64*" \
+        ! -path "*/testdata/*.obj" \
+        ! -path "*/testdata/*.syso" \
+        ! -path "*/testdata/*.so" \
+        ! -path "*/testdata/*.so_" \
+        ! -path "*/testdata/*-exec" \
+        ! -path "*/testdata/test32*" \
+        ! -path "*/testdata/test64*" \
+        ! -path "*/race/*.syso" \
+        ! -path "*/boring/syso/*.syso" \
+        -exec install -m 0644 {} ${D}${PTEST_PATH}/src/{} \;
+}
+
+RDEPENDS:${PN}-ptest += "bash tzdata git packagegroup-core-buildessential"
-- 
2.43.0



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

* Re: [OE-core][PATCH v3] go: add ptest support
  2026-03-18 14:03 ` [OE-core][PATCH v3] " Pratik Farkase
@ 2026-03-19  6:57   ` Mathieu Dubois-Briand
  2026-04-13 12:04     ` Pratik Farkase
  0 siblings, 1 reply; 17+ messages in thread
From: Mathieu Dubois-Briand @ 2026-03-19  6:57 UTC (permalink / raw)
  To: Pratik Farkase, openembedded-core; +Cc: pratik.farkase

On Wed Mar 18, 2026 at 3:03 PM CET, Pratik Farkase wrote:
> Add ptest infrastructure to test the Go standard library.
>
> - Run 'go test -short std' via run-ptest script
> - Install source tree and pkg/include headers
> - Create VERSION file for architecture detection
> - Exclude multi-arch binary testdata to avoid QA errors
>
> Test results: 237/253 pass (93.7%) on qemux86-64.
>
> Known issues:
> - debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary testdata
> - time: requires embedded timezone data
> - net/http: requires unstripped go binary
> - testing, go/types: minor edge cases
>
> Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
> ---
> Changes in v3:
> - Move go from PTESTS_FAST to PTESTS_SLOW (~45min runtime)
>   inside ptest-packagelists.inc
>
> Changes in v2:
> - Exclude .elf* files to fix QA arch errors on all architectures
> - Exclude *-x86-64* files to fix additional arch-specific test binaries
> - Tested on x86-64, x86, aarch64, and arm builds
> ---

Hi Pratik,

Thanks for the new version, but we still have some failures:

WARNING: core-image-ptest-go-1.0-r0 do_testimage: There were failing ptests.
Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
    return func(*args, **kwargs)
  File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
    return func(*args, **kwargs)
  File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
    return func(*args, **kwargs)
  File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-core/meta/lib/oeqa/runtime/cases/ptest.py", line 27, in test_ptestrunner_expectfail
    self.do_ptestrunner()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-core/meta/lib/oeqa/runtime/cases/ptest.py", line 121, in do_ptestrunner
    self.fail(failmsg)
    ~~~~~~~~~^^^^^^^^^
AssertionError: ERROR: Processes were killed by the OOM Killer:
[  132.843492] Out of memory: Killed process 769 (compile) total-vm:1553664kB, anon-rss:256564kB, file-rss:0kB, shmem-rss:128kB, UID:0 pgtables:644kB oom_score_adj:0


Failed ptests:
{'go': ['archive/tar',
        'archive/zip',
        'bufio',
        'bytes',
        'cmp',
        'compress/bzip2',
        'compress
	...

https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/3319
https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/3294
https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/1277

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



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

* [OE-core][PATCH v4] go: add ptest support
  2026-03-05 11:02 [OE-core][PATCH v1] go: add ptest support Pratik Farkase
                   ` (2 preceding siblings ...)
  2026-03-18 14:03 ` [OE-core][PATCH v3] " Pratik Farkase
@ 2026-04-13 12:02 ` Pratik Farkase
  2026-04-13 22:29 ` [OE-core][PATCH v5] " Pratik Farkase
  2026-04-14 10:31 ` [OE-core][PATCH v6] " Pratik Farkase
  5 siblings, 0 replies; 17+ messages in thread
From: Pratik Farkase @ 2026-04-13 12:02 UTC (permalink / raw)
  To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase

Add ptest infrastructure to test the Go standard library.

- Run 'go test -short std' via run-ptest script
- Install source tree and pkg/include headers
- Create VERSION file for architecture detection
- Exclude multi-arch binary testdata to avoid QA errors

Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
Changes in v4:
- Run only 17 curated packages that work within 1GB RAM constraint
- Test runtime reduced to ~6-7 minutes

Changes in v3:
- Move go from PTESTS_FAST to PTESTS_SLOW (~45min runtime)
  inside ptest-packagelists.inc

Changes in v2:
- Exclude .elf* files to fix QA arch errors on all architectures
- Exclude *-x86-64* files to fix additional arch-specific test binaries
- Tested on x86-64, x86, aarch64, and arm builds
---
 .../distro/include/ptest-packagelists.inc     |  1 +
 meta/recipes-devtools/go/go-1.26.0.inc        |  1 +
 meta/recipes-devtools/go/go/run-ptest         | 42 +++++++++++++++++++
 meta/recipes-devtools/go/go_1.26.0.bb         | 27 +++++++++++-
 4 files changed, 70 insertions(+), 1 deletion(-)
 create mode 100755 meta/recipes-devtools/go/go/run-ptest

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 1bb7458fc9..c7f79e96b5 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -118,6 +118,7 @@ PTESTS_SLOW = "\
     gettext \
     glib-2.0 \
     gnutls \
+    go \
     gstreamer1.0 \
     less \
     libevent \
diff --git a/meta/recipes-devtools/go/go-1.26.0.inc b/meta/recipes-devtools/go/go-1.26.0.inc
index 7d8a68e3b2..611f00aaab 100644
--- a/meta/recipes-devtools/go/go-1.26.0.inc
+++ b/meta/recipes-devtools/go/go-1.26.0.inc
@@ -16,5 +16,6 @@ SRC_URI += "\
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
+    file://run-ptest \
 "
 SRC_URI[main.sha256sum] = "c9132a8a1f6bd2aa4aad1d74b8231d95274950483a4950657ee6c56e6e817790"
diff --git a/meta/recipes-devtools/go/go/run-ptest b/meta/recipes-devtools/go/go/run-ptest
new file mode 100755
index 0000000000..032aa56978
--- /dev/null
+++ b/meta/recipes-devtools/go/go/run-ptest
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+PTEST_DIR=/usr/lib/go/ptest
+GOROOT=/usr/lib/go
+
+export GOROOT
+export PATH=$GOROOT/bin:$PATH
+export ZONEINFO=/usr/share/zoneinfo
+
+# Set up Go environment
+ln -sf $PTEST_DIR/src $GOROOT/src
+mkdir -p $GOROOT/pkg/include
+cp $PTEST_DIR/pkg/include/* $GOROOT/pkg/include/
+cp $PTEST_DIR/VERSION $GOROOT/VERSION
+
+cd $GOROOT
+
+for pkg in \
+    bytes \
+    cmp \
+    container/heap \
+    container/list \
+    container/ring \
+    errors \
+    fmt \
+    math \
+    math/bits \
+    math/rand \
+    path \
+    strings \
+    sync/atomic \
+    text/tabwriter \
+    unicode \
+    unicode/utf8 \
+    unicode/utf16
+do
+    if go test -short "$pkg" >/dev/null 2>&1; then
+        echo "PASS: $pkg"
+    else
+        echo "FAIL: $pkg"
+    fi
+done
diff --git a/meta/recipes-devtools/go/go_1.26.0.bb b/meta/recipes-devtools/go/go_1.26.0.bb
index 46f5fbc6be..e5141544b4 100644
--- a/meta/recipes-devtools/go/go_1.26.0.bb
+++ b/meta/recipes-devtools/go/go_1.26.0.bb
@@ -1,7 +1,7 @@
 require go-${PV}.inc
 require go-target.inc
 
-inherit linuxloader
+inherit linuxloader ptest
 
 CGO_LDFLAGS:append = " -no-pie"
 
@@ -16,3 +16,28 @@ python() {
         d.appendVar('INSANE_SKIP:%s' % d.getVar('PN'), " textrel")
 }
 
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/src
+    install -d ${D}${PTEST_PATH}/pkg/include
+
+    cp ${S}/pkg/include/* ${D}${PTEST_PATH}/pkg/include/
+    echo "go${PV}" > ${D}${PTEST_PATH}/VERSION
+
+    cd ${S}/src
+    find . -type d -exec install -d ${D}${PTEST_PATH}/src/{} \;
+    find . -type f \
+        ! -path "*/testdata/*.elf*" \
+        ! -path "*/testdata/*-x86-64*" \
+        ! -path "*/testdata/*.obj" \
+        ! -path "*/testdata/*.syso" \
+        ! -path "*/testdata/*.so" \
+        ! -path "*/testdata/*.so_" \
+        ! -path "*/testdata/*-exec" \
+        ! -path "*/testdata/test32*" \
+        ! -path "*/testdata/test64*" \
+        ! -path "*/race/*.syso" \
+        ! -path "*/boring/syso/*.syso" \
+        -exec install -m 0644 {} ${D}${PTEST_PATH}/src/{} \;
+}
+
+RDEPENDS:${PN}-ptest += "bash tzdata gcc"
-- 
2.43.0



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

* Re: [OE-core][PATCH v3] go: add ptest support
  2026-03-19  6:57   ` Mathieu Dubois-Briand
@ 2026-04-13 12:04     ` Pratik Farkase
  2026-04-13 12:27       ` Marko, Peter
  0 siblings, 1 reply; 17+ messages in thread
From: Pratik Farkase @ 2026-04-13 12:04 UTC (permalink / raw)
  To: Mathieu Dubois-Briand, openembedded-core@lists.openembedded.org
  Cc: pratik.farkase@ericsson.com

Hi Mathieu,

Apologies for getting back bit late and thanks for testing v3 and identifying the OOM issue.

The root cause is that Go's test suite performs on-the-fly compilation during
test execution. Even with the autobuilder's 1GB RAM (QB_MEM = '-m 1024'),
attempting all 253 stdlib packages causes OOM kills as compilation processes
consume ~1.5GB.

For v4, I've switched to a curated subset of 17 core packages that complete
successfully within the 1GB constraint:

Test results on qemux86-64 with 1GB RAM: 17/17 pass (100%) in ~6-7 minutes.

Best Regards,
Pratik

________________________________________
From: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Sent: Thursday, March 19, 2026 7:57 AM
To: Pratik Farkase; openembedded-core@lists.openembedded.org
Cc: pratik.farkase@ericsson.com
Subject: Re: [OE-core][PATCH v3] go: add ptest support

On Wed Mar 18, 2026 at 3:03 PM CET, Pratik Farkase wrote:
> Add ptest infrastructure to test the Go standard library.
>
> - Run 'go test -short std' via run-ptest script
> - Install source tree and pkg/include headers
> - Create VERSION file for architecture detection
> - Exclude multi-arch binary testdata to avoid QA errors
>
> Test results: 237/253 pass (93.7%) on qemux86-64.
>
> Known issues:
> - debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary testdata
> - time: requires embedded timezone data
> - net/http: requires unstripped go binary
> - testing, go/types: minor edge cases
>
> Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
> ---
> Changes in v3:
> - Move go from PTESTS_FAST to PTESTS_SLOW (~45min runtime)
>   inside ptest-packagelists.inc
>
> Changes in v2:
> - Exclude .elf* files to fix QA arch errors on all architectures
> - Exclude *-x86-64* files to fix additional arch-specific test binaries
> - Tested on x86-64, x86, aarch64, and arm builds
> ---

Hi Pratik,

Thanks for the new version, but we still have some failures:

WARNING: core-image-ptest-go-1.0-r0 do_testimage: There were failing ptests.
Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
    return func(*args, **kwargs)
  File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
    return func(*args, **kwargs)
  File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
    return func(*args, **kwargs)
  File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-core/meta/lib/oeqa/runtime/cases/ptest.py", line 27, in test_ptestrunner_expectfail
    self.do_ptestrunner()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-core/meta/lib/oeqa/runtime/cases/ptest.py", line 121, in do_ptestrunner
    self.fail(failmsg)
    ~~~~~~~~~^^^^^^^^^
AssertionError: ERROR: Processes were killed by the OOM Killer:
[  132.843492] Out of memory: Killed process 769 (compile) total-vm:1553664kB, anon-rss:256564kB, file-rss:0kB, shmem-rss:128kB, UID:0 pgtables:644kB oom_score_adj:0


Failed ptests:
{'go': ['archive/tar',
        'archive/zip',
        'bufio',
        'bytes',
        'cmp',
        'compress/bzip2',
        'compress
        ...

https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/3319
https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/3294
https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/1277

Thanks,
Mathieu

--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



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

* RE: [OE-core][PATCH v3] go: add ptest support
  2026-04-13 12:04     ` Pratik Farkase
@ 2026-04-13 12:27       ` Marko, Peter
  2026-04-13 22:37         ` Pratik Farkase
  0 siblings, 1 reply; 17+ messages in thread
From: Marko, Peter @ 2026-04-13 12:27 UTC (permalink / raw)
  To: Pratik Farkase, Mathieu Dubois-Briand,
	openembedded-core@lists.openembedded.org
  Cc: pratik.farkase@ericsson.com

Hello Pratik,

I think that better is to run the full testsuite and increase QB_MEM for virtclass-mcextend-go under
https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/images/core-image-ptest.bb#n36

Peter

> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-
> core@lists.openembedded.org> On Behalf Of Pratik Farkase
> Sent: Monday, April 13, 2026 2:05 PM
> To: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>; openembedded-
> core@lists.openembedded.org
> Cc: pratik.farkase@ericsson.com
> Subject: Re: [OE-core][PATCH v3] go: add ptest support
> 
> Hi Mathieu,
> 
> Apologies for getting back bit late and thanks for testing v3 and identifying the OOM
> issue.
> 
> The root cause is that Go's test suite performs on-the-fly compilation during
> test execution. Even with the autobuilder's 1GB RAM (QB_MEM = '-m 1024'),
> attempting all 253 stdlib packages causes OOM kills as compilation processes
> consume ~1.5GB.
> 
> For v4, I've switched to a curated subset of 17 core packages that complete
> successfully within the 1GB constraint:
> 
> Test results on qemux86-64 with 1GB RAM: 17/17 pass (100%) in ~6-7 minutes.
> 
> Best Regards,
> Pratik
> 
> ________________________________________
> From: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
> Sent: Thursday, March 19, 2026 7:57 AM
> To: Pratik Farkase; openembedded-core@lists.openembedded.org
> Cc: pratik.farkase@ericsson.com
> Subject: Re: [OE-core][PATCH v3] go: add ptest support
> 
> On Wed Mar 18, 2026 at 3:03 PM CET, Pratik Farkase wrote:
> > Add ptest infrastructure to test the Go standard library.
> >
> > - Run 'go test -short std' via run-ptest script
> > - Install source tree and pkg/include headers
> > - Create VERSION file for architecture detection
> > - Exclude multi-arch binary testdata to avoid QA errors
> >
> > Test results: 237/253 pass (93.7%) on qemux86-64.
> >
> > Known issues:
> > - debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary testdata
> > - time: requires embedded timezone data
> > - net/http: requires unstripped go binary
> > - testing, go/types: minor edge cases
> >
> > Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
> > ---
> > Changes in v3:
> > - Move go from PTESTS_FAST to PTESTS_SLOW (~45min runtime)
> >   inside ptest-packagelists.inc
> >
> > Changes in v2:
> > - Exclude .elf* files to fix QA arch errors on all architectures
> > - Exclude *-x86-64* files to fix additional arch-specific test binaries
> > - Tested on x86-64, x86, aarch64, and arm builds
> > ---
> 
> Hi Pratik,
> 
> Thanks for the new version, but we still have some failures:
> 
> WARNING: core-image-ptest-go-1.0-r0 do_testimage: There were failing ptests.
> Traceback (most recent call last):
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
>     return func(*args, **kwargs)
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
>     return func(*args, **kwargs)
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
>     return func(*args, **kwargs)
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/runtime/cases/ptest.py", line 27, in test_ptestrunner_expectfail
>     self.do_ptestrunner()
>     ~~~~~~~~~~~~~~~~~~~^^
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/runtime/cases/ptest.py", line 121, in do_ptestrunner
>     self.fail(failmsg)
>     ~~~~~~~~~^^^^^^^^^
> AssertionError: ERROR: Processes were killed by the OOM Killer:
> [  132.843492] Out of memory: Killed process 769 (compile) total-vm:1553664kB,
> anon-rss:256564kB, file-rss:0kB, shmem-rss:128kB, UID:0 pgtables:644kB
> oom_score_adj:0
> 
> 
> Failed ptests:
> {'go': ['archive/tar',
>         'archive/zip',
>         'bufio',
>         'bytes',
>         'cmp',
>         'compress/bzip2',
>         'compress
>         ...
> 
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/3319
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/3294
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/1277
> 
> Thanks,
> Mathieu
> 
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com



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

* [OE-core][PATCH v5] go: add ptest support
  2026-03-05 11:02 [OE-core][PATCH v1] go: add ptest support Pratik Farkase
                   ` (3 preceding siblings ...)
  2026-04-13 12:02 ` [OE-core][PATCH v4] " Pratik Farkase
@ 2026-04-13 22:29 ` Pratik Farkase
  2026-04-14 10:31 ` [OE-core][PATCH v6] " Pratik Farkase
  5 siblings, 0 replies; 17+ messages in thread
From: Pratik Farkase @ 2026-04-13 22:29 UTC (permalink / raw)
  To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase

Add ptest infrastructure to test the Go standard library.

- Run 'go test -short std' via run-ptest script
- Install source tree and pkg/include headers
- Create VERSION file for architecture detection
- Exclude multi-arch binary testdata to avoid QA errors

Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
Changes in v5:
- Add QB_MEM:virtclass-mcextend-go = "-m 4096" in core-image-ptest.bb
- Add PTEST_RUNNER_TIMEOUT:virtclass-mcextend-go = "4800" for ~66min runtime
- Run full test suite (go list std) with skip list for problematic
  packages in run-ptest

Changes in v4:
- Run only 17 curated packages that work within 1GB RAM constraint
- Test runtime reduced to ~6-7 minutes

Changes in v3:
- Move go from PTESTS_FAST to PTESTS_SLOW (~45min runtime)
  inside ptest-packagelists.inc

Changes in v2:
- Exclude .elf* files to fix QA arch errors on all architectures
- Exclude *-x86-64* files to fix additional arch-specific test binaries
- Tested on x86-64, x86, aarch64, and arm builds
---
 .../distro/include/ptest-packagelists.inc     |  1 +
 meta/recipes-core/images/core-image-ptest.bb  |  5 +++
 meta/recipes-devtools/go/go-1.26.0.inc        |  1 +
 meta/recipes-devtools/go/go/run-ptest         | 32 +++++++++++++++++++
 meta/recipes-devtools/go/go_1.26.0.bb         | 27 +++++++++++++++-
 5 files changed, 65 insertions(+), 1 deletion(-)
 create mode 100755 meta/recipes-devtools/go/go/run-ptest

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 1bb7458fc9..c7f79e96b5 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -118,6 +118,7 @@ PTESTS_SLOW = "\
     gettext \
     glib-2.0 \
     gnutls \
+    go \
     gstreamer1.0 \
     less \
     libevent \
diff --git a/meta/recipes-core/images/core-image-ptest.bb b/meta/recipes-core/images/core-image-ptest.bb
index c08561296f..166b4ded63 100644
--- a/meta/recipes-core/images/core-image-ptest.bb
+++ b/meta/recipes-core/images/core-image-ptest.bb
@@ -10,6 +10,7 @@ HOMEPAGE = "https://www.yoctoproject.org/"
 
 PTESTS = "${PTESTS_SLOW} ${PTESTS_FAST}"
 PTEST_RUNNER_TIMEOUT:virtclass-mcextend-python3-cffi = "600"
+PTEST_RUNNER_TIMEOUT:virtclass-mcextend-go = "4800"
 
 IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh"
 
@@ -32,6 +33,9 @@ IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-tar = "1524288"
 # python3-numpy-ptest requires a lot of extra space
 IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-python3-numpy = "3048576"
 
+# golang go-ptest requires extra space
+IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-go = "1524288"
+
 # ptests need more memory than standard to avoid the OOM killer
 QB_MEM = "-m 1024"
 QB_MEM:virtclass-mcextend-lttng-tools = "-m 4096"
@@ -39,6 +43,7 @@ QB_MEM:virtclass-mcextend-python3 = "-m 2048"
 QB_MEM:virtclass-mcextend-python3-cryptography = "-m 5100"
 QB_MEM:virtclass-mcextend-python3-numpy = "-m 4096"
 QB_MEM:virtclass-mcextend-tcl = "-m 5100"
+QB_MEM:virtclass-mcextend-go = "-m 4096"
 
 TEST_SUITES = "ping ssh parselogs ptest"
 
diff --git a/meta/recipes-devtools/go/go-1.26.0.inc b/meta/recipes-devtools/go/go-1.26.0.inc
index 7d8a68e3b2..611f00aaab 100644
--- a/meta/recipes-devtools/go/go-1.26.0.inc
+++ b/meta/recipes-devtools/go/go-1.26.0.inc
@@ -16,5 +16,6 @@ SRC_URI += "\
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
+    file://run-ptest \
 "
 SRC_URI[main.sha256sum] = "c9132a8a1f6bd2aa4aad1d74b8231d95274950483a4950657ee6c56e6e817790"
diff --git a/meta/recipes-devtools/go/go/run-ptest b/meta/recipes-devtools/go/go/run-ptest
new file mode 100755
index 0000000000..ac020de025
--- /dev/null
+++ b/meta/recipes-devtools/go/go/run-ptest
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+PTEST_DIR=/usr/lib/go/ptest
+GOROOT=/usr/lib/go
+
+export GOROOT
+export PATH=$GOROOT/bin:$PATH
+export ZONEINFO=/usr/share/zoneinfo
+
+ln -sf $PTEST_DIR/src $GOROOT/src
+mkdir -p $GOROOT/pkg/include
+cp $PTEST_DIR/pkg/include/* $GOROOT/pkg/include/
+cp $PTEST_DIR/VERSION $GOROOT/VERSION
+
+cd $GOROOT
+
+SKIP_PKGS="debug/dwarf debug/elf debug/pe debug/plan9obj go/types internal/xcoff net/http runtime testing time"
+
+SKIP_REGEX=$(echo "$SKIP_PKGS" | sed 's/ /|/g')
+
+for pkg in $(go list std); do
+    if echo "$pkg" | grep -qE "^($SKIP_REGEX)$"; then
+        echo "SKIP: $pkg"
+        continue
+    fi
+
+    if go test -short "$pkg" >/dev/null 2>&1; then
+        echo "PASS: $pkg"
+    else
+        echo "FAIL: $pkg"
+    fi
+done
diff --git a/meta/recipes-devtools/go/go_1.26.0.bb b/meta/recipes-devtools/go/go_1.26.0.bb
index 46f5fbc6be..35a14b8e8b 100644
--- a/meta/recipes-devtools/go/go_1.26.0.bb
+++ b/meta/recipes-devtools/go/go_1.26.0.bb
@@ -1,7 +1,7 @@
 require go-${PV}.inc
 require go-target.inc
 
-inherit linuxloader
+inherit linuxloader ptest
 
 CGO_LDFLAGS:append = " -no-pie"
 
@@ -16,3 +16,28 @@ python() {
         d.appendVar('INSANE_SKIP:%s' % d.getVar('PN'), " textrel")
 }
 
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/src
+    install -d ${D}${PTEST_PATH}/pkg/include
+
+    cp ${S}/pkg/include/* ${D}${PTEST_PATH}/pkg/include/
+    echo "go${PV}" > ${D}${PTEST_PATH}/VERSION
+
+    cd ${S}/src
+    find . -type d -exec install -d ${D}${PTEST_PATH}/src/{} \;
+    find . -type f \
+        ! -path "*/testdata/*.elf*" \
+        ! -path "*/testdata/*-x86-64*" \
+        ! -path "*/testdata/*.obj" \
+        ! -path "*/testdata/*.syso" \
+        ! -path "*/testdata/*.so" \
+        ! -path "*/testdata/*.so_" \
+        ! -path "*/testdata/*-exec" \
+        ! -path "*/testdata/test32*" \
+        ! -path "*/testdata/test64*" \
+        ! -path "*/race/*.syso" \
+        ! -path "*/boring/syso/*.syso" \
+        -exec install -m 0644 {} ${D}${PTEST_PATH}/src/{} \;
+}
+
+RDEPENDS:${PN}-ptest += "bash tzdata git packagegroup-core-buildessential"
-- 
2.43.0



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

* Re: [OE-core][PATCH v3] go: add ptest support
  2026-04-13 12:27       ` Marko, Peter
@ 2026-04-13 22:37         ` Pratik Farkase
  2026-04-14 10:10           ` Jose Quaresma
  0 siblings, 1 reply; 17+ messages in thread
From: Pratik Farkase @ 2026-04-13 22:37 UTC (permalink / raw)
  To: Marko, Peter, Mathieu Dubois-Briand,
	openembedded-core@lists.openembedded.org
  Cc: pratik.farkase@ericsson.com

[-- Attachment #1: Type: text/plain, Size: 5344 bytes --]

Hi Peter,

Thanks for the suggestion to use QB_MEM override in core-image-ptest.bb! Great to have these multiconfig settings already which i was not aware of. I have sent a v5 patch after testing it locally. It will run full go testsuite and the total run time is around ~66 minutes.

Attached the test results here along with qemu boot log.

Best Regards,
Pratik

________________________________________
From: Marko, Peter <Peter.Marko@siemens.com>
Sent: Monday, April 13, 2026 2:27 PM
To: Pratik Farkase; Mathieu Dubois-Briand; openembedded-core@lists.openembedded.org
Cc: pratik.farkase@ericsson.com
Subject: RE: [OE-core][PATCH v3] go: add ptest support

Hello Pratik,

I think that better is to run the full testsuite and increase QB_MEM for virtclass-mcextend-go under
https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/images/core-image-ptest.bb#n36

Peter

> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-
> core@lists.openembedded.org> On Behalf Of Pratik Farkase
> Sent: Monday, April 13, 2026 2:05 PM
> To: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>; openembedded-
> core@lists.openembedded.org
> Cc: pratik.farkase@ericsson.com
> Subject: Re: [OE-core][PATCH v3] go: add ptest support
>
> Hi Mathieu,
>
> Apologies for getting back bit late and thanks for testing v3 and identifying the OOM
> issue.
>
> The root cause is that Go's test suite performs on-the-fly compilation during
> test execution. Even with the autobuilder's 1GB RAM (QB_MEM = '-m 1024'),
> attempting all 253 stdlib packages causes OOM kills as compilation processes
> consume ~1.5GB.
>
> For v4, I've switched to a curated subset of 17 core packages that complete
> successfully within the 1GB constraint:
>
> Test results on qemux86-64 with 1GB RAM: 17/17 pass (100%) in ~6-7 minutes.
>
> Best Regards,
> Pratik
>
> ________________________________________
> From: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
> Sent: Thursday, March 19, 2026 7:57 AM
> To: Pratik Farkase; openembedded-core@lists.openembedded.org
> Cc: pratik.farkase@ericsson.com
> Subject: Re: [OE-core][PATCH v3] go: add ptest support
>
> On Wed Mar 18, 2026 at 3:03 PM CET, Pratik Farkase wrote:
> > Add ptest infrastructure to test the Go standard library.
> >
> > - Run 'go test -short std' via run-ptest script
> > - Install source tree and pkg/include headers
> > - Create VERSION file for architecture detection
> > - Exclude multi-arch binary testdata to avoid QA errors
> >
> > Test results: 237/253 pass (93.7%) on qemux86-64.
> >
> > Known issues:
> > - debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary testdata
> > - time: requires embedded timezone data
> > - net/http: requires unstripped go binary
> > - testing, go/types: minor edge cases
> >
> > Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
> > ---
> > Changes in v3:
> > - Move go from PTESTS_FAST to PTESTS_SLOW (~45min runtime)
> >   inside ptest-packagelists.inc
> >
> > Changes in v2:
> > - Exclude .elf* files to fix QA arch errors on all architectures
> > - Exclude *-x86-64* files to fix additional arch-specific test binaries
> > - Tested on x86-64, x86, aarch64, and arm builds
> > ---
>
> Hi Pratik,
>
> Thanks for the new version, but we still have some failures:
>
> WARNING: core-image-ptest-go-1.0-r0 do_testimage: There were failing ptests.
> Traceback (most recent call last):
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
>     return func(*args, **kwargs)
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
>     return func(*args, **kwargs)
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
>     return func(*args, **kwargs)
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/runtime/cases/ptest.py", line 27, in test_ptestrunner_expectfail
>     self.do_ptestrunner()
>     ~~~~~~~~~~~~~~~~~~~^^
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/runtime/cases/ptest.py", line 121, in do_ptestrunner
>     self.fail(failmsg)
>     ~~~~~~~~~^^^^^^^^^
> AssertionError: ERROR: Processes were killed by the OOM Killer:
> [  132.843492] Out of memory: Killed process 769 (compile) total-vm:1553664kB,
> anon-rss:256564kB, file-rss:0kB, shmem-rss:128kB, UID:0 pgtables:644kB
> oom_score_adj:0
>
>
> Failed ptests:
> {'go': ['archive/tar',
>         'archive/zip',
>         'bufio',
>         'bytes',
>         'cmp',
>         'compress/bzip2',
>         'compress
>         ...
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/3319
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/3294
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/1277
>
> Thanks,
> Mathieu
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com


[-- Attachment #2: go-ptest-v5.txt --]
[-- Type: text/plain, Size: 52587 bytes --]

[    0.000000] Linux version 6.18.13-yocto-standard (oe-user@oe-host) (x86_64-oe-linux-gcc (GCC) 15.2.0, GNU ld (GNU Binutils) 2.46) #1 SMP PREEMPT_DYNAMIC Tue Mar  3 16:48:55 UTC 206
[    0.000000] Command line: root=/dev/vda rw  ip=dhcp console=ttyS0 console=ttyS1 oprofile.timer=1 tsc=reliable no_timer_check rcupdate.rcu_expedited=1 swiotlb=0 
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007ffd7fff] usable
[    0.000000] BIOS-e820: [mem 0x000000007ffd8000-0x000000007fffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000b0000000-0x00000000bfffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000017fffffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] APIC: Static calls initialized
[    0.000000] SMBIOS 2.8 present.
[    0.000000] DMI: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/2014
[    0.000000] DMI: Memory slots populated: 1/1
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] tsc: Detected 2399.967 MHz processor
[    0.014017] last_pfn = 0x180000 max_arch_pfn = 0x400000000
[    0.014770] MTRR map: 4 entries (3 fixed + 1 variable; max 19), built from 8 variable MTRRs
[    0.014953] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
[    0.016357] last_pfn = 0x7ffd8 max_arch_pfn = 0x400000000
[    0.036017] found SMP MP-table at [mem 0x000f5490-0x000f549f]
[    0.041664] ACPI: Early table checksum verification disabled
[    0.042270] ACPI: RSDP 0x00000000000F5290 000014 (v00 BOCHS )
[    0.042570] ACPI: RSDT 0x000000007FFE24A7 000038 (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.043378] ACPI: FACP 0x000000007FFE2287 0000F4 (v03 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.044058] ACPI: DSDT 0x000000007FFE0040 002247 (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.044164] ACPI: FACS 0x000000007FFE0000 000040
[    0.044220] ACPI: APIC 0x000000007FFE237B 000090 (v03 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.044244] ACPI: HPET 0x000000007FFE240B 000038 (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.044267] ACPI: MCFG 0x000000007FFE2443 00003C (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.044289] ACPI: WAET 0x000000007FFE247F 000028 (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.044381] ACPI: Reserving FACP table memory at [mem 0x7ffe2287-0x7ffe237a]
[    0.044411] ACPI: Reserving DSDT table memory at [mem 0x7ffe0040-0x7ffe2286]
[    0.044417] ACPI: Reserving FACS table memory at [mem 0x7ffe0000-0x7ffe003f]
[    0.044424] ACPI: Reserving APIC table memory at [mem 0x7ffe237b-0x7ffe240a]
[    0.044430] ACPI: Reserving HPET table memory at [mem 0x7ffe240b-0x7ffe2442]
[    0.044435] ACPI: Reserving MCFG table memory at [mem 0x7ffe2443-0x7ffe247e]
[    0.044441] ACPI: Reserving WAET table memory at [mem 0x7ffe247f-0x7ffe24a6]
[    0.048084] Zone ranges:
[    0.048110]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.048180]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
[    0.048190]   Normal   [mem 0x0000000100000000-0x000000017fffffff]
[    0.048204] Movable zone start for each node
[    0.048231] Early memory node ranges
[    0.048256]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.048433]   node   0: [mem 0x0000000000100000-0x000000007ffd7fff]
[    0.048465]   node   0: [mem 0x0000000100000000-0x000000017fffffff]
[    0.048601] Initmem setup node 0 [mem 0x0000000000001000-0x000000017fffffff]
[    0.049475] On node 0, zone DMA: 1 pages in unavailable ranges
[    0.049944] On node 0, zone DMA: 97 pages in unavailable ranges
[    0.126385] On node 0, zone Normal: 40 pages in unavailable ranges
[    0.127082] ACPI: PM-Timer IO Port: 0x608
[    0.127579] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.128015] IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
[    0.128143] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.128433] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[    0.128475] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.128588] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[    0.128599] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[    0.128786] ACPI: Using ACPI (MADT) for SMP configuration information
[    0.128834] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.129214] CPU topo: Max. logical packages:   1
[    0.129228] CPU topo: Max. logical dies:       1
[    0.129238] CPU topo: Max. dies per package:   1
[    0.129297] CPU topo: Max. threads per core:   1
[    0.129512] CPU topo: Num. cores per package:     4
[    0.129528] CPU topo: Num. threads per package:   4
[    0.129537] CPU topo: Allowing 4 present CPUs plus 0 hotplug CPUs
[    0.130392] [mem 0xc0000000-0xfed1bfff] available for PCI devices
[    0.130483] Booting paravirtualized kernel on bare hardware
[    0.130889] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns
[    0.131399] setup_percpu: NR_CPUS:64 nr_cpumask_bits:4 nr_cpu_ids:4 nr_node_ids:1
[    0.134139] percpu: Embedded 53 pages/cpu s180184 r8192 d28712 u524288
[    0.136003] Kernel command line: root=/dev/vda rw  ip=dhcp console=ttyS0 console=ttyS1 oprofile.timer=1 tsc=reliable no_timer_check rcupdate.rcu_expedited=1 swiotlb=0 
[    0.138221] random: crng init done
[    0.138321] printk: log buffer data + meta data: 131072 + 458752 = 589824 bytes
[    0.139403] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.139958] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.143433] software IO TLB: area num 4.
[    0.143506] software IO TLB: SWIOTLB bounce buffer size roundup to 1MB
[    0.144424] Built 1 zonelists, mobility grouping on.  Total pages: 1048438
[    0.145212] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.164572] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.166480] Kernel/User page tables isolation: enabled
[    0.218277] ftrace: allocating 55512 entries in 220 pages
[    0.218515] ftrace: allocated 220 pages with 5 groups
[    0.224086] Dynamic Preempt: full
[    0.227426] rcu: Preemptible hierarchical RCU implementation.
[    0.227457] rcu: 	RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=4.
[    0.227595] 	All grace periods are expedited (rcu_expedited).
[    0.227625] 	Trampoline variant of Tasks RCU enabled.
[    0.227632] 	Rude variant of Tasks RCU enabled.
[    0.227639] 	Tracing variant of Tasks RCU enabled.
[    0.227783] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
[    0.227815] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.229081] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.229107] RCU Tasks Rude: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.229119] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.282787] NR_IRQS: 4352, nr_irqs: 456, preallocated irqs: 16
[    0.291411] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.296134] kfence: initialized - using 2097152 bytes for 255 objects at 0x(____ptrval____)-0x(____ptrval____)
[    0.301471] Console: colour VGA+ 80x25
[    0.303661] printk: legacy console [ttyS0] enabled
[    0.331634] ACPI: Core revision 20250807
[    0.337913] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns
[    0.343937] APIC: Switch to symmetric I/O mode setup
[    0.344716] x2apic: IRQ remapping doesn't support X2APIC mode
[    0.349095] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.350205] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x22981834780, max_idle_ns: 440795244252 ns
[    0.351045] Calibrating delay loop (skipped), value calculated using timer frequency.. 4799.93 BogoMIPS (lpj=2399967)
[    0.360106] Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
[    0.363174] Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0
[    0.364628] mitigations: Enabled attack vectors: user_kernel, user_user, SMT mitigations: auto
[    0.365620] Speculative Store Bypass: Vulnerable
[    0.367049] SRBDS: Unknown: Dependent on hypervisor status
[    0.367404] Spectre V2 : Mitigation: Retpolines
[    0.367655] RETBleed: Vulnerable
[    0.367924] ITS: Mitigation: Aligned branch/return thunks
[    0.368191] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    0.368514] MMIO Stale Data: Vulnerable: Clear CPU buffers attempted, no microcode
[    0.369006] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.369449] Spectre V2 : Spectre v2 / SpectreRSB: Filling RSB on context switch and VMEXIT
[    0.370388] GDS: Unknown: Dependent on hypervisor status
[    0.370657] active return thunk: its_return_thunk
[    0.378192] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[    0.381177] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.381897] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.382276] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.382621] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[    0.555267] Freeing SMP alternatives memory: 60K
[    0.556318] pid_max: default: 32768 minimum: 301
[    0.563846] LSM: initializing lsm=capability,landlock
[    0.565670] landlock: Up and running.
[    0.569276] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.569732] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.704884] smpboot: CPU0: Intel Core Processor (Skylake) (family: 0x6, model: 0x5e, stepping: 0x3)
[    0.716812] Performance Events: unsupported CPU family 6 model 94 no PMU driver, software events only.
[    0.717906] signal: max sigframe size: 1776
[    0.719527] rcu: Hierarchical SRCU implementation.
[    0.719753] rcu: 	Max phase no-delay instances is 400.
[    0.721148] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[    0.744993] smp: Bringing up secondary CPUs ...
[    0.751986] smpboot: x86: Booting SMP configuration:
[    0.752222] .... node  #0, CPUs:      #1 #2 #3
[    0.952082] smp: Brought up 1 node, 4 CPUs
[    0.954002] smpboot: Total of 4 processors activated (19203.74 BogoMIPS)
[    0.974218] Memory: 4074096K/4193752K available (20118K kernel code, 2440K rwdata, 6172K rodata, 3640K init, 1912K bss, 113492K reserved, 0K cma-reserved)
[    0.996978] devtmpfs: initialized
[    1.025011] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[    1.027200] posixtimers hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    1.028928] futex hash table entries: 1024 (65536 bytes on 1 NUMA nodes, total 64 KiB, linear).
[    1.034297] pinctrl core: initialized pinctrl subsystem
[    1.068789] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    1.085758] thermal_sys: Registered thermal governor 'step_wise'
[    1.087165] cpuidle: using governor menu
[    1.090444] PCI: ECAM [mem 0xb0000000-0xbfffffff] (base 0xb0000000) for domain 0000 [bus 00-ff]
[    1.091927] PCI: ECAM [mem 0xb0000000-0xbfffffff] reserved as E820 entry
[    1.093686] PCI: Using configuration type 1 for base access
[    1.094519] mtrr: your CPUs had inconsistent fixed MTRR settings
[    1.094764] mtrr: your CPUs had inconsistent variable MTRR settings
[    1.094906] mtrr: your CPUs had inconsistent MTRRdefType settings
[    1.095212] mtrr: probably your BIOS does not setup all CPUs.
[    1.095440] mtrr: corrected configuration.
[    1.097843] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    1.124820] raid6: avx2x4   gen()  2496 MB/s
[    1.141783] raid6: avx2x2   gen()  2620 MB/s
[    1.158778] raid6: avx2x1   gen()  2387 MB/s
[    1.158938] raid6: using algorithm avx2x2 gen() 2620 MB/s
[    1.175813] raid6: .... xor() 1424 MB/s, rmw enabled
[    1.176143] raid6: using avx2x2 recovery algorithm
[    1.180067] ACPI: Added _OSI(Module Device)
[    1.180253] ACPI: Added _OSI(Processor Device)
[    1.180441] ACPI: Added _OSI(Processor Aggregator Device)
[    1.207939] ACPI: 1 ACPI AML tables successfully acquired and loaded
[    1.232797] ACPI: Interpreter enabled
[    1.234101] ACPI: PM: (supports S0 S3 S5)
[    1.234295] ACPI: Using IOAPIC for interrupt routing
[    1.235717] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    1.235929] PCI: Using E820 reservations for host bridge windows
[    1.238067] ACPI: Enabled 2 GPEs in block 00 to 3F
[    1.273721] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    1.274408] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
[    1.276505] acpi PNP0A08:00: _OSC: platform does not support [LTR]
[    1.277748] acpi PNP0A08:00: _OSC: OS now controls [PME PCIeCapability]
[    1.281420] PCI host bridge to bus 0000:00
[    1.281800] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    1.282159] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    1.282444] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    1.282767] pci_bus 0000:00: root bus resource [mem 0x80000000-0xafffffff window]
[    1.282893] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window]
[    1.283174] pci_bus 0000:00: root bus resource [mem 0x180000000-0x97fffffff window]
[    1.283916] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.285832] pci 0000:00:00.0: [8086:29c0] type 00 class 0x060000 conventional PCI endpoint
[    1.291036] pci 0000:00:01.0: [1234:1111] type 00 class 0x030000 conventional PCI endpoint
[    1.293902] pci 0000:00:01.0: BAR 0 [mem 0xfd000000-0xfdffffff pref]
[    1.294217] pci 0000:00:01.0: BAR 2 [mem 0xfebd0000-0xfebd0fff]
[    1.294507] pci 0000:00:01.0: ROM [mem 0xfebc0000-0xfebcffff pref]
[    1.295072] pci 0000:00:01.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[    1.296105] pci 0000:00:02.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint
[    1.296932] pci 0000:00:02.0: BAR 0 [io  0xc0c0-0xc0df]
[    1.298900] pci 0000:00:02.0: BAR 1 [mem 0xfebd1000-0xfebd1fff]
[    1.299177] pci 0000:00:02.0: BAR 4 [mem 0x180000000-0x180003fff 64bit pref]
[    1.299543] pci 0000:00:02.0: ROM [mem 0xfeb80000-0xfebbffff pref]
[    1.300464] pci 0000:00:03.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint
[    1.302907] pci 0000:00:03.0: BAR 0 [io  0xc0e0-0xc0ff]
[    1.303167] pci 0000:00:03.0: BAR 1 [mem 0xfebd2000-0xfebd2fff]
[    1.303428] pci 0000:00:03.0: BAR 4 [mem 0x180004000-0x180007fff 64bit pref]
[    1.305376] pci 0000:00:04.0: [1af4:1001] type 00 class 0x010000 conventional PCI endpoint
[    1.306909] pci 0000:00:04.0: BAR 0 [io  0xc000-0xc07f]
[    1.307200] pci 0000:00:04.0: BAR 1 [mem 0xfebd3000-0xfebd3fff]
[    1.308897] pci 0000:00:04.0: BAR 4 [mem 0x180008000-0x18000bfff 64bit pref]
[    1.309793] pci 0000:00:1d.0: [8086:2934] type 00 class 0x0c0300 conventional PCI endpoint
[    1.310956] pci 0000:00:1d.0: BAR 4 [io  0xc100-0xc11f]
[    1.313368] pci 0000:00:1d.1: [8086:2935] type 00 class 0x0c0300 conventional PCI endpoint
[    1.314226] pci 0000:00:1d.1: BAR 4 [io  0xc120-0xc13f]
[    1.315304] pci 0000:00:1d.2: [8086:2936] type 00 class 0x0c0300 conventional PCI endpoint
[    1.315304] pci 0000:00:1d.2: BAR 4 [io  0xc140-0xc15f]
[    1.317250] pci 0000:00:1d.7: [8086:293a] type 00 class 0x0c0320 conventional PCI endpoint
[    1.318225] pci 0000:00:1d.7: BAR 0 [mem 0xfebd4000-0xfebd4fff]
[    1.319231] pci 0000:00:1f.0: [8086:2918] type 00 class 0x060100 conventional PCI endpoint
[    1.320121] pci 0000:00:1f.0: quirk: [io  0x0600-0x067f] claimed by ICH6 ACPI/GPIO/TCO
[    1.321058] pci 0000:00:1f.2: [8086:2922] type 00 class 0x010601 conventional PCI endpoint
[    1.321468] pci 0000:00:1f.2: BAR 4 [io  0xc160-0xc17f]
[    1.323909] pci 0000:00:1f.2: BAR 5 [mem 0xfebd5000-0xfebd5fff]
[    1.324711] pci 0000:00:1f.3: [8086:2930] type 00 class 0x0c0500 conventional PCI endpoint
[    1.325522] pci 0000:00:1f.3: BAR 4 [io  0x0700-0x073f]
[    1.330418] ACPI: PCI: Interrupt link LNKA configured for IRQ 10
[    1.331469] ACPI: PCI: Interrupt link LNKB configured for IRQ 10
[    1.332281] ACPI: PCI: Interrupt link LNKC configured for IRQ 11
[    1.333166] ACPI: PCI: Interrupt link LNKD configured for IRQ 11
[    1.333985] ACPI: PCI: Interrupt link LNKE configured for IRQ 10
[    1.335009] ACPI: PCI: Interrupt link LNKF configured for IRQ 10
[    1.335760] ACPI: PCI: Interrupt link LNKG configured for IRQ 11
[    1.336421] ACPI: PCI: Interrupt link LNKH configured for IRQ 11
[    1.337061] ACPI: PCI: Interrupt link GSIA configured for IRQ 16
[    1.337419] ACPI: PCI: Interrupt link GSIB configured for IRQ 17
[    1.337729] ACPI: PCI: Interrupt link GSIC configured for IRQ 18
[    1.338217] ACPI: PCI: Interrupt link GSID configured for IRQ 19
[    1.338547] ACPI: PCI: Interrupt link GSIE configured for IRQ 20
[    1.338840] ACPI: PCI: Interrupt link GSIF configured for IRQ 21
[    1.338975] ACPI: PCI: Interrupt link GSIG configured for IRQ 22
[    1.339305] ACPI: PCI: Interrupt link GSIH configured for IRQ 23
[    1.344097] iommu: Default domain type: Translated
[    1.344552] iommu: DMA domain TLB invalidation policy: lazy mode
[    1.347218] SCSI subsystem initialized
[    1.348641] ACPI: bus type USB registered
[    1.349443] usbcore: registered new interface driver usbfs
[    1.350260] usbcore: registered new interface driver hub
[    1.350682] usbcore: registered new device driver usb
[    1.351177] pps_core: LinuxPPS API ver. 1 registered
[    1.351428] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.351950] PTP clock support registered
[    1.366769] Bluetooth: Core ver 2.22
[    1.367130] NET: Registered PF_BLUETOOTH protocol family
[    1.367418] Bluetooth: HCI device and connection manager initialized
[    1.367974] Bluetooth: HCI socket layer initialized
[    1.368232] Bluetooth: L2CAP socket layer initialized
[    1.368619] Bluetooth: SCO socket layer initialized
[    1.378340] PCI: Using ACPI for IRQ routing
[    1.385515] pci 0000:00:01.0: vgaarb: setting as boot VGA device
[    1.385858] pci 0000:00:01.0: vgaarb: bridge control possible
[    1.385884] pci 0000:00:01.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[    1.385939] vgaarb: loaded
[    1.387271] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    1.387625] hpet0: 3 comparators, 64-bit 100.000000 MHz counter
[    1.391665] clocksource: Switched to clocksource tsc-early
[    1.399747] pnp: PnP ACPI init
[    1.404931] system 00:04: [mem 0xb0000000-0xbfffffff window] has been reserved
[    1.408392] pnp: PnP ACPI: found 5 devices
[    1.448993] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    1.450161] NET: Registered PF_INET protocol family
[    1.452430] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    1.462572] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    1.463156] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    1.463655] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    1.464449] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[    1.465431] TCP: Hash tables configured (established 32768 bind 32768)
[    1.466695] UDP hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    1.467448] UDP-Lite hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    1.469404] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    1.473202] RPC: Registered named UNIX socket transport module.
[    1.473603] RPC: Registered udp transport module.
[    1.473913] RPC: Registered tcp transport module.
[    1.474193] RPC: Registered tcp-with-tls transport module.
[    1.474515] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.475730] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[    1.476183] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[    1.476553] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
[    1.477009] pci_bus 0000:00: resource 7 [mem 0x80000000-0xafffffff window]
[    1.477413] pci_bus 0000:00: resource 8 [mem 0xc0000000-0xfebfffff window]
[    1.477796] pci_bus 0000:00: resource 9 [mem 0x180000000-0x97fffffff window]
[    1.483436] ACPI: \_SB_.GSIA: Enabled at IRQ 16
[    1.490595] pci 0000:00:1d.0: quirk_usb_early_handoff+0x0/0x730 took 11461 usecs
[    1.493046] ACPI: \_SB_.GSIB: Enabled at IRQ 17
[    1.497489] ACPI: \_SB_.GSIC: Enabled at IRQ 18
[    1.501748] ACPI: \_SB_.GSID: Enabled at IRQ 19
[    1.505954] PCI: CLS 0 bytes, default 64
[    1.506804] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    1.507361] software IO TLB: mapped [mem 0x000000007fed8000-0x000000007ffd8000] (1MB)
[    1.508740] RAPL PMU: API unit is 2^-32 Joules, 0 fixed counters, 10737418240 ms ovfl timer
[    1.729788] Initialise system trusted keyrings
[    1.732173] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    1.736446] NFS: Registering the id_resolver key type
[    1.737005] Key type id_resolver registered
[    1.737215] Key type id_legacy registered
[    1.741699] Key type cifs.idmap registered
[    1.811720] xor: automatically using best checksumming function   avx       
[    1.812142] Key type asymmetric registered
[    1.812445] Asymmetric key parser 'x509' registered
[    1.812956] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[    1.813392] io scheduler mq-deadline registered
[    1.813755] io scheduler kyber registered
[    1.814264] io scheduler bfq registered
[    1.818359] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
[    1.825544] ACPI: button: Power Button [PWRF]
[    1.841739] ACPI: \_SB_.GSIG: Enabled at IRQ 22
[    1.854501] ACPI: \_SB_.GSIH: Enabled at IRQ 23
[    1.862224] ACPI: \_SB_.GSIE: Enabled at IRQ 20
[    1.866686] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    1.876751] 00:01: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
[    1.880836] 00:02: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    1.904170] Linux agpgart interface v0.103
[    1.906137] ACPI: bus type drm_connector registered
[    1.908066] bochs-drm 0000:00:01.0: vgaarb: deactivate vga console
[    1.910150] Console: switching to colour dummy device 80x25
[    1.913302] [drm] Found bochs VGA, ID 0xb0c5.
[    1.913513] [drm] Framebuffer size 16384 kB @ 0xfd000000, mmio @ 0xfebd0000.
[    1.920201] [drm] Initialized bochs-drm 1.0.0 for 0000:00:01.0 on minor 0
[    1.949028] fbcon: bochs-drmdrmfb (fb0) is primary device
[    1.974388] Console: switching to colour frame buffer device 160x50
[    1.990521] bochs-drm 0000:00:01.0: [drm] fb0: bochs-drmdrmfb frame buffer device
[    2.043842] brd: module loaded
[    2.057358] loop: module loaded
[    2.058223] virtio_blk virtio2: 4/0/0 default/read/poll queues
[    2.063253] virtio_blk virtio2: [vda] 4947406 512-byte logical blocks (2.53 GB/2.36 GiB)
[    2.080160] ahci 0000:00:1f.2: AHCI vers 0001.0000, 32 command slots, 1.5 Gbps, SATA mode
[    2.080517] ahci 0000:00:1f.2: 6/6 ports implemented (port mask 0x3f)
[    2.080828] ahci 0000:00:1f.2: flags: 64bit ncq only 
[    2.088310] scsi host0: ahci
[    2.091497] scsi host1: ahci
[    2.093249] scsi host2: ahci
[    2.094784] scsi host3: ahci
[    2.096260] scsi host4: ahci
[    2.097768] scsi host5: ahci
[    2.098643] ata1: SATA max UDMA/133 abar m4096@0xfebd5000 port 0xfebd5100 irq 31 lpm-pol 1
[    2.099004] ata2: SATA max UDMA/133 abar m4096@0xfebd5000 port 0xfebd5180 irq 31 lpm-pol 1
[    2.099286] ata3: SATA max UDMA/133 abar m4096@0xfebd5000 port 0xfebd5200 irq 31 lpm-pol 1
[    2.099575] ata4: SATA max UDMA/133 abar m4096@0xfebd5000 port 0xfebd5280 irq 31 lpm-pol 1
[    2.099884] ata5: SATA max UDMA/133 abar m4096@0xfebd5000 port 0xfebd5300 irq 31 lpm-pol 1
[    2.100167] ata6: SATA max UDMA/133 abar m4096@0xfebd5000 port 0xfebd5380 irq 31 lpm-pol 1
[    2.107737] e100: Intel(R) PRO/100 Network Driver
[    2.108035] e100: Copyright(c) 1999-2006 Intel Corporation
[    2.108471] e1000: Intel(R) PRO/1000 Network Driver
[    2.108653] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    2.109032] e1000e: Intel(R) PRO/1000 Network Driver
[    2.109339] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    2.109711] igb: Intel(R) Gigabit Ethernet Network Driver
[    2.111285] igb: Copyright (c) 2007-2014 Intel Corporation.
[    2.120378] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    2.122427] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
[    2.123661] uhci_hcd 0000:00:1d.0: irq 16, io port 0x0000c100
[    2.131690] hub 1-0:1.0: USB hub found
[    2.132439] hub 1-0:1.0: 2 ports detected
[    2.148587] ehci-pci 0000:00:1d.7: EHCI Host Controller
[    2.149469] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 2
[    2.154780] ehci-pci 0000:00:1d.7: irq 19, io mem 0xfebd4000
[    2.161431] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    2.165063] hub 2-0:1.0: USB hub found
[    2.166115] hub 2-0:1.0: 6 ports detected
[    2.192612] hub 1-0:1.0: USB hub found
[    2.193302] hub 1-0:1.0: 2 ports detected
[    2.195842] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[    2.196831] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
[    2.198289] uhci_hcd 0000:00:1d.1: irq 17, io port 0x0000c120
[    2.201630] hub 3-0:1.0: USB hub found
[    2.202266] hub 3-0:1.0: 2 ports detected
[    2.213105] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    2.214022] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
[    2.215235] uhci_hcd 0000:00:1d.2: irq 18, io port 0x0000c140
[    2.218536] hub 4-0:1.0: USB hub found
[    2.219155] hub 4-0:1.0: 2 ports detected
[    2.223714] usbcore: registered new interface driver usb-storage
[    2.226257] usbcore: registered new interface driver usbserial_generic
[    2.227753] usbserial: USB Serial support registered for generic
[    2.228842] usbcore: registered new interface driver ftdi_sio
[    2.229570] usbserial: USB Serial support registered for FTDI USB Serial Device
[    2.230847] usbcore: registered new interface driver pl2303
[    2.231500] usbserial: USB Serial support registered for pl2303
[    2.233573] i8042: PNP: No PS/2 controller found.
[    2.235793] mousedev: PS/2 mouse device common for all mice
[    2.241075] rtc_cmos 00:03: RTC can wake from S4
[    2.250639] rtc_cmos 00:03: registered as rtc0
[    2.252619] rtc_cmos 00:03: setting system clock to 2026-04-13T21:08:24 UTC (1776114504)
[    2.258139] rtc_cmos 00:03: alarms up to one day, y3k, 242 bytes nvram, hpet irqs
[    2.263665] device-mapper: ioctl: 4.50.0-ioctl (2025-04-28) initialised: dm-devel@lists.linux.dev
[    2.266706] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt
[    2.266896] intel_pstate: CPU model not supported
[    2.268530] sdhci: Secure Digital Host Controller Interface driver
[    2.269167] sdhci: Copyright(c) Pierre Ossman
[    2.269976] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.273567] usbcore: registered new interface driver usbhid
[    2.274131] usbhid: USB HID core driver
[    2.274662] i2c i2c-0: Memory type 0x07 not supported yet, not instantiating SPD
[    2.275070] u32 classifier
[    2.275922]     input device check on
[    2.276204]     Actions configured
[    2.281142] NET: Registered PF_INET6 protocol family
[    2.289322] Segment Routing with IPv6
[    2.289697] In-situ OAM (IOAM) with IPv6
[    2.290645] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.293620] NET: Registered PF_PACKET protocol family
[    2.294436] Bridge firewalling registered
[    2.295634] l2tp_core: L2TP core driver, V2.0
[    2.296936] Key type dns_resolver registered
[    2.297716] NET: Registered PF_VSOCK protocol family
[    2.303483] IPI shorthand broadcast: enabled
[    2.335730] sched_clock: Marking stable (2284032763, 50837330)->(2340961459, -6091366)
[    2.340544] registered taskstats version 1
[    2.344712] Loading compiled-in X.509 certificates
[    2.379215] Key type .fscrypt registered
[    2.379448] Key type fscrypt-provisioning registered
[    2.382666] Btrfs loaded, zoned=no, fsverity=no
[    2.409371] usb 2-1: new high-speed USB device number 2 using ehci-pci
[    2.413716] Key type encrypted registered
[    2.422168] ata1: SATA link down (SStatus 0 SControl 300)
[    2.425638] netconsole: network logging started
[    2.426560] ata6: SATA link down (SStatus 0 SControl 300)
[    2.428656] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.436590] ata3.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100
[    2.437802] ata3.00: applying bridge limits
[    2.440292] ata4: SATA link down (SStatus 0 SControl 300)
[    2.441366] ata5: SATA link down (SStatus 0 SControl 300)
[    2.443162] ata3.00: configured for UDMA/100
[    2.445042] ata2: SATA link down (SStatus 0 SControl 300)
[    2.458563] scsi 2:0:0:0: CD-ROM            QEMU     QEMU DVD-ROM     2.5+ PQ: 0 ANSI: 5
[    2.487533] sr 2:0:0:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray
[    2.488647] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.552132] tsc: Refined TSC clocksource calibration: 2399.966 MHz
[    2.553399] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2298175413e, max_idle_ns: 440795286378 ns
[    2.555042] clocksource: Switched to clocksource tsc
[    2.560221] Sending DHCP requests ., OK
[    2.576556] IP-Config: Got DHCP answer from 10.0.2.2, my address is 10.0.2.15
[    2.577192] IP-Config: Complete:
[    2.577334]      device=eth0, hwaddr=52:54:00:12:35:04, ipaddr=10.0.2.15, mask=255.255.255.0, gw=10.0.2.2
[    2.578533]      host=10.0.2.15, domain=, nis-domain=(none)
[    2.579328]      bootserver=10.0.2.2, rootserver=10.0.2.2, rootpath=
[    2.579447]      nameserver0=10.0.2.3
[    2.591408] clk: Disabling unused clocks
[    2.593927] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/0003:0627:0001.0001/input/input1
[    2.595981] hid-generic 0003:0627:0001.0001: input: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:1d.7-1/input0
[    2.607409] md: Waiting for all devices to be available before autodetect
[    2.608617] md: If you don't use raid, use raid=noautodetect
[    2.609405] md: Autodetecting RAID arrays.
[    2.609778] md: autorun ...
[    2.610119] md: ... autorun DONE.
[    2.682672] EXT4-fs (vda): mounted filesystem 4de704ff-078c-4712-84b3-3effa40ace01 r/w with ordered data mode. Quota mode: disabled.
[    2.683564] VFS: Mounted root (ext4 filesystem) on device 253:0.
[    2.685480] devtmpfs: mounted
[    2.709089] usb 2-2: new high-speed USB device number 3 using ehci-pci
[    2.830936] Freeing unused kernel image (initmem) memory: 3640K
[    2.831943] Write protecting the kernel read-only data: 28672k
[    2.834011] Freeing unused kernel image (text/rodata gap) memory: 360K
[    2.835938] Freeing unused kernel image (rodata/data gap) memory: 2020K
[    2.837419] Run /sbin/init as init process
[    2.859213] input: QEMU QEMU USB Keyboard as /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/0003:0627:0001.0002/input/input2
[    2.922106] hid-generic 0003:0627:0001.0002: input: USB HID v1.11 Keyboard [QEMU QEMU USB Keyboard] on usb-0000:00:1d.7-2/input0
[    3.701360] systemd[1]: systemd 259.5 running in system mode (-PAM -AUDIT -SELINUX -APPARMOR +IMA +IPE -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN +KMOD -LIBCRYPTSETUP -LIBCRYPTSETUP_PLUGINS +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -TPM2 -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK -BTF +XKBCOMMON +UTMP -SYSVINIT -LIBARCHIVE)
[    3.702989] systemd[1]: Detected virtualization qemu.
[    3.703638] systemd[1]: Detected architecture x86-64.

Welcome to OpenEmbedded nodistro.0!

[    3.718568] systemd[1]: Initializing machine ID from random generator.
[    3.760831] systemd[1]: Hostname set to <qemux86-64>.
[    5.178180] systemd[1]: Queued start job for default target Multi-User System.
[    5.223331] systemd[1]: Created slice Slice /system/getty.
[  OK  ] Created slice Slice /system/getty.
[    5.233120] systemd[1]: Created slice Slice /system/modprobe.
[  OK  ] Created slice Slice /system/modprobe.
[    5.239707] systemd[1]: Created slice Slice /system/serial-getty.
[  OK  ] Created slice Slice /system/serial-getty.
[    5.245597] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[    5.250363] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[    5.253478] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[    5.256503] systemd[1]: Expecting device /dev/ttyS0...
         Expecting device /dev/ttyS0...
[    5.258303] systemd[1]: Expecting device /dev/ttyS1...
         Expecting device /dev/ttyS1...
[    5.260204] systemd[1]: Reached target Path Units.
[  OK  ] Reached target Path Units.
[    5.261813] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    5.263497] systemd[1]: Reached target Slice Units.
[  OK  ] Reached target Slice Units.
[    5.265175] systemd[1]: Reached target Swaps.
[  OK  ] Reached target Swaps.
[    5.270623] systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[    5.286388] systemd[1]: Listening on Query the User Interactively for a Password.
[  OK  ] Listening on Query the User Interactively for a Password.
[    5.298235] systemd[1]: Listening on Credential Encryption/Decryption.
[  OK  ] Listening on Credential Encryption/Decryption.
[    5.313080] systemd[1]: Listening on Factory Reset Management.
[  OK  ] Listening on Factory Reset Management.
[    5.318116] systemd[1]: Journal Audit Socket skipped, unmet condition check ConditionSecurity=audit
[    5.320693] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[    5.324126] systemd[1]: Listening on Journal Sockets.
[  OK  ] Listening on Journal Sockets.
[    5.339729] systemd[1]: Listening on Console Output Muting Service Socket.
[  OK  ] Listening on Console Output Muting Service Socket.
[    5.345273] systemd[1]: Listening on Network Management Resolve Hook Socket.
[  OK  ] Listening on Network Management Resolve Hook Socket.
[    5.350423] systemd[1]: Listening on Network Management Varlink Socket.
[  OK  ] Listening on Network Management Varlink Socket.
[    5.355305] systemd[1]: Listening on Network Management Netlink Socket.
[  OK  ] Listening on Network Management Netlink Socket.
[    5.358416] systemd[1]: Listening on Resolve Monitor Varlink Socket.
[  OK  ] Listening on Resolve Monitor Varlink Socket.
[    5.361166] systemd[1]: Listening on Resolve Service Varlink Socket.
[  OK  ] Listening on Resolve Service Varlink Socket.
[    5.364801] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[    5.367417] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[    5.370112] systemd[1]: Listening on udev Varlink Socket.
[  OK  ] Listening on udev Varlink Socket.
[    5.372808] systemd[1]: Listening on User Database Manager Socket.
[  OK  ] Listening on User Database Manager Socket.
[    5.377260] systemd[1]: Huge Pages File System skipped, unmet condition check ConditionPathExists=/sys/kernel/mm/hugepages
[    5.408026] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[    5.425743] systemd[1]: Mounting Kernel Debug File System...
         Mounting Kernel Debug File System...
[    5.444724] systemd[1]: Mounting Kernel Trace File System...
         Mounting Kernel Trace File System...
[    5.455226] systemd[1]: tmp.mount: x-systemd.graceful-option=usrquota specified, but option is not available, suppressing.
[    5.491005] systemd[1]: Mounting Temporary Directory /tmp...
         Mounting Temporary Directory /tmp...
[    5.501530] systemd[1]: Create List of Static Device Nodes skipped, unmet condition check ConditionFileNotEmpty=/lib/modules/6.18.13-yocto-standard/modules.devname
[    5.522374] systemd[1]: Starting Load Kernel Module configfs...
         Starting Load Kernel Module configfs...
[    5.533202] systemd[1]: Load Kernel Module drm skipped, unmet condition check ConditionKernelModuleLoaded=!drm
[    5.549325] systemd[1]: Starting Load Kernel Module fuse...
         Starting Load Kernel Module fuse...
[    5.550988] systemd[1]: File System Check on Root Device skipped, unmet condition check ConditionPathIsReadWrite=!/
[    5.586717] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[    5.593662] systemd[1]: Load Kernel Modules skipped, no trigger condition checks were met.
[    5.605249] systemd[1]: Starting Generate Network Units from Kernel Command Line...
         Starting Generate Network Units from Kernel Command Line...
[    5.616750] systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[    5.629982] systemd[1]: Starting Apply Kernel Variables...
         Starting Apply Kernel Variables...
[    5.653574] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...
         Starting Create Static Device Nodes in /dev gracefully...
[    5.682508] systemd[1]: Starting Load udev Rules from Credentials...
         Starting Load udev Rules from Credentials...
[    5.710737] systemd[1]: Starting Coldplug All udev Devices...
         Starting Coldplug All udev Devices...
[    5.785800] EXT4-fs (vda): re-mounted 4de704ff-078c-4712-84b3-3effa40ace01.
[    5.823539] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted POSIX Message Queue File System.
[    5.827260] systemd[1]: Mounted Kernel Debug File System.
[  OK  ] Mounted Kernel Debug File System.
[    5.830647] systemd[1]: Mounted Kernel Trace File System.
[  OK  ] Mounted Kernel Trace File System.
[    5.834046] systemd[1]: Mounted Temporary Directory /tmp.
[  OK  ] Mounted Temporary Directory /tmp.
[    5.843618] systemd[1]: modprobe@configfs.service: Deactivated successfully.
[    5.851980] systemd[1]: Finished Load Kernel Module configfs.
[  OK  ] Finished Load Kernel Module configfs.
[    5.864033] systemd[1]: modprobe@fuse.service: Deactivated successfully.
[    5.869235] systemd[1]: Finished Load Kernel Module fuse.
[  OK  ] Finished Load Kernel Module fuse.
[    5.883544] systemd[1]: Finished Generate Network Units from Kernel Command Line.
[  OK  ] Finished Generate Network Units from Kernel Command Line.
[    5.898090] systemd[1]: Finished Remount Root and Kernel File Systems.
[  OK  ] Finished Remount Root and Kernel File Systems.
[    5.905151] systemd[1]: Finished Apply Kernel Variables.
[  OK  ] Finished Apply Kernel Variables.
[    5.914047] systemd[1]: Finished Load udev Rules from Credentials.
[  OK  ] Finished Load udev Rules from Credentials.
[    5.921391] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.
[  OK  ] Finished Create Static Device Nodes in /dev gracefully.
[    5.928387] systemd-journald[129]: Collecting audit messages is disabled.
[    5.929361] systemd[1]: Reached target Preparation for Network.
[  OK  ] Reached target Preparation for Network.
[    5.932964] systemd[1]: Rebuild Hardware Database skipped, no trigger condition checks were met.
[    5.947088] systemd[1]: Starting Create System Users...
         Starting Create System Users...
[    6.114080] systemd[1]: Starting User Database Manager...
         Starting User Database Manager...
[    6.473734] systemd[1]: Started User Database Manager.
[  OK  ] Started User Database Manager.
[    6.531088] systemd[1]: Finished Create System Users.
[  OK  ] Finished Create System Users.
[    6.553802] systemd[1]: Starting Network Name Resolution...
         Starting Network Name Resolution...
[    6.573821] systemd[1]: Starting Network Time Synchronization...
         Starting Network Time Synchronization...
[    6.601940] systemd[1]: Starting Create Static Device Nodes in /dev...
         Starting Create Static Device Nodes in /dev...
[    6.676093] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
         Starting Flush Journal to Persistent Storage...
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Preparation for Local File Systems.
         Mounting /var/volatile...
         Starting Rule-based Manager for Device Events and Files...
[    6.920667] systemd-journald[129]: Received client request to flush runtime journal.
[  OK  ] Finished Flush Journal to Persistent Storage.
[  OK  ] Mounted /var/volatile.
         Starting Load/Save OS Random Seed...
[  OK  ] Reached target Local File Systems.
         Starting Create System Files and Directories...
         Starting Load JSON user/group Records from Credentials...
[  OK  ] Finished Load/Save OS Random Seed.
lroot@qemux86-64:/usr/lib/go/ptest# ls -l
-rw-r--r--    1 root     root             9 Apr  5  2011 VERSION
drwxr-xr-x    3 root     root          4096 Apr  5  2011 pkg
-rwxr-xr-x    1 root     root           728 Apr 13 21:09 run-ptest
drwxr-xr-x   57 root     root          4096 Apr  5  2011 src
root@qemux86-64:/usr/lib/go/ptest# ls src/
Make.dist       bootstrap.bash  clean.rc        crypto          flag            image           make.bat        path            run.bat         strings         time
README.vendor   bufio           cmd             database        fmt             index           make.rc         plugin          run.rc          structs         unicode
all.bash        buildall.bash   cmp             debug           go              internal        maps            race.bash       runtime         sync            unique
all.bat         builtin         cmp.bash        embed           go.mod          io              math            race.bat        simd            syscall         unsafe
all.rc          bytes           compress        encoding        go.sum          iter            mime            reflect         slices          testdata        vendor
archive         clean.bash      container       errors          hash            log             net             regexp          sort            testing         weak
arena           clean.bat       context         expvar          html            make.bash       os              run.bash        strconv         text
lroot@qemux86-64:/usr/lib/go/ptest# ls
VERSION    pkg        run-ptest  src
root@qemux86-64:/usr/lib/go/ptest# ptest-runner -t 3600 go
START: ptest-runner
2026-04-13T21:09
BEGIN: /usr/lib/go/ptest
PASS: archive/tar
PASS: archive/zip
PASS: bufio
PASS: bytes
PASS: cmp
PASS: compress/bzip2
PASS: compress/flate
PASS: compress/gzip
PASS: compress/lzw
PASS: compress/zlib
PASS: container/heap
PASS: container/list
PASS: container/ring
PASS: context
PASS: crypto
PASS: crypto/aes
PASS: crypto/cipher
PASS: crypto/des
PASS: crypto/dsa
PASS: crypto/ecdh
PASS: crypto/ecdsa
PASS: crypto/ed25519
PASS: crypto/elliptic
PASS: crypto/fips140
PASS: crypto/hkdf
PASS: crypto/hmac
PASS: crypto/hpke
PASS: crypto/internal/boring
PASS: crypto/internal/boring/bbig
PASS: crypto/internal/boring/bcache
PASS: crypto/internal/boring/sig
PASS: crypto/internal/constanttime
PASS: crypto/internal/cryptotest
PASS: crypto/internal/entropy
PASS: crypto/internal/entropy/v1.0.0
PASS: crypto/internal/fips140
PASS: crypto/internal/fips140/aes
PASS: crypto/internal/fips140/aes/gcm
PASS: crypto/internal/fips140/alias
PASS: crypto/internal/fips140/bigmod
PASS: crypto/internal/fips140/check
PASS: crypto/internal/fips140/check/checktest
PASS: crypto/internal/fips140/drbg
PASS: crypto/internal/fips140/ecdh
PASS: crypto/internal/fips140/ecdsa
PASS: crypto/internal/fips140/ed25519
PASS: crypto/internal/fips140/edwards25519
PASS: crypto/internal/fips140/edwards25519/field
PASS: crypto/internal/fips140/hkdf
PASS: crypto/internal/fips140/hmac
PASS: crypto/internal/fips140/mldsa
PASS: crypto/internal/fips140/mlkem
PASS: crypto/internal/fips140/nistec
PASS: crypto/internal/fips140/nistec/fiat
PASS: crypto/internal/fips140/pbkdf2
PASS: crypto/internal/fips140/rsa
PASS: crypto/internal/fips140/sha256
PASS: crypto/internal/fips140/sha3
PASS: crypto/internal/fips140/sha512
PASS: crypto/internal/fips140/ssh
PASS: crypto/internal/fips140/subtle
PASS: crypto/internal/fips140/tls12
PASS: crypto/internal/fips140/tls13
PASS: crypto/internal/fips140cache
PASS: crypto/internal/fips140deps
PASS: crypto/internal/fips140deps/byteorder
PASS: crypto/internal/fips140deps/cpu
PASS: crypto/internal/fips140deps/godebug
PASS: crypto/internal/fips140deps/time
PASS: crypto/internal/fips140hash
PASS: crypto/internal/fips140only
PASS: crypto/internal/fips140test
PASS: crypto/internal/impl
PASS: crypto/internal/rand
PASS: crypto/internal/randutil
PASS: crypto/internal/sysrand
PASS: crypto/internal/sysrand/internal/seccomp
PASS: crypto/md5
PASS: crypto/mlkem
PASS: crypto/mlkem/mlkemtest
PASS: crypto/pbkdf2
PASS: crypto/rand
PASS: crypto/rc4
PASS: crypto/rsa
PASS: crypto/sha1
PASS: crypto/sha256
PASS: crypto/sha3
PASS: crypto/sha512
PASS: crypto/subtle
PASS: crypto/tls
PASS: crypto/tls/internal/fips140tls
PASS: crypto/x509
PASS: crypto/x509/pkix
PASS: database/sql
PASS: database/sql/driver
PASS: debug/buildinfo
SKIP: debug/dwarf
SKIP: debug/elf
PASS: debug/gosym
PASS: debug/macho
SKIP: debug/pe
SKIP: debug/plan9obj
PASS: embed
PASS: embed/internal/embedtest
PASS: encoding
PASS: encoding/ascii85
PASS: encoding/asn1
PASS: encoding/base32
PASS: encoding/base64
PASS: encoding/binary
PASS: encoding/csv
PASS: encoding/gob
PASS: encoding/hex
PASS: encoding/json
PASS: encoding/pem
PASS: encoding/xml
PASS: errors
PASS: expvar
PASS: flag
PASS: fmt
PASS: go/ast
PASS: go/build
PASS: go/build/constraint
PASS: go/constant
PASS: go/doc
PASS: go/doc/comment
PASS: go/format
PASS: go/importer
PASS: go/internal/gccgoimporter
PASS: go/internal/gcimporter
PASS: go/internal/scannerhooks
PASS: go/internal/srcimporter
PASS: go/parser
PASS: go/printer
PASS: go/scanner
PASS: go/token
SKIP: go/types
PASS: go/version
PASS: hash
PASS: hash/adler32
PASS: hash/crc32
PASS: hash/crc64
PASS: hash/fnv
PASS: hash/maphash
PASS: html
PASS: html/template
PASS: image
PASS: image/color
PASS: image/color/palette
PASS: image/draw
PASS: image/gif
PASS: image/internal/imageutil
PASS: image/jpeg
PASS: image/png
PASS: index/suffixarray
PASS: internal/abi
PASS: internal/asan
PASS: internal/bisect
PASS: internal/buildcfg
PASS: internal/bytealg
PASS: internal/byteorder
PASS: internal/cfg
PASS: internal/cgrouptest
PASS: internal/chacha8rand
PASS: internal/copyright
PASS: internal/coverage
PASS: internal/coverage/calloc
PASS: internal/coverage/cfile
PASS: internal/coverage/cformat
PASS: internal/coverage/cmerge
PASS: internal/coverage/decodecounter
PASS: internal/coverage/decodemeta
PASS: internal/coverage/encodecounter
PASS: internal/coverage/encodemeta
PASS: internal/coverage/pods
PASS: internal/coverage/rtcov
PASS: internal/coverage/slicereader
PASS: internal/coverage/slicewriter
PASS: internal/coverage/stringtab
PASS: internal/coverage/test
PASS: internal/coverage/uleb128
PASS: internal/cpu
PASS: internal/dag
PASS: internal/diff
PASS: internal/exportdata
PASS: internal/filepathlite
PASS: internal/fmtsort
PASS: internal/fuzz
PASS: internal/goarch
PASS: internal/godebug
PASS: internal/godebugs
PASS: internal/goexperiment
PASS: internal/goos
PASS: internal/goroot
PASS: internal/gover
PASS: internal/goversion
PASS: internal/lazyregexp
PASS: internal/lazytemplate
PASS: internal/msan
PASS: internal/nettrace
PASS: internal/obscuretestdata
PASS: internal/oserror
PASS: internal/pkgbits
PASS: internal/platform
PASS: internal/poll
PASS: internal/profile
PASS: internal/profilerecord
PASS: internal/race
PASS: internal/reflectlite
PASS: internal/runtime/atomic
PASS: internal/runtime/cgobench
PASS: internal/runtime/cgroup
PASS: internal/runtime/exithook
PASS: internal/runtime/gc
PASS: internal/runtime/gc/internal/gen
PASS: internal/runtime/gc/scan
PASS: internal/runtime/maps
PASS: internal/runtime/math
PASS: internal/runtime/pprof/label
PASS: internal/runtime/startlinetest
PASS: internal/runtime/sys
PASS: internal/runtime/syscall/linux
PASS: internal/runtime/wasitest
PASS: internal/saferio
PASS: internal/singleflight
PASS: internal/strconv
PASS: internal/stringslite
PASS: internal/sync
PASS: internal/synctest
PASS: internal/syscall/execenv
PASS: internal/syscall/unix
PASS: internal/sysinfo
PASS: internal/syslist
PASS: internal/testenv
PASS: internal/testhash
PASS: internal/testlog
PASS: internal/testpty
PASS: internal/trace
PASS: internal/trace/internal/testgen
PASS: internal/trace/internal/tracev1
PASS: internal/trace/raw
PASS: internal/trace/testtrace
PASS: internal/trace/tracev2
PASS: internal/trace/traceviewer
PASS: internal/trace/traceviewer/format
PASS: internal/trace/version
PASS: internal/txtar
PASS: internal/types/errors
PASS: internal/unsafeheader
SKIP: internal/xcoff
PASS: internal/zstd
PASS: io
PASS: io/fs
PASS: io/ioutil
PASS: iter
PASS: log
PASS: log/internal
PASS: log/slog
PASS: log/slog/internal
PASS: log/slog/internal/benchmarks
PASS: log/slog/internal/buffer
PASS: log/syslog
PASS: maps
PASS: math
PASS: math/big
PASS: math/big/internal/asmgen
PASS: math/bits
PASS: math/cmplx
PASS: math/rand
PASS: math/rand/v2
PASS: mime
PASS: mime/multipart
PASS: mime/quotedprintable
PASS: net
SKIP: net/http
PASS: net/http/cgi
PASS: net/http/cookiejar
PASS: net/http/fcgi
PASS: net/http/httptest
PASS: net/http/httptrace
PASS: net/http/httputil
PASS: net/http/internal
PASS: net/http/internal/ascii
PASS: net/http/internal/httpcommon
PASS: net/http/internal/testcert
PASS: net/http/pprof
PASS: net/internal/cgotest
PASS: net/internal/socktest
PASS: net/mail
PASS: net/netip
PASS: net/rpc
PASS: net/rpc/jsonrpc
PASS: net/smtp
PASS: net/textproto
PASS: net/url
PASS: os
PASS: os/exec
PASS: os/exec/internal/fdtest
PASS: os/signal
PASS: os/user
PASS: path
PASS: path/filepath
PASS: plugin
PASS: reflect
PASS: reflect/internal/example1
PASS: reflect/internal/example2
PASS: regexp
PASS: regexp/syntax
SKIP: runtime
PASS: runtime/cgo
PASS: runtime/coverage
PASS: runtime/debug
PASS: runtime/metrics
PASS: runtime/pprof
PASS: runtime/race
PASS: runtime/race/internal/amd64v1
PASS: runtime/trace
PASS: slices
PASS: sort
PASS: strconv
PASS: strings
PASS: structs
PASS: sync
PASS: sync/atomic
PASS: syscall
SKIP: testing
PASS: testing/cryptotest
PASS: testing/fstest
PASS: testing/internal/testdeps
PASS: testing/iotest
PASS: testing/quick
PASS: testing/slogtest
PASS: testing/synctest
PASS: text/scanner
PASS: text/tabwriter
PASS: text/template
PASS: text/template/parse
SKIP: time
PASS: time/tzdata
PASS: unicode
PASS: unicode/utf16
PASS: unicode/utf8
PASS: unique
PASS: unsafe
PASS: vendor/golang.org/x/crypto/chacha20
PASS: vendor/golang.org/x/crypto/chacha20poly1305
PASS: vendor/golang.org/x/crypto/cryptobyte
PASS: vendor/golang.org/x/crypto/cryptobyte/asn1
PASS: vendor/golang.org/x/crypto/internal/alias
PASS: vendor/golang.org/x/crypto/internal/poly1305
PASS: vendor/golang.org/x/net/dns/dnsmessage
PASS: vendor/golang.org/x/net/http/httpguts
PASS: vendor/golang.org/x/net/http/httpproxy
PASS: vendor/golang.org/x/net/http2/hpack
PASS: vendor/golang.org/x/net/idna
PASS: vendor/golang.org/x/net/nettest
PASS: vendor/golang.org/x/sys/cpu
PASS: vendor/golang.org/x/text/secure/bidirule
PASS: vendor/golang.org/x/text/transform
PASS: vendor/golang.org/x/text/unicode/bidi
PASS: vendor/golang.org/x/text/unicode/norm
PASS: weak
DURATION: 3993
END: /usr/lib/go/ptest
2026-04-13T22:16
STOP: ptest-runner
TOTAL: 1 FAIL: 0
root@qemux86-64:/usr/lib/go/ptest# 

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

* Re: [OE-core][PATCH v3] go: add ptest support
  2026-04-13 22:37         ` Pratik Farkase
@ 2026-04-14 10:10           ` Jose Quaresma
  2026-04-14 10:32             ` Pratik Farkase
  0 siblings, 1 reply; 17+ messages in thread
From: Jose Quaresma @ 2026-04-14 10:10 UTC (permalink / raw)
  To: pratik.farkase
  Cc: Marko, Peter, Mathieu Dubois-Briand,
	openembedded-core@lists.openembedded.org,
	pratik.farkase@ericsson.com

[-- Attachment #1: Type: text/plain, Size: 6400 bytes --]

Hi Pratik,

Can you please rebase on the master tip that has the golang 1.26.2.

Jose

Pratik Farkase via lists.openembedded.org <pratik.farkase=
est.tech@lists.openembedded.org> escreveu (segunda, 13/04/2026 à(s) 23:37):

> Hi Peter,
>
> Thanks for the suggestion to use QB_MEM override in core-image-ptest.bb!
> Great to have these multiconfig settings already which i was not aware of.
> I have sent a v5 patch after testing it locally. It will run full go
> testsuite and the total run time is around ~66 minutes.
>
> Attached the test results here along with qemu boot log.
>
> Best Regards,
> Pratik
>
> ________________________________________
> From: Marko, Peter <Peter.Marko@siemens.com>
> Sent: Monday, April 13, 2026 2:27 PM
> To: Pratik Farkase; Mathieu Dubois-Briand;
> openembedded-core@lists.openembedded.org
> Cc: pratik.farkase@ericsson.com
> Subject: RE: [OE-core][PATCH v3] go: add ptest support
>
> Hello Pratik,
>
> I think that better is to run the full testsuite and increase QB_MEM for
> virtclass-mcextend-go under
>
> https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/images/core-image-ptest.bb#n36
>
> Peter
>
> > -----Original Message-----
> > From: openembedded-core@lists.openembedded.org <openembedded-
> > core@lists.openembedded.org> On Behalf Of Pratik Farkase
> > Sent: Monday, April 13, 2026 2:05 PM
> > To: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>;
> openembedded-
> > core@lists.openembedded.org
> > Cc: pratik.farkase@ericsson.com
> > Subject: Re: [OE-core][PATCH v3] go: add ptest support
> >
> > Hi Mathieu,
> >
> > Apologies for getting back bit late and thanks for testing v3 and
> identifying the OOM
> > issue.
> >
> > The root cause is that Go's test suite performs on-the-fly compilation
> during
> > test execution. Even with the autobuilder's 1GB RAM (QB_MEM = '-m 1024'),
> > attempting all 253 stdlib packages causes OOM kills as compilation
> processes
> > consume ~1.5GB.
> >
> > For v4, I've switched to a curated subset of 17 core packages that
> complete
> > successfully within the 1GB constraint:
> >
> > Test results on qemux86-64 with 1GB RAM: 17/17 pass (100%) in ~6-7
> minutes.
> >
> > Best Regards,
> > Pratik
> >
> > ________________________________________
> > From: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
> > Sent: Thursday, March 19, 2026 7:57 AM
> > To: Pratik Farkase; openembedded-core@lists.openembedded.org
> > Cc: pratik.farkase@ericsson.com
> > Subject: Re: [OE-core][PATCH v3] go: add ptest support
> >
> > On Wed Mar 18, 2026 at 3:03 PM CET, Pratik Farkase wrote:
> > > Add ptest infrastructure to test the Go standard library.
> > >
> > > - Run 'go test -short std' via run-ptest script
> > > - Install source tree and pkg/include headers
> > > - Create VERSION file for architecture detection
> > > - Exclude multi-arch binary testdata to avoid QA errors
> > >
> > > Test results: 237/253 pass (93.7%) on qemux86-64.
> > >
> > > Known issues:
> > > - debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary
> testdata
> > > - time: requires embedded timezone data
> > > - net/http: requires unstripped go binary
> > > - testing, go/types: minor edge cases
> > >
> > > Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
> > > ---
> > > Changes in v3:
> > > - Move go from PTESTS_FAST to PTESTS_SLOW (~45min runtime)
> > >   inside ptest-packagelists.inc
> > >
> > > Changes in v2:
> > > - Exclude .elf* files to fix QA arch errors on all architectures
> > > - Exclude *-x86-64* files to fix additional arch-specific test binaries
> > > - Tested on x86-64, x86, aarch64, and arm builds
> > > ---
> >
> > Hi Pratik,
> >
> > Thanks for the new version, but we still have some failures:
> >
> > WARNING: core-image-ptest-go-1.0-r0 do_testimage: There were failing
> ptests.
> > Traceback (most recent call last):
> >   File
> "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> > core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
> >     return func(*args, **kwargs)
> >   File
> "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> > core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
> >     return func(*args, **kwargs)
> >   File
> "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> > core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
> >     return func(*args, **kwargs)
> >   File
> "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> > core/meta/lib/oeqa/runtime/cases/ptest.py", line 27, in
> test_ptestrunner_expectfail
> >     self.do_ptestrunner()
> >     ~~~~~~~~~~~~~~~~~~~^^
> >   File
> "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> > core/meta/lib/oeqa/runtime/cases/ptest.py", line 121, in do_ptestrunner
> >     self.fail(failmsg)
> >     ~~~~~~~~~^^^^^^^^^
> > AssertionError: ERROR: Processes were killed by the OOM Killer:
> > [  132.843492] Out of memory: Killed process 769 (compile)
> total-vm:1553664kB,
> > anon-rss:256564kB, file-rss:0kB, shmem-rss:128kB, UID:0 pgtables:644kB
> > oom_score_adj:0
> >
> >
> > Failed ptests:
> > {'go': ['archive/tar',
> >         'archive/zip',
> >         'bufio',
> >         'bytes',
> >         'cmp',
> >         'compress/bzip2',
> >         'compress
> >         ...
> >
> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/3319
> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/3294
> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/1277
> >
> > Thanks,
> > Mathieu
> >
> > --
> > Mathieu Dubois-Briand, Bootlin
> > Embedded Linux and Kernel engineering
> > https://bootlin.com
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#235132):
> https://lists.openembedded.org/g/openembedded-core/message/235132
> Mute This Topic: https://lists.openembedded.org/mt/118383123/5052612
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

-- 
Best regards,

José Quaresma

[-- Attachment #2: Type: text/html, Size: 9745 bytes --]

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

* [OE-core][PATCH v6] go: add ptest support
  2026-03-05 11:02 [OE-core][PATCH v1] go: add ptest support Pratik Farkase
                   ` (4 preceding siblings ...)
  2026-04-13 22:29 ` [OE-core][PATCH v5] " Pratik Farkase
@ 2026-04-14 10:31 ` Pratik Farkase
  5 siblings, 0 replies; 17+ messages in thread
From: Pratik Farkase @ 2026-04-14 10:31 UTC (permalink / raw)
  To: openembedded-core; +Cc: pratik.farkase, Pratik Farkase

Add ptest infrastructure to test the Go standard library.

- Run 'go test -short std' via run-ptest script
- Install source tree and pkg/include headers
- Create VERSION file for architecture detection
- Exclude multi-arch binary testdata to avoid QA errors

Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
---
Changes in v5:
- Add QB_MEM:virtclass-mcextend-go = "-m 4096" in core-image-ptest.bb
- Add PTEST_RUNNER_TIMEOUT:virtclass-mcextend-go = "4800" for ~66min runtime
- Run full test suite (go list std) with skip list for problematic
  packages in run-ptest

Changes in v4:
- Run only 17 curated packages that work within 1GB RAM constraint
- Test runtime reduced to ~6-7 minutes

Changes in v3:
- Move go from PTESTS_FAST to PTESTS_SLOW (~45min runtime)
  inside ptest-packagelists.inc

Changes in v2:
- Exclude .elf* files to fix QA arch errors on all architectures
- Exclude *-x86-64* files to fix additional arch-specific test binaries
- Tested on x86-64, x86, aarch64, and arm builds
---
 .../distro/include/ptest-packagelists.inc     |  1 +
 meta/recipes-core/images/core-image-ptest.bb  |  5 +++
 meta/recipes-devtools/go/go-1.26.2.inc        |  1 +
 meta/recipes-devtools/go/go/run-ptest         | 32 +++++++++++++++++++
 meta/recipes-devtools/go/go_1.26.2.bb         | 27 +++++++++++++++-
 5 files changed, 65 insertions(+), 1 deletion(-)
 create mode 100755 meta/recipes-devtools/go/go/run-ptest

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 11a894accf..254ab5311a 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -120,6 +120,7 @@ PTESTS_SLOW = "\
     gettext \
     glib-2.0 \
     gnutls \
+    go \
     gstreamer1.0 \
     less \
     libevent \
diff --git a/meta/recipes-core/images/core-image-ptest.bb b/meta/recipes-core/images/core-image-ptest.bb
index c08561296f..166b4ded63 100644
--- a/meta/recipes-core/images/core-image-ptest.bb
+++ b/meta/recipes-core/images/core-image-ptest.bb
@@ -10,6 +10,7 @@ HOMEPAGE = "https://www.yoctoproject.org/"
 
 PTESTS = "${PTESTS_SLOW} ${PTESTS_FAST}"
 PTEST_RUNNER_TIMEOUT:virtclass-mcextend-python3-cffi = "600"
+PTEST_RUNNER_TIMEOUT:virtclass-mcextend-go = "4800"
 
 IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh"
 
@@ -32,6 +33,9 @@ IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-tar = "1524288"
 # python3-numpy-ptest requires a lot of extra space
 IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-python3-numpy = "3048576"
 
+# golang go-ptest requires extra space
+IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-go = "1524288"
+
 # ptests need more memory than standard to avoid the OOM killer
 QB_MEM = "-m 1024"
 QB_MEM:virtclass-mcextend-lttng-tools = "-m 4096"
@@ -39,6 +43,7 @@ QB_MEM:virtclass-mcextend-python3 = "-m 2048"
 QB_MEM:virtclass-mcextend-python3-cryptography = "-m 5100"
 QB_MEM:virtclass-mcextend-python3-numpy = "-m 4096"
 QB_MEM:virtclass-mcextend-tcl = "-m 5100"
+QB_MEM:virtclass-mcextend-go = "-m 4096"
 
 TEST_SUITES = "ping ssh parselogs ptest"
 
diff --git a/meta/recipes-devtools/go/go-1.26.2.inc b/meta/recipes-devtools/go/go-1.26.2.inc
index 8bb10bc89f..c53e8284a6 100644
--- a/meta/recipes-devtools/go/go-1.26.2.inc
+++ b/meta/recipes-devtools/go/go-1.26.2.inc
@@ -16,5 +16,6 @@ SRC_URI += "\
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
+    file://run-ptest \
 "
 SRC_URI[main.sha256sum] = "2e91ebb6947a96e9436fb2b3926a8802efe63a6d375dffec4f82aa9dbd6fd43b"
diff --git a/meta/recipes-devtools/go/go/run-ptest b/meta/recipes-devtools/go/go/run-ptest
new file mode 100755
index 0000000000..ac020de025
--- /dev/null
+++ b/meta/recipes-devtools/go/go/run-ptest
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+PTEST_DIR=/usr/lib/go/ptest
+GOROOT=/usr/lib/go
+
+export GOROOT
+export PATH=$GOROOT/bin:$PATH
+export ZONEINFO=/usr/share/zoneinfo
+
+ln -sf $PTEST_DIR/src $GOROOT/src
+mkdir -p $GOROOT/pkg/include
+cp $PTEST_DIR/pkg/include/* $GOROOT/pkg/include/
+cp $PTEST_DIR/VERSION $GOROOT/VERSION
+
+cd $GOROOT
+
+SKIP_PKGS="debug/dwarf debug/elf debug/pe debug/plan9obj go/types internal/xcoff net/http runtime testing time"
+
+SKIP_REGEX=$(echo "$SKIP_PKGS" | sed 's/ /|/g')
+
+for pkg in $(go list std); do
+    if echo "$pkg" | grep -qE "^($SKIP_REGEX)$"; then
+        echo "SKIP: $pkg"
+        continue
+    fi
+
+    if go test -short "$pkg" >/dev/null 2>&1; then
+        echo "PASS: $pkg"
+    else
+        echo "FAIL: $pkg"
+    fi
+done
diff --git a/meta/recipes-devtools/go/go_1.26.2.bb b/meta/recipes-devtools/go/go_1.26.2.bb
index 46f5fbc6be..35a14b8e8b 100644
--- a/meta/recipes-devtools/go/go_1.26.2.bb
+++ b/meta/recipes-devtools/go/go_1.26.2.bb
@@ -1,7 +1,7 @@
 require go-${PV}.inc
 require go-target.inc
 
-inherit linuxloader
+inherit linuxloader ptest
 
 CGO_LDFLAGS:append = " -no-pie"
 
@@ -16,3 +16,28 @@ python() {
         d.appendVar('INSANE_SKIP:%s' % d.getVar('PN'), " textrel")
 }
 
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/src
+    install -d ${D}${PTEST_PATH}/pkg/include
+
+    cp ${S}/pkg/include/* ${D}${PTEST_PATH}/pkg/include/
+    echo "go${PV}" > ${D}${PTEST_PATH}/VERSION
+
+    cd ${S}/src
+    find . -type d -exec install -d ${D}${PTEST_PATH}/src/{} \;
+    find . -type f \
+        ! -path "*/testdata/*.elf*" \
+        ! -path "*/testdata/*-x86-64*" \
+        ! -path "*/testdata/*.obj" \
+        ! -path "*/testdata/*.syso" \
+        ! -path "*/testdata/*.so" \
+        ! -path "*/testdata/*.so_" \
+        ! -path "*/testdata/*-exec" \
+        ! -path "*/testdata/test32*" \
+        ! -path "*/testdata/test64*" \
+        ! -path "*/race/*.syso" \
+        ! -path "*/boring/syso/*.syso" \
+        -exec install -m 0644 {} ${D}${PTEST_PATH}/src/{} \;
+}
+
+RDEPENDS:${PN}-ptest += "bash tzdata git packagegroup-core-buildessential"
-- 
2.43.0



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

* Re: [OE-core][PATCH v3] go: add ptest support
  2026-04-14 10:10           ` Jose Quaresma
@ 2026-04-14 10:32             ` Pratik Farkase
  0 siblings, 0 replies; 17+ messages in thread
From: Pratik Farkase @ 2026-04-14 10:32 UTC (permalink / raw)
  To: Jose Quaresma
  Cc: Marko, Peter, Mathieu Dubois-Briand,
	openembedded-core@lists.openembedded.org,
	pratik.farkase@ericsson.com

Rebased on master tip golang 1.26.2 in in v6.

Best Regards,
Pratik

________________________________________
From: Jose Quaresma <quaresma.jose@gmail.com>
Sent: Tuesday, April 14, 2026 12:10 PM
To: Pratik Farkase
Cc: Marko, Peter; Mathieu Dubois-Briand; openembedded-core@lists.openembedded.org; pratik.farkase@ericsson.com
Subject: Re: [OE-core][PATCH v3] go: add ptest support

Hi Pratik,

Can you please rebase on the master tip that has the golang 1.26.2.

Jose

Pratik Farkase via lists.openembedded.org<http://lists.openembedded.org> <pratik.farkase=est.tech@lists.openembedded.org<mailto:est.tech@lists.openembedded.org>> escreveu (segunda, 13/04/2026 à(s) 23:37):
Hi Peter,

Thanks for the suggestion to use QB_MEM override in core-image-ptest.bb<http://core-image-ptest.bb>! Great to have these multiconfig settings already which i was not aware of. I have sent a v5 patch after testing it locally. It will run full go testsuite and the total run time is around ~66 minutes.

Attached the test results here along with qemu boot log.

Best Regards,
Pratik

________________________________________
From: Marko, Peter <Peter.Marko@siemens.com<mailto:Peter.Marko@siemens.com>>
Sent: Monday, April 13, 2026 2:27 PM
To: Pratik Farkase; Mathieu Dubois-Briand; openembedded-core@lists.openembedded.org<mailto:openembedded-core@lists.openembedded.org>
Cc: pratik.farkase@ericsson.com<mailto:pratik.farkase@ericsson.com>
Subject: RE: [OE-core][PATCH v3] go: add ptest support

Hello Pratik,

I think that better is to run the full testsuite and increase QB_MEM for virtclass-mcextend-go under
https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/images/core-image-ptest.bb#n36

Peter

> -----Original Message-----
> From: openembedded-core@lists.openembedded.org<mailto:openembedded-core@lists.openembedded.org> <openembedded-
> core@lists.openembedded.org<mailto:core@lists.openembedded.org>> On Behalf Of Pratik Farkase
> Sent: Monday, April 13, 2026 2:05 PM
> To: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com<mailto:mathieu.dubois-briand@bootlin.com>>; openembedded-
> core@lists.openembedded.org<mailto:core@lists.openembedded.org>
> Cc: pratik.farkase@ericsson.com<mailto:pratik.farkase@ericsson.com>
> Subject: Re: [OE-core][PATCH v3] go: add ptest support
>
> Hi Mathieu,
>
> Apologies for getting back bit late and thanks for testing v3 and identifying the OOM
> issue.
>
> The root cause is that Go's test suite performs on-the-fly compilation during
> test execution. Even with the autobuilder's 1GB RAM (QB_MEM = '-m 1024'),
> attempting all 253 stdlib packages causes OOM kills as compilation processes
> consume ~1.5GB.
>
> For v4, I've switched to a curated subset of 17 core packages that complete
> successfully within the 1GB constraint:
>
> Test results on qemux86-64 with 1GB RAM: 17/17 pass (100%) in ~6-7 minutes.
>
> Best Regards,
> Pratik
>
> ________________________________________
> From: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com<mailto:mathieu.dubois-briand@bootlin.com>>
> Sent: Thursday, March 19, 2026 7:57 AM
> To: Pratik Farkase; openembedded-core@lists.openembedded.org<mailto:openembedded-core@lists.openembedded.org>
> Cc: pratik.farkase@ericsson.com<mailto:pratik.farkase@ericsson.com>
> Subject: Re: [OE-core][PATCH v3] go: add ptest support
>
> On Wed Mar 18, 2026 at 3:03 PM CET, Pratik Farkase wrote:
> > Add ptest infrastructure to test the Go standard library.
> >
> > - Run 'go test -short std' via run-ptest script
> > - Install source tree and pkg/include headers
> > - Create VERSION file for architecture detection
> > - Exclude multi-arch binary testdata to avoid QA errors
> >
> > Test results: 237/253 pass (93.7%) on qemux86-64.
> >
> > Known issues:
> > - debug/elf, debug/pe, debug/plan9obj, internal/xcoff: missing binary testdata
> > - time: requires embedded timezone data
> > - net/http: requires unstripped go binary
> > - testing, go/types: minor edge cases
> >
> > Signed-off-by: Pratik Farkase <pratik.farkase@est.tech>
> > ---
> > Changes in v3:
> > - Move go from PTESTS_FAST to PTESTS_SLOW (~45min runtime)
> >   inside ptest-packagelists.inc
> >
> > Changes in v2:
> > - Exclude .elf* files to fix QA arch errors on all architectures
> > - Exclude *-x86-64* files to fix additional arch-specific test binaries
> > - Tested on x86-64, x86, aarch64, and arm builds
> > ---
>
> Hi Pratik,
>
> Thanks for the new version, but we still have some failures:
>
> WARNING: core-image-ptest-go-1.0-r0 do_testimage: There were failing ptests.
> Traceback (most recent call last):
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
>     return func(*args, **kwargs)
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
>     return func(*args, **kwargs)
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
>     return func(*args, **kwargs)
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/runtime/cases/ptest.py", line 27, in test_ptestrunner_expectfail
>     self.do_ptestrunner()
>     ~~~~~~~~~~~~~~~~~~~^^
>   File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/build/layers/openembedded-
> core/meta/lib/oeqa/runtime/cases/ptest.py", line 121, in do_ptestrunner
>     self.fail(failmsg)
>     ~~~~~~~~~^^^^^^^^^
> AssertionError: ERROR: Processes were killed by the OOM Killer:
> [  132.843492] Out of memory: Killed process 769 (compile) total-vm:1553664kB,
> anon-rss:256564kB, file-rss:0kB, shmem-rss:128kB, UID:0 pgtables:644kB
> oom_score_adj:0
>
>
> Failed ptests:
> {'go': ['archive/tar',
>         'archive/zip',
>         'bufio',
>         'bytes',
>         'cmp',
>         'compress/bzip2',
>         'compress
>         ...
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/3319
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/61/builds/3294
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/1277
>
> Thanks,
> Mathieu
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#235132): https://lists.openembedded.org/g/openembedded-core/message/235132
Mute This Topic: https://lists.openembedded.org/mt/118383123/5052612
Group Owner: openembedded-core+owner@lists.openembedded.org<mailto:openembedded-core%2Bowner@lists.openembedded.org>
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [quaresma.jose@gmail.com<mailto:quaresma.jose@gmail.com>]
-=-=-=-=-=-=-=-=-=-=-=-



--
Best regards,

José Quaresma


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

end of thread, other threads:[~2026-04-14 10:32 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-05 11:02 [OE-core][PATCH v1] go: add ptest support Pratik Farkase
2026-03-06 10:23 ` Mathieu Dubois-Briand
2026-03-06 17:24 ` [OE-core][PATCH v2] " Pratik Farkase
2026-03-06 18:55   ` Jose Quaresma
2026-03-08 16:09   ` Mathieu Dubois-Briand
2026-03-08 16:58     ` Pratik Farkase
2026-03-09 13:43       ` Mathieu Dubois-Briand
2026-03-18 14:03 ` [OE-core][PATCH v3] " Pratik Farkase
2026-03-19  6:57   ` Mathieu Dubois-Briand
2026-04-13 12:04     ` Pratik Farkase
2026-04-13 12:27       ` Marko, Peter
2026-04-13 22:37         ` Pratik Farkase
2026-04-14 10:10           ` Jose Quaresma
2026-04-14 10:32             ` Pratik Farkase
2026-04-13 12:02 ` [OE-core][PATCH v4] " Pratik Farkase
2026-04-13 22:29 ` [OE-core][PATCH v5] " Pratik Farkase
2026-04-14 10:31 ` [OE-core][PATCH v6] " Pratik Farkase

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