summaryrefslogtreecommitdiff
path: root/poky/scripts/lib
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2019-11-16 00:35:03 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-11-16 00:36:05 +0300
commit1d80a2eac54644288c7f2820d3c3fbcb5402b351 (patch)
treedbe2ecc74749cf37f66f9f7268bd7c16d32e9b9b /poky/scripts/lib
parent98f5315998ea2d2cba17ba9ebafd573902ea97cc (diff)
downloadopenbmc-1d80a2eac54644288c7f2820d3c3fbcb5402b351.tar.xz
poky: subtree update:7035b4b21e..a616ffebdc
Adrian Bunk (3): python3: Upgrade 3.7.4 -> 3.7.5 lz4: Whitelist CVE-2014-4715 iputils: Whitelist CVE-2000-1213 CVE-2000-1214 Alex Kube (1): go: Refactor patches for 1.13.3 Andreas Müller (2): vte: upgrade 0.56.3 -> 0.58.2 webkitgtk: upgrade 2.26.1 -> 2.26.2 Andreas Oberritter (3): glibc: move ldconfig to its own package package.bbclass: Always include ldconfig fragment systemd: Add runtime dependency on new ldconfig package André Draszik (1): libevent: update packaging (one package per shared library) Anuj Mittal (1): libsdl2: fix race when building in parallel Armin Kuster (13): oeqa/core: Add a check for MACHINE oeqa/core: Add qemu checks oeqa/manual/bsp-qemu: remove rpm tests already done in runtime oeqa/manual/bsp-qemu: remove KVM enabled which is already done in selftest runqemu oeqa/manual/bsp-qemu: drop xserver test done at runtime oeqa/manual/bsp-qemu: remove only_one_connmand_in_background test done at runtime oeqa/manual/bsp-qemu: remove postinit test done w/selftest runtime oeqa/manual/bsp-qemu: remove manual bash test oeqa/manual/bsp-qemu: remove manual useradd test oeqa/selftest/oescripts: move list-packageconfig-flags tests from manual to self oeqa/manua/oe-core: remove manual PACKAGECONFIG_FLAGS tests oeqa/selftest/runtime_test: add crosstab selftest oeqa/manual/oe-core: remove crosstab test from manual Changhyeok Bae (1): iproute2: update 5.2.0 -> 5.3.0 Chee Yang Lee (1): wic: beautify 'wic help' Chris Laplante via bitbake-devel (7): bitbake: contrib/vim: More Python indenting; move indent file to correct directory bitbake: contrib/vim: Special handling of bb.fatal bitbake: contrib/vim: don't redeclare indenter bitbake: contrib/vim: renaming & comments bitbake: contrib/vim: indenting for assignments; tweak Python indenting bitbake: contrib/vim: handle shell indenting bitbake: contrib/vim: Add copyright and license notice Denys Dmytriyenko (1): buildhistory: fix "version went backwards" QA error message Gavin Li (1): bitbake: prserv: fix ResourceWarning due to unclosed socket Haris Okanovic (8): isoimage-isohybrid.py: Parameterize ESP label isoimage-isohybrid.py: Parameterize ESP partition size initscripts/sysfs.sh: Mount /sys/firmware/efi/efivars when possible gnupg: Split gpg and gpg-agent into a minimal gnupg-gpg package opkg: RDEPEND "gnupg-gpg" instead of "gnupg" gnupg/libksba/npth/pinentry: Add nativesdk to BBCLASSEXTEND meta/lib/oe/package_manager.py: Enable sha256 checksums in opkg indexer dhcp: Workaround busybox limitation in Linux dhclient-script Ivan Efimov (1): bitbake: bitbake-worker child process create group before registering SIGTERM handler Jacob Kroon (2): rm_work: Promote do_image_qa stamps to setscene versions rm_work: Simplify logic for setscene promotion Jagadeesh Krishnanjanappa (1): tune-cortexa32: Fix libgcc-initial build issue for cortex-a32 Joshua Watt (4): oeqa: reproducible: Add option to capture bad packages icecc-create-env: Use OE patchelf in SDK mc: Fix build reproducibility wayland: Fix wayland-scanner build for MinGW Khem Raj (4): libtirpc: Do not include bits/endian.h directly strace: Fix ptest build libnsl2: Update to latest master strace: Fix build found with 64bit time_t/musl Liwei Song (1): buildtools-tarball: export OPENSSL_CONF for openssl Mark Hatle (1): populate_sdk_ext.bbclass: Make integrated buildtools optional Maxime Roussin-Bélanger (1): meta: add missing description for some recipes in graphics Mikko Rapeli (1): harfbuzz: split libharfbuzz-subset.so to its own binary package Oleksandr Kravchuk (1): git: update to 2.24.0 Paul Barker (1): scripts/native-intercept: Add chgrp intercept Peter Kjellerstedt (3): sysstat: Correct our systemd unit file sysstat: Correct when to use the package provided systemd unit files bitbake: cooker: Remove a left-over comment about expanded_data Richard Purdie (9): bitbake: fetch2: Ensure cached url data is matched to a datastore staging: Handle files moving between dependencies sstate: Add ability to hide summary output for sstate selftest/signing: Fix test_locked_signatures to use a temporary layer dhcp/ruby/ffpmeg: Use CFLAGS, not TARGET_CFLAGS bitbake: runqueue: Improve sstate rehashing output pseudo: Add statx support to fix fedora30 issues pseudo: Drop static linking to sqlite3 sqlite3: Drop pic as we no longer need the sqlite3 static lib Ross Burton (16): file: fix CVE-2019-18218 file: remove redundant upstream check workaround file: run test suite when building natively patch: the CVE-2019-13638 fix also handles CVE-2018-20969 libpng: whitelist CVE-2019-17371 procps: whitelist CVE-2018-1121 libsndfile1: whitelist CVE-2018-13419 libpam: set CVE_PRODUCT libsoup: set CVE_PRODUCT libsoup-2.4: upgrade to 2.66.4 insane: improve textrel warning message libsoup: update patch upstream status acpica: upgrade to 20191018 ovmf: unify DEPENDS cve-check: we don't actually need to unpack to check cve-update-db-native: don't refresh more than once an hour Samuli Piippo (1): linux-firmware: update packaging for brcm files Scott Rifenbark (3): ref-manual: Completed the 3.0 migration section. mega-manual: Updated mega-manual Bitbake manual search path ref-manual: Removed blank lines from 3.0 migratrion section. Stefan Agner (1): dbus: drop unused group netdev Torbjörn Svensson (1): psplash: Do mount psplash tmpfs if not mounted Trevor Gamblin (1): python3-misc: add python3-audio to RDEPENDS Volker Vogelhuber (1): bitbake: fetch2/hg: Fix various runtime issues Yeoh Ee Peng (4): scripts/resulttool/report: Enable report to use regression_map scripts/resulttool/report: Enable output raw test results scripts/resulttool/report: Add total statistic to test result. resulttool/store.py: Enable add extra test environment data Yongxin Liu (2): systemd: Fix invalid argument of pstore log entry ltp: Add "udevadm trigger" before swap verification in mkswap01.sh Zang Ruochen (8): ruby:upgrade 2.6.4 -> 2.6.5 ethtool:upgrade 5.2 -> 5.3 libdrm:upgrade 2.4.99 -> 2.4.100 libcheck:upgrade 0.12.0 -> 0.13.0 curl:upgrade 7.66.0 -> 7.67.0 libinput:upgrade 1.14.1 -> 1.14.3 python3-six:upgrade 1.12.0 -> 1.13.0 libedit: upgrade 20190324 -> 20191025 Zhixiong Chi (1): libtirpc: create the symbol link for rpc header files grygorii tertychnyi (1): archiver: avoid empty incfile in ar_recipe Change-Id: Ice596e426e4533d7568a82bcbb21efdfc19e21e7 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/scripts/lib')
-rw-r--r--poky/scripts/lib/resulttool/report.py35
-rw-r--r--poky/scripts/lib/resulttool/resultutils.py4
-rw-r--r--poky/scripts/lib/resulttool/store.py5
-rw-r--r--poky/scripts/lib/resulttool/template/test_report_full_text.txt3
-rw-r--r--poky/scripts/lib/wic/help.py56
-rw-r--r--poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py12
6 files changed, 102 insertions, 13 deletions
diff --git a/poky/scripts/lib/resulttool/report.py b/poky/scripts/lib/resulttool/report.py
index 883b52517..692dd7a85 100644
--- a/poky/scripts/lib/resulttool/report.py
+++ b/poky/scripts/lib/resulttool/report.py
@@ -186,6 +186,10 @@ class ResultsTextReport(object):
havefailed = True
if line['machine'] not in machines:
machines.append(line['machine'])
+ reporttotalvalues = {}
+ for k in cols:
+ reporttotalvalues[k] = '%s' % sum([line[k] for line in test_count_reports])
+ reporttotalvalues['count'] = '%s' % len(test_count_reports)
for (machine, report) in self.ptests.items():
for ptest in self.ptests[machine]:
if len(ptest) > maxlen['ptest']:
@@ -199,6 +203,7 @@ class ResultsTextReport(object):
if len(ltpposixtest) > maxlen['ltpposixtest']:
maxlen['ltpposixtest'] = len(ltpposixtest)
output = template.render(reportvalues=reportvalues,
+ reporttotalvalues=reporttotalvalues,
havefailed=havefailed,
machines=machines,
ptests=self.ptests,
@@ -207,8 +212,11 @@ class ResultsTextReport(object):
maxlen=maxlen)
print(output)
- def view_test_report(self, logger, source_dir, branch, commit, tag):
+ def view_test_report(self, logger, source_dir, branch, commit, tag, use_regression_map, raw_test):
test_count_reports = []
+ configmap = resultutils.store_map
+ if use_regression_map:
+ configmap = resultutils.regression_map
if commit:
if tag:
logger.warning("Ignoring --tag as --commit was specified")
@@ -216,12 +224,23 @@ class ResultsTextReport(object):
repo = GitRepo(source_dir)
revs = gitarchive.get_test_revs(logger, repo, tag_name, branch=branch)
rev_index = gitarchive.rev_find(revs, 'commit', commit)
- testresults = resultutils.git_get_result(repo, revs[rev_index][2])
+ testresults = resultutils.git_get_result(repo, revs[rev_index][2], configmap=configmap)
elif tag:
repo = GitRepo(source_dir)
- testresults = resultutils.git_get_result(repo, [tag])
+ testresults = resultutils.git_get_result(repo, [tag], configmap=configmap)
else:
- testresults = resultutils.load_resultsdata(source_dir)
+ testresults = resultutils.load_resultsdata(source_dir, configmap=configmap)
+ if raw_test:
+ raw_results = {}
+ for testsuite in testresults:
+ result = testresults[testsuite].get(raw_test, {})
+ if result:
+ raw_results[testsuite] = result
+ if raw_results:
+ print(json.dumps(raw_results, sort_keys=True, indent=4))
+ else:
+ print('Could not find raw test result for %s' % raw_test)
+ return 0
for testsuite in testresults:
for resultid in testresults[testsuite]:
skip = False
@@ -248,7 +267,8 @@ class ResultsTextReport(object):
def report(args, logger):
report = ResultsTextReport()
- report.view_test_report(logger, args.source_dir, args.branch, args.commit, args.tag)
+ report.view_test_report(logger, args.source_dir, args.branch, args.commit, args.tag, args.use_regression_map,
+ args.raw_test_only)
return 0
def register_commands(subparsers):
@@ -263,3 +283,8 @@ def register_commands(subparsers):
parser_build.add_argument('--commit', help="Revision to report")
parser_build.add_argument('-t', '--tag', default='',
help='source_dir is a git repository, report on the tag specified from that repository')
+ parser_build.add_argument('-m', '--use_regression_map', action='store_true',
+ help='instead of the default "store_map", use the "regression_map" for report')
+ parser_build.add_argument('-r', '--raw_test_only', default='',
+ help='output raw test result only for the user provided test result id')
+
diff --git a/poky/scripts/lib/resulttool/resultutils.py b/poky/scripts/lib/resulttool/resultutils.py
index 7cb85a6aa..f0ae8ec1c 100644
--- a/poky/scripts/lib/resulttool/resultutils.py
+++ b/poky/scripts/lib/resulttool/resultutils.py
@@ -177,7 +177,7 @@ def save_resultsdata(results, destdir, fn="testresults.json", ptestjson=False, p
with open(dst.replace(fn, "ptest-%s.log" % i), "w+") as f:
f.write(sectionlog)
-def git_get_result(repo, tags):
+def git_get_result(repo, tags, configmap=store_map):
git_objs = []
for tag in tags:
files = repo.run_cmd(['ls-tree', "--name-only", "-r", tag]).splitlines()
@@ -200,7 +200,7 @@ def git_get_result(repo, tags):
# Optimize by reading all data with one git command
results = {}
for obj in parse_json_stream(repo.run_cmd(['show'] + git_objs + ['--'])):
- append_resultsdata(results, obj)
+ append_resultsdata(results, obj, configmap=configmap)
return results
diff --git a/poky/scripts/lib/resulttool/store.py b/poky/scripts/lib/resulttool/store.py
index 79c83dd8b..e0951f0a8 100644
--- a/poky/scripts/lib/resulttool/store.py
+++ b/poky/scripts/lib/resulttool/store.py
@@ -24,6 +24,8 @@ def store(args, logger):
configvars = resultutils.extra_configvars.copy()
if args.executed_by:
configvars['EXECUTED_BY'] = args.executed_by
+ if args.extra_test_env:
+ configvars['EXTRA_TEST_ENV'] = args.extra_test_env
results = {}
logger.info('Reading files from %s' % args.source)
if resultutils.is_url(args.source) or os.path.isfile(args.source):
@@ -98,4 +100,5 @@ def register_commands(subparsers):
help='don\'t error if no results to store are found')
parser_build.add_argument('-x', '--executed-by', default='',
help='add executed-by configuration to each result file')
-
+ parser_build.add_argument('-t', '--extra-test-env', default='',
+ help='add extra test environment data to each result file configuration')
diff --git a/poky/scripts/lib/resulttool/template/test_report_full_text.txt b/poky/scripts/lib/resulttool/template/test_report_full_text.txt
index 17c99cb4e..2efba2ef6 100644
--- a/poky/scripts/lib/resulttool/template/test_report_full_text.txt
+++ b/poky/scripts/lib/resulttool/template/test_report_full_text.txt
@@ -8,7 +8,8 @@ Test Result Status Summary (Counts/Percentages sorted by testseries, ID)
{{ report.testseries.ljust(maxlen['testseries']) }} | {{ report.result_id.ljust(maxlen['result_id']) }} | {{ (report.passed|string).ljust(maxlen['passed']) }} | {{ (report.failed|string).ljust(maxlen['failed']) }} | {{ (report.skipped|string).ljust(maxlen['skipped']) }}
{% endfor %}
--------------------------------------------------------------------------------------------------------------
-
+{{ 'Total'.ljust(maxlen['testseries']) }} | {{ reporttotalvalues['count'].ljust(maxlen['result_id']) }} | {{ reporttotalvalues['passed'].ljust(maxlen['passed']) }} | {{ reporttotalvalues['failed'].ljust(maxlen['failed']) }} | {{ reporttotalvalues['skipped'].ljust(maxlen['skipped']) }}
+--------------------------------------------------------------------------------------------------------------
{% for machine in machines %}
{% if ptests[machine] %}
diff --git a/poky/scripts/lib/wic/help.py b/poky/scripts/lib/wic/help.py
index af7d0576e..968cc0ed6 100644
--- a/poky/scripts/lib/wic/help.py
+++ b/poky/scripts/lib/wic/help.py
@@ -1046,3 +1046,59 @@ NAME
DESCRIPTION
Specify a help topic to display it. Topics are shown above.
"""
+
+
+wic_help = """
+Creates a customized OpenEmbedded image.
+
+Usage: wic [--version]
+ wic help [COMMAND or TOPIC]
+ wic COMMAND [ARGS]
+
+ usage 1: Returns the current version of Wic
+ usage 2: Returns detailed help for a COMMAND or TOPIC
+ usage 3: Executes COMMAND
+
+
+COMMAND:
+
+ list - List available canned images and source plugins
+ ls - List contents of partitioned image or partition
+ rm - Remove files or directories from the vfat or ext* partitions
+ help - Show help for a wic COMMAND or TOPIC
+ write - Write an image to a device
+ cp - Copy files and directories to the vfat or ext* partitions
+ create - Create a new OpenEmbedded image
+
+
+TOPIC:
+ overview - Presents an overall overview of Wic
+ plugins - Presents an overview and API for Wic plugins
+ kickstart - Presents a Wic kicstart file reference
+
+
+Examples:
+
+ $ wic --version
+
+ Returns the current version of Wic
+
+
+ $ wic help cp
+
+ Returns the SYNOPSIS and DESCRIPTION for the Wic "cp" command.
+
+
+ $ wic list images
+
+ Returns the list of canned images (i.e. *.wks files located in
+ the /scripts/lib/wic/canned-wks directory.
+
+
+ $ wic create mkefidisk -e core-image-minimal
+
+ Creates an EFI disk image from artifacts used in a previous
+ core-image-minimal build in standard BitBake locations
+ (e.g. Cooked Mode).
+
+"""
diff --git a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
index 24299c1ec..11326a274 100644
--- a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
+++ b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
@@ -336,19 +336,23 @@ class IsoImagePlugin(SourcePlugin):
(img_iso_dir, isodir)
exec_cmd(install_cmd)
else:
+ # Default to 100 blocks of extra space for file system overhead
+ esp_extra_blocks = int(source_params.get('esp_extra_blocks', '100'))
+
du_cmd = "du -bks %s/EFI" % isodir
out = exec_cmd(du_cmd)
blocks = int(out.split()[0])
- # Add some extra space for file system overhead
- blocks += 100
+ blocks += esp_extra_blocks
logger.debug("Added 100 extra blocks to %s to get to %d "
"total blocks", part.mountpoint, blocks)
# dosfs image for EFI boot
bootimg = "%s/efi.img" % isodir
- dosfs_cmd = 'mkfs.vfat -n "EFIimg" -S 512 -C %s %d' \
- % (bootimg, blocks)
+ esp_label = source_params.get('esp_label', 'EFIimg')
+
+ dosfs_cmd = 'mkfs.vfat -n \'%s\' -S 512 -C %s %d' \
+ % (esp_label, bootimg, blocks)
exec_native_cmd(dosfs_cmd, native_sysroot)
mmd_cmd = "mmd -i %s ::/EFI" % bootimg