aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib
AgeCommit message (Collapse)Author
2016-07-12lib/oe/patch: handle encoding differences in patch filesPaul Eggleton
With Python 3, the encoding of a file is significant; several recipes in OE-Core have patches which are not fully utf-8 decodable e.g. man, lrzsz, and gstreamer1.0-libav, leading to errors when using devtool's modify, upgrade or extract subcommands on these recipes. To work around this, try reading the patch file as utf-8 first and if that fails try latin-1 before giving up. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-10buildoptions.py: remove directfb image build testMaxin B. John
removing this test since we move directfb out of oe-core Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-08terminal: Drop gnome-terminal --disable-factory workaroundsRichard Purdie
With the new pid monitoring code we have for recent versions of gnome-terminal we can just drop the --disable-factory code now since the other solution handles this case as well. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08terminal: Fix gnome-terminal to work with recent versionsRichard Purdie
Currently gnome-terminal just returns straight away, opening a terminal in a new separate process we have no insight into. For patch resolution, this leads to spawning many different terminal windows, for pydevshell, it just flashes a window up and then closes. We need to block until the command completes but gnome-terminal gives us no way to do this. We therefore write the pid to a file using a "phonehome" wrapper script, then monitor the pid until it exits. [YOCTO #7254] (also fixing do_devpyshell) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08oe-selftest: drop test_prepare_unexpectedPaul Eggleton
This test refers to a function that no longer exists after the eSDK install double execution of bitbake has been removed, and since test_prepare_unexpected is the only test in this module, drop the entire module. We can easily resurrect it if we have unit tests to add in the future. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08oeqa/selftest/bbtests: Fix failing test after progress changesRichard Purdie
The progress patches change the output slightly, update the test to deal with this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08oeqa/runtime/systemd: fix typo in skipUnlessPassed decoratorRoss Burton
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-08lib/oe/path: remove oe.path.check_outputRoss Burton
This was a copy-and-paste of subprocess.check_output() from when we supported Python <2.7, so simply delete it and use subprocess.check_output() instead. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-07lib/oe/sstatesig: print locked sigs file message only when explicitly calledPaul Eggleton
If we're building the extensible SDK we don't need to see the "Writing locked sigs" message; it's only necessary when the user explicitly runs bitbake -S none <target>. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-07classes/image: implement progress support for do_rootfsPaul Eggleton
Use the new task progress functionality to report progress during do_rootfs. This is a little coarse and ideally we would have some progress within the installation section, but it's better than nothing. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-01lib/oeqa: add Galculator to SDK and runtime testsRoss Burton
This is a GTK+3 application, so we don't need to ship GTK+ 2 in Sato just for the SDK test suite. [ YOCTO #9780 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa/runtime/syslog: remove redundant skipUnlessPassedRoss Burton
The test test_syslog_help doesn't exist, so skipping unless it passed just produced a warning. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa/utils/commands: fix single-character variable matching in get_bb_vars()Ross Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oe-build-perf-test: implement --globalres-file optionMarkus Lehtonen
Using this option the script appends test results into a 'global results file'. A CSV-formatted output of the results. This option is to provide compatibility with the old build-perf-test.sh. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: add git revision and branch to result dataMarkus Lehtonen
BuildPerfTestRunner determines these from the Git repository under which it is being run (i.e. where the build directory exists). The branch and revision may be defined/overridden with OE_BUILDPERFTEST_GIT_BRANCH and OE_BUILDPERFTEST_GIT_BRANCH environment variables, if needed. This makes it possible to run the build performance test script even if the top directory is not a git repository clone, for example. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.utils: add git moduleMarkus Lehtonen
A new helper module for easier interaction with Git repositories. Provides GitRepo class that represents one local Git repository clone. The GitRepo class currently only has one method, run_cmd(), for running arbitrary git commands in the repository. More specialized methods for commonly used git operations can be added later. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: archive build/conf into test resultsMarkus Lehtonen
Have the build/conf directory as part of test results. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: add test Test4Markus Lehtonen
Re-implement "test4" from build-perf-test.sh which measures eSDK metrics. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: add test Test3Markus Lehtonen
Re-implement "test3" from build-perf-test.sh which measures bitbake parsing time. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: add test Test2Markus Lehtonen
Re-implement "test2" from build-perf-test.sh which measures 'bitbake core-image-sato -c rootfs'. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: add test Test1P3Markus Lehtonen
Re-implement "test1_p3" from build-perf-test.sh which measures 'bitbake core-image-sato' with rm_work enabled. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: add test Test1P2Markus Lehtonen
Re-implement "test1_p2" from build-perf-test.sh which measures 'bitbake virtual/kernel'. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: add test Test1P1Markus Lehtonen
Re-implement "test1_p1" from build-perf-test.sh which measures 'bitbake core-image-sato'. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: implement BuildPerfTestRunner classMarkus Lehtonen
The new class is responsible for actually running the tests and processing their results. This commit also adds a decorator function for adding new tests. No automatic test discovery, at least yet. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: add method for saving buildstatsMarkus Lehtonen
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: add method for measuring file disk usageMarkus Lehtonen
Add a new method to BuildPerfTest class for measuring the disk usage of a file of directory. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: add method to log shell commandsMarkus Lehtonen
Add new methods to BuildPerfTest class for running a shell command and logging its output. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: method for measuring system resource usageMarkus Lehtonen
Extend BuildPerfTest class with a new method for measuring the system resource usage of a shell command to BuildPerfTest class. For now, easurement of the elapsed time is done with the Gnu time utility, similarly to the build-perf-test.sh shell script. And, it currently only records the elapsed (wall clock). The measured values (currently, only the elapsed time) is actually a dictionary, making it possible to extend it with additional resource values, e.g. cpu time or i/o usage, in the future. In addition to the actual values of the measurement each record contains a 'name' and 'legend' where name is supposed to function as a common key or id over test runs, making comparison and trending easier, for example. Legend is supposed to be a short human readable description. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: add BuildPerfTest classMarkus Lehtonen
The new class will be used as an abstract base class for build performance tests. This implementation contains some common functionality used in multiple tests, "copied" from the build-perf-test.sh shell script. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.buildperf: functionality to drop kernel cachesMarkus Lehtonen
Add a new utility class for dropping Linux kernel caches. It uses sudo and tee to write to the drop_caches file. Checking if the user has the permissions to drop caches (without a password) is done by trying to writing an invalid value to the drop_caches file. This way, we will find if writing (with tee) is possible but not really dropping caches, yet. User can avoid giving the password by adding something like: <user> ALL = NOPASSWD: /usr/bin/tee /proc/sys/vm/drop_caches to the system sudoers file. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oe-build-perf-test: introduce oeqa.buildperf moduleMarkus Lehtonen
Wireframe of a new Python module for containing build performance tests and utility functions. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.utils.commands: runCmd: return stderr output, tooMarkus Lehtonen
Useful if one wants to separate stdout and stderr. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.utils.commands: use get_bb_vars() in get_bb_var()Markus Lehtonen
Get rid of duplicate code. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01oeqa.utils.commands: Introduce get_bb_vars()Markus Lehtonen
A new function for getting values of multiple bitbake variables at the same time. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-01lib/oe/package_manager: keep platform_extra and default_platform_extra lists ↵Bill Randle
ordered In RpmPM:insert_feeds_uris, the paths are kept in sets, which are unordered, but they are later used to set the priority for the Smart channels, so unexpected results could occur. Change the sets to lists and use the same code as in create_configs() to add items to the list, rather than the set operators. [YOCTO #9717] Signed-off-by: Bill Randle <william.c.randle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-23oeqa/targetbuild: use os.path.join instead of string concatenationRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-23oeqa/targetbuild: add extra_cmds argument to run_configureRoss Burton
Some upstreams need more than just gnu-configize ran before ./configure works, such as ./autogen.sh or autoreconf. Add extra_args (defaulting to gnu-configize) so that this can be done in test cases. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-23oeqa/targetbuild: fix folder name estimate logicRoss Burton
The re.sub() used to transform a tarball into a best guess folder name wasn't right, as there isn't enough escaping and tar.xz was missing. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-23package_manager.py: specify tmpdir for opkgChen Qi
Specify tmpdir for opkg via '-t' option so that opkg does not use the default 'TMPDIR' which usually is '/tmp' on build host. This would solve race problems like below. sh: /tmp/opkg-rOG6Tl/opkg-intercept-iPoEp5/depmod: Permission denied Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-23oeqa: fix hasPackage, add hasPackageMatchRoss Burton
hasPackage() was looking for the string provided as an RE substring in the manifest, which resulted in a large number of false positives (i.e. libgtkfoo would match "gtk+"). Rewrite the manifest loader to parse the files into a proper data structure, change hasPackage to do full string matches, and add hasPackageMatch which does RE substring matches. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-21package_manager: Fix multilib package arch ordering issuesRichard Purdie
Order is not preserved in dict() and this code depends on the order of these lists of package architectures used when multilibs are enabled. This caused 'random' breakage where sometimes the correct order was present and sometimes it wasn't. Use collections.OrderedDict() to avoid this problem. Kudos to Bill Randle and Alejandro Hernandez who did most of the work debugging this, I simply took the problem they identified and wrote a patch to fix it. This unblocks the M1 build but this code needs auditing as there are clearly other ordering issues (e.g. the set() usage). [YOCTO #9717] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-12oe/distro_check.py: Fixes for python3Aníbal Limón
create_socket: Use urllib because urllib2 is now urllib in python3 and proxies as argument are deprecated so export them in the environ instead. get_links_from_url: Change usage of sgmllib for parsing HTML because is deprecated in python 3, use instead bs4 that is already imported in the bitbake tree. [YOCTO #9744] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-12lib/oe/terminal.py: decode bytes variable before rstrip/splitLeonardo Sandoval
On python 3, bytes variable types must be decoded if these are intended to be used as strings, otherwise we get the following error exception: TypeError: Type str doesn't support the buffer API Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-06selftest/testexport.py: Add test test_testexport_basicMariano Lopez
Exported tests is not been tested right now and it get broken very easily with import errors from bitbake. This adds a new test in order to verify in the CI if the testexport gets broken. [YOCTO #8384] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-06testexport.bbclass: Add support for testexport-tarballMariano Lopez
Add support to export the SDK tarball needed when a test system doesn't have the required software to perform runtime tests. The support is when exporting the test and when running the test on a remote system. The user of this feature just need to set TEST_EXPORT_SDK_ENABLED to "1" and declare the sdk packages in TEST_EXPORT_SDK_PACKAGES. [YOCTO #7850] (From OE-Core rev: a6041f81b81baa7564e4c712fc88de2b997e52e4) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-06oetest.py: Add install/uninstall functionality for DUTsMariano Lopez
Add the functionality to install/unistall packages in the DUTs without the use of the package manager. This is possible with the extraction introduced in package manager class. testimage and testexport bbclasses has been modified in order to support this new feature. [YOCTO #8694] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-06lib/oeqa/otest.py: Fix import tests from other layers with python3Mariano Lopez
In python3 the functionality to import modules has been changed and this broke the capability to add runtime tests from other layers. This commit returns this capability to testimage and testexport. [YOCTO #9705] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-06oe/lib/pacakge_manager.py: Update missing pipeline decodingMariano Lopez
Adds decoding needed by some commands output later used as strings. [YOCTO #9702] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-05lib/oe/package_manager: adapt for Python 3Ross Burton
string.rstrip() doesn't exist in Python 3, so use the .rstrip method on the object itself instead. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-03lib/oe/buildhistory_analysis: fix for Python 3Joshua Lock
The read method of the data_stream File object now returns bytes, not a str, so we must decode it. Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>