X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/425f9a753e4390215b95b794785efd38bbc5f42d..0561bd0c3c07257fd58ded6c7cfa5feeae97af57:/services/nodemanager/tests/test_computenode_dispatch_slurm.py diff --git a/services/nodemanager/tests/test_computenode_dispatch_slurm.py b/services/nodemanager/tests/test_computenode_dispatch_slurm.py index e1def28d8b..c7eb7afc63 100644 --- a/services/nodemanager/tests/test_computenode_dispatch_slurm.py +++ b/services/nodemanager/tests/test_computenode_dispatch_slurm.py @@ -1,4 +1,7 @@ #!/usr/bin/env python +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 from __future__ import absolute_import, print_function @@ -23,11 +26,15 @@ class SLURMComputeNodeShutdownActorTestCase(ComputeNodeShutdownActorMixin, for s in args: self.assertIn(s, slurm_cmd) - def check_success_after_reset(self, proc_mock, end_state='drain\n'): + def check_success_after_reset(self, proc_mock, end_state='drain\n', timer=False): self.make_mocks(arvados_node=testutil.arvados_node_mock(63)) + if not timer: + self.timer = testutil.MockTimer(False) self.make_actor() self.check_success_flag(None, 0) + self.timer.deliver() self.check_success_flag(None, 0) + self.timer.deliver() # Order is critical here: if the mock gets called when no return value # or side effect is set, we may invoke a real subprocess. proc_mock.return_value = end_state @@ -85,7 +92,7 @@ class SLURMComputeNodeShutdownActorTestCase(ComputeNodeShutdownActorMixin, def test_issue_slurm_drain_retry(self, proc_mock): proc_mock.side_effect = iter([OSError, '', OSError, 'drng\n']) - self.check_success_after_reset(proc_mock) + self.check_success_after_reset(proc_mock, timer=False) def test_arvados_node_cleaned_after_shutdown(self, proc_mock): proc_mock.return_value = 'drain\n'