lp:~zyga/checkbox/result-builder
- Get this branch:
- bzr branch lp:~zyga/checkbox/result-builder
Branch merges
- Sylvain Pineau (community): Approve
- Zygmunt Krynicki (community): Approve
-
Diff: 1513 lines (+385/-303)9 files modifiedcheckbox-ng/checkbox_ng/commands/newcli.py (+2/-1)
checkbox-ng/checkbox_ng/dbus_ex/service.py (+9/-0)
checkbox-ng/checkbox_ng/service.py (+35/-19)
checkbox-touch/py/checkbox_touch.py (+11/-7)
plainbox/plainbox/impl/commands/inv_run.py (+44/-42)
plainbox/plainbox/impl/exporter/test_hexr.py (+32/-43)
plainbox/plainbox/impl/result.py (+101/-102)
plainbox/plainbox/impl/runner.py (+90/-85)
plainbox/plainbox/impl/test_result.py (+61/-4)
Branch information
Recent revisions
- 3828. By Zygmunt Krynicki
-
plainbox:result: remove all setters and change signals
Signed-off-by: Zygmunt Krynicki <email address hidden>
- 3827. By Zygmunt Krynicki
-
checkbox-
ng:service: use custom dbus object path for results This patch changes the way object paths are created for results so that
they don't reflect the identity of the wrapped object, but instead, of
the wrapper itself.Signed-off-by: Zygmunt Krynicki <email address hidden>
- 3826. By Zygmunt Krynicki
-
checkbox-
ng:service: create new objects on result modification This patch does three tightly coupled things:
- It entirely prevents any modifications to job results, as seen in the
service (while keeping the interface that allows one to do so over
dbus). Each such change is now replaced by the creation of a new
result that internally replaces the last one.
- It removes all signal handling related to such modifications (so no
more subscribe/unsubscribe calls)
- It suppresses a KeyError that would be raised when a (replaced)
result was being removed. This can happen when a result replaces
itself (internally) and we try to remove the old instance again (only
holding the python-side, aka native, object as the key).Signed-off-by: Zygmunt Krynicki <email address hidden>
- 3825. By Zygmunt Krynicki
-
checkbox-
ng:service: use JobResultBuilder for SetOutcome() This patch uses a result builder in the sequence of calls that implement
the SetOutcome logic (used for manual and interactive jobs only). This
is done to prevent modification of any existing result.Signed-off-by: Zygmunt Krynicki <email address hidden>
- 3824. By Zygmunt Krynicki
-
checkbox-
ng:dbus_ ex: add setter for ObjectWrapper. native This patch makes it possible to re-target an ObjectWrapper so that from
the outside, nothing changes, but on the inside, the object being
wrapped (the python object being wrapped with a dbus interface) is
indeed changed.The main motivation for this change is to make it possible to re-wire
results on any change (which are about to become immutable).Signed-off-by: Zygmunt Krynicki <email address hidden>
- 3823. By Zygmunt Krynicki
-
checkbox-
ng:commands: newcli: don't clobber outcome This patch makes checkbox-ng create a new result object rather than
modifying the existing one before a re-run session.Signed-off-by: Zygmunt Krynicki <email address hidden>
- 3822. By Zygmunt Krynicki
-
checkbox-touch: use JobResultBuilder
Signed-off-by: Zygmunt Krynicki <email address hidden>
- 3821. By Zygmunt Krynicki
-
plainbox:
exporter: hexr: fix escaping test The original test injected "evil" data by setting the _io_log attribute
(note the leading underscore). This was easily mistaken since the
original code was accepting any attributes. I spotted this during the
job result builder conversion and decided to fix it properly.Signed-off-by: Zygmunt Krynicki <email address hidden>
- 3820. By Zygmunt Krynicki
-
plainbox:
exporter: hexr: use JobResultBuilder Signed-off-by: Zygmunt Krynicki <email address hidden>
- 3819. By Zygmunt Krynicki
-
plainbox:
commands: run: use JobResultBuilder This patch changes all of the result handling in the implementation of
"plainbox run" to rely on job result builder. This is done to avoid any
modification of existing results and instead, if appropriate,
construction of new results.One minor detail is that the timing measurements are now done at a lower
level, where we still have the result builder.Signed-off-by: Zygmunt Krynicki <email address hidden>
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:checkbox