Bug 10693 - Add a testcase for multilib eSDK on the autobuilder
Summary: Add a testcase for multilib eSDK on the autobuilder
Status: NEW
Alias: None
Product: Runtime Testing
Classification: QA/Testing
Component: general (show other bugs)
Version: 2.3
Hardware: x86 Multiple
: Medium+ enhancement
Target Milestone: 6.99
Assignee: Unassigned
QA Contact:
URL:
Whiteboard:
Depends on: 10647
Blocks:
  Show dependency tree
 
Reported: 2016-11-18 08:59 UTC by Robert Yang
Modified: 2026-07-30 15:23 UTC (History)
8 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments
core-image-minimal-1.0-r0 do_testsdkext: Function failed: do_testsdkext (105.61 KB, application/octet-stream)
2018-03-22 01:21 UTC, Aaron Chan
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Yang 2016-11-18 08:59:56 UTC
e.g.:
MACHINE = "qemux86-64"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"

$ bitbake core-image-minimal/sato/sato-sdk -cpopulate_sdk_ext
Comment 1 Francisco Pedraza 2017-01-06 23:10:54 UTC
Waiting for https://bugzilla.yoctoproject.org/show_bug.cgi?id=10647 to be closed, in order to work with.
Comment 2 Leonardo Sandoval Gonzalez 2017-02-02 16:24:15 UTC
(In reply to comment #1)
> Waiting for https://bugzilla.yoctoproject.org/show_bug.cgi?id=10647 to be
> closed, in order to work with.

Why bug 10647 is a blocker? in my opinion, the test can be implemented, no matter if feature being tested is broken/failing.
Comment 3 Francisco Pedraza 2017-02-04 17:32:58 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > Waiting for https://bugzilla.yoctoproject.org/show_bug.cgi?id=10647 to be
> > closed, in order to work with.
> 
> Why bug 10647 is a blocker? in my opinion, the test can be implemented, no
> matter if feature being tested is broken/failing.

Hi, 
as I was waiting for confirmation and is marked as "Depends" that is why. No issues I am working on this now, regards.
Comment 4 Robert Yang 2017-03-16 06:25:56 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > (In reply to comment #1)
> > > Waiting for https://bugzilla.yoctoproject.org/show_bug.cgi?id=10647 to be
> > > closed, in order to work with.
> > 
> > Why bug 10647 is a blocker? in my opinion, the test can be implemented, no
> > matter if feature being tested is broken/failing.
> 
> Hi, 
> as I was waiting for confirmation and is marked as "Depends" that is why. No
> issues I am working on this now, regards.

Hi Francisco Pedraza,

Are you working on it, please ? You can take the bug if you like.
Comment 5 Aaron Chan 2018-03-22 01:21:57 UTC
Created attachment 4240 [details]
core-image-minimal-1.0-r0 do_testsdkext: Function failed: do_testsdkext
Comment 6 Aaron Chan 2018-03-22 01:22:45 UTC
Hi Robert Yang,

The following is the rundown on using poky HEADS (master branch) and we use our autobuilder to run eSDK sanity test which results as follows.

#################################################################

Build Configuration:
BB_VERSION           = "1.37.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "x86_64-poky-linux"
MACHINE              = "qemux86-64"
DISTRO               = "poky"
DISTRO_VERSION       = "2.4+snapshot-20180322"
TUNE_FEATURES        = "m64 core2"
TARGET_FPU           = ""
meta                 
meta-poky            
meta-yocto-bsp       = "heads/master:f49ee61422c867516db252054e993df29f775136"

#################################################################
we use, ~/build/build/conf/auto.conf to setup our build configuration
#################################################################

INHERIT += "report-error"
DISTRO = "poky"
PACKAGE_CLASSES = "package_rpm package_deb package_ipk"
BB_NUMBER_THREADS = "16"
PARALLEL_MAKE = "-j 16"
SDKMACHINE ?= "x86_64"
IMAGE_FSTYPES_append = "  tar.gz"
BB_TASK_NICE_LEVEL = "5"
BB_TASK_NICE_LEVEL_task-testimage = "0"
BB_TASK_IONICE_LEVEL = "2.7"
BB_TASK_IONICE_LEVEL_task-testimage = "2.1"
DL_DIR = "/srv/data/sources"
require conf/multilib.conf 
MULTILIBS = "multilib:lib32" 
DEFAULTTUNE_virtclass-multilib-lib32 = "x86" 
SSTATE_DIR ?= "/srv/data/sstates/" 
MACHINE = "qemux86-64"
PREMIRRORS = ""
ADTREPO = "http://adtrepo.yoctoproject.org//2.4+snapshot"
QEMU_USE_KVM = "True"
SANITY_TESTED_DISTROS = ""
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
INHERIT += "testsdk"
TEST_QEMUBOOT_TIMEOUT = "1500"

#################################################################
# 1st attempt to build was unsuccessful
#################################################################
$ bitbake core-image-minimal/sato-sato-sdk -c populate_sdk_ext

### Shell environment set up for builds. ###

You can now run 'bitbake <target>'

Common targets are:
    core-image-minimal
    core-image-sato
    meta-toolchain
    meta-ide-support

You can also run generated qemu images with a command like 'runqemu qemux86'
WARNING: Duplicate inclusion for /home/ab/autobuilder/yocto-worker/nightly-multilib/build/meta/conf/multilib.conf in /home/ab/autobuilder/yocto-worker/nightly-multilib/build/build/conf/auto.conf
WARNING: Duplicate inclusion for /home/ab/autobuilder/yocto-worker/nightly-multilib/build/meta/conf/multilib.conf in /home/ab/autobuilder/yocto-worker/nightly-multilib/build/build/conf/auto.conf
Parsing recipes...done.
ERROR: Nothing PROVIDES 'core-image-minimal/sato/sato-sdk'. Close matches:
  core-image-sato-sdk
  core-image-minimal-dev
  core-image-minimal

#################################################################
# 2nd attempt to build was successful 
#################################################################
$ bitbake core-image-minimal

However, result in error for ESDK Sanity Test
RESULTS:
RESULTS - buildcpio.BuildCpioTest.test_cpio - Testcase -1: PASSED
RESULTS - buildgalculator.GalculatorTest.test_galculator - Testcase -1: SKIPPED
RESULTS - buildlzip.BuildLzipTest.test_lzip - Testcase -1: PASSED
RESULTS - gcc.GccCompileTest.test_gcc_compile - Testcase -1: PASSED
RESULTS - gcc.GccCompileTest.test_gpp2_compile - Testcase -1: PASSED
RESULTS - gcc.GccCompileTest.test_gpp_compile - Testcase -1: PASSED
RESULTS - gcc.GccCompileTest.test_make - Testcase -1: PASSED
RESULTS - perl.PerlTest.test_perl_exists - Testcase -1: PASSED
RESULTS - perl.PerlTest.test_perl_works - Testcase -1: PASSED
RESULTS - python.PythonTest.test_python_exists - Testcase -1: SKIPPED
RESULTS - python.PythonTest.test_python_stdout - Testcase -1: SKIPPED
RESULTS - python.PythonTest.test_python_testfile - Testcase -1: SKIPPED
RESULTS - devtool.DevtoolTest.test_devtool_add_reset - Testcase -1: PASSED
RESULTS - devtool.DevtoolTest.test_devtool_build_cmake - Testcase 1607: PASSED
RESULTS - devtool.DevtoolTest.test_devtool_build_esdk_package - Testcase 1606: PASSED
RESULTS - devtool.DevtoolTest.test_devtool_build_make - Testcase 1605: PASSED
RESULTS - devtool.DevtoolTest.test_devtool_kernelmodule - Testcase 1609: PASSED
RESULTS - devtool.DevtoolTest.test_devtool_location - Testcase -1: PASSED
RESULTS - devtool.DevtoolTest.test_extend_autotools_recipe_creation - Testcase 1608: PASSED
RESULTS - devtool.DevtoolTest.test_recipes_for_nodejs - Testcase 1610: PASSED
RESULTS - devtool.SdkUpdateTest.test_sdk_update_http - Testcase -1: PASSED
SUMMARY:
core-image-minimal esdk (poky-glibc-x86_64-core-image-minimal-core2-64-toolchain-ext-2.4+snapshot.sh:environment-setup-core2-64-poky-linux) - Ran 21 tests in 3324.961s
core-image-minimal esdk - OK - All required tests passed
Extensible SDK testing environment: x86-pokymllib32-linux
ERROR: core-image-minimal-1.0-r0 do_testsdkext: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:do_testsdkext(d)
     0003:
File: '/home/ab/autobuilder/yocto-worker/nightly-multilib/build/meta/classes/testsdk.bbclass', lineno: 192, function: do_testsdkext
     0188:
     0189:testsdkext_main[vardepsexclude] =+ "BB_ORIGENV"
     0190:
     0191:python do_testsdkext() {
 *** 0192:    testsdkext_main(d)
     0193:}
     0194:addtask testsdkext
     0195:do_testsdkext[nostamp] = "1"
     0196:
File: '/home/ab/autobuilder/yocto-worker/nightly-multilib/build/meta/classes/testsdk.bbclass', lineno: 163, function: testsdkext_main
     0159:            f.write('INHERIT += "own-mirrors"\n')
     0160:
     0161:        # We need to do this in case we have a minimal SDK
     0162:        subprocess.check_output(". %s > /dev/null; devtool sdk-install meta-extsdk-toolchain" % \
 *** 0163:                sdk_env, cwd=sdk_dir, shell=True, stderr=subprocess.STDOUT)
     0164:
     0165:        tc = OESDKExtTestContext(td=test_data, logger=logger, sdk_dir=sdk_dir,
     0166:            sdk_env=sdk_env, target_pkg_manifest=target_pkg_manifest,
     0167:            host_pkg_manifest=host_pkg_manifest)
File: '/usr/lib/python3.5/subprocess.py', lineno: 626, function: check_output
     0622:        # empty string. That is maintained here for backwards compatibility.
     0623:        kwargs['input'] = '' if kwargs.get('universal_newlines', False) else b''
     0624:
     0625:    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
 *** 0626:               **kwargs).stdout
     0627:
     0628:
     0629:class CompletedProcess(object):
     0630:    """A process that has finished running.
File: '/usr/lib/python3.5/subprocess.py', lineno: 708, function: run
     0704:            raise
     0705:        retcode = process.poll()
     0706:        if check and retcode:
     0707:            raise CalledProcessError(retcode, process.args,
 *** 0708:                                     output=stdout, stderr=stderr)
     0709:    return CompletedProcess(process.args, retcode, stdout, stderr)
     0710:
     0711:
     0712:def list2cmdline(seq):
Exception: oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. /home/ab/autobuilder/yocto-worker/nightly-multilib/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testsdkext/environment-setup-x86-pokymllib32-linux > /dev/null; devtool sdk-install meta-extsdk-toolchain' returned non-zero exit status 1
Standard Output: ERROR: This script can only be run after initialising the build environment (e.g. by using oe-init-build-env)


Subprocess output:
ERROR: This script can only be run after initialising the build environment (e.g. by using oe-init-build-env)

ERROR: core-image-minimal-1.0-r0 do_testsdkext: Function failed: do_testsdkext
ERROR: Logfile of failure stored in: /home/ab/autobuilder/yocto-worker/nightly-multilib/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/temp/log.do_testsdkext.29322
NOTE: recipe core-image-minimal-1.0-r0: task do_testsdkext: Failed
ERROR: Task (/home/ab/autobuilder/yocto-worker/nightly-multilib/build/meta/recipes-core/images/core-image-minimal.bb:do_testsdkext) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun and 1 failed.
NOTE: The errors for this build are stored in /home/ab/autobuilder/yocto-worker/nightly-multilib/build/build/tmp/log/error-report/error_report_20180322142715.txt
You can send the errors to a reports server by running:
  send-error-report /home/ab/autobuilder/yocto-worker/nightly-multilib/build/build/tmp/log/error-report/error_report_20180322142715.txt [-s server]
NOTE: The contents of these logs will be posted in public if you use the above command with the default server. Please ensure you remove any identifying or proprietary information when prompted before sending.

Summary: 1 task failed:
  /home/ab/autobuilder/yocto-worker/nightly-multilib/build/meta/recipes-core/images/core-image-minimal.bb:do_testsdkext
Summary: There were 3 WARNING messages shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
program finished with exit code 1
elapsedTime=3486.346102
Comment 7 Robert Yang 2018-03-22 18:51:26 UTC
Yes, YP 2.4 and 2.5's multilib is broken, so we need these patches:

http://git.openembedded.org/openembedded-core-contrib/?h=rbt%2Fmlib
Comment 8 Randy MacLeod 2021-03-24 00:26:00 UTC
Moving to 3.4-M1 since I believe this enhancement has NOT been implemented yet.
Comment 9 Randy MacLeod 2022-06-16 15:15:20 UTC
Multlib tests are important to Wind River so we should make time for this.
Comment 10 Randy MacLeod 2023-07-26 21:21:57 UTC
Bulk move of 64 bugs to 4.3 M3 after a quick review.
If a bug is actually fixed, please add a commit link and resolve it.
-- Randy for YP bug team.
Comment 11 Trevor Gamblin 2023-09-14 15:43:28 UTC
Moved to M4.
Comment 12 Trevor Gamblin 2023-09-14 15:45:40 UTC
Mistakenly moved this to M4. Since it's an enhancement, it should be 5.0 M1.
Comment 13 Randy MacLeod 2023-12-21 23:28:23 UTC
Bulk move of 52 5.0-M1 bugs to M2.
Comment 14 Randy MacLeod 2024-01-25 14:28:52 UTC
Bulk move of bugs owned by "unassigned" from 5.0-M2 to 5.0-M3.