Skip to content

Commit aed87f5

Browse files
authored
Copy sibling fields to avoid changing parent unit (bugfix) (#2497)
Bugfix: copy sibling fields to avoid changing parent unit This would lead to funny bugs like flags of the parent unit being modified when sibiling unit is modified
1 parent 8878af7 commit aed87f5

1 file changed

Lines changed: 9 additions & 8 deletions

File tree

  • checkbox-ng/plainbox/impl/session

checkbox-ng/plainbox/impl/session/state.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,25 +27,26 @@
2727
import logging
2828
import re
2929
import shutil
30-
3130
from contextlib import suppress
31+
from copy import copy
3232

3333
from plainbox.abc import IJobResult
3434
from plainbox.i18n import gettext as _
3535
from plainbox.impl import deprecated
36-
from plainbox.impl.depmgr import DependencyDuplicateError
37-
from plainbox.impl.depmgr import DependencyError
38-
from plainbox.impl.depmgr import DependencySolver
36+
from plainbox.impl.depmgr import (
37+
DependencyDuplicateError,
38+
DependencyError,
39+
DependencySolver,
40+
)
3941
from plainbox.impl.secure.qualifiers import select_units
40-
from plainbox.impl.session.jobs import JobState
41-
from plainbox.impl.session.jobs import UndesiredJobReadinessInhibitor
42+
from plainbox.impl.session.jobs import JobState, UndesiredJobReadinessInhibitor
4243
from plainbox.impl.session.system_information import (
4344
collect as collect_system_information,
4445
)
4546
from plainbox.impl.unit.job import JobDefinition
46-
from plainbox.impl.unit.unit_with_id import UnitWithId
4747
from plainbox.impl.unit.testplan import TestPlanUnitSupport
4848
from plainbox.impl.unit.unit import on_ubuntucore
49+
from plainbox.impl.unit.unit_with_id import UnitWithId
4950
from plainbox.suspend_consts import Suspend
5051
from plainbox.vendor import morris
5152

@@ -1217,7 +1218,7 @@ def _add_job_siblings_unit(self, new_job, recompute, via):
12171218
if suspend_flag not in new_job.get_flag_set():
12181219
continue
12191220
data = {
1220-
key: value
1221+
key: copy(value)
12211222
for key, value in new_job._data.items()
12221223
if not key.endswith("siblings")
12231224
}

0 commit comments

Comments
 (0)