This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Neels Hofmeyr gerrit-no-reply at lists.osmocom.orgHello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/2705 to look at the new patch set (#3). resource error logging that is easier to understand Log what a suite requested, what it has reserved and the complete resource state. Change-Id: Ic6887bbe5fe74a73f0e344cd4078dd7ed989cc15 --- M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/suite.py 2 files changed, 20 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/05/2705/3 diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index e660066..ebc9457 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -463,8 +463,9 @@ available = available_dict.get(kind) self.dbg(available=len(available)) if not available: - raise NoResourceExn('No unused resource found: %r%s' % + raise NoResourceExn('When trying to reserve %r nr %d: No unused resource found%s' % (kind, + self.count(kind) + 1, (' matching %r' % specifics) if specifics else '') ) pick = available[0] @@ -496,5 +497,13 @@ self.resources_pool.free(self.origin, self.reserved) self.reserved = None + def counts(self): + counts = {} + for key in self.reserved.keys(): + counts[key] = self.count(key) + return counts + + def count(self, key): + return len(self.reserved.get(key) or []) # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index d55ee92..5d03b95 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -22,6 +22,7 @@ import time import copy import traceback +import pprint from . import config, log, template, util, resource, schema, ofono_client, osmo_nitb, event_loop from . import test @@ -130,7 +131,8 @@ ftype = type(e).__name__ fmsg = repr(e) + '\n' + traceback.format_exc().rstrip() if isinstance(e, resource.NoResourceExn): - fmsg += '\n' + 'Current resource state:\n' + repr(suite_run.reserved_resources) + fmsg += suite_run.resource_status_str() + self.set_fail(ftype, fmsg, False) finally: @@ -314,6 +316,13 @@ self.log('prompt entered:', repr(entered)) return entered + def resource_status_str(self): + return '\n'.join(('', + 'SUITE RUN: %s' % self.origin_id(), + 'ASKED FOR:', pprint.pformat(self._resource_requirements), + 'RESERVED COUNT:', pprint.pformat(self.reserved_resources.counts()), + 'RESOURCES STATE:', repr(self.reserved_resources))) + loaded_suite_definitions = {} def load(suite_name): -- To view, visit https://gerrit.osmocom.org/2705 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic6887bbe5fe74a73f0e344cd4078dd7ed989cc15 Gerrit-PatchSet: 3 Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>