X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/908959eafe8a9925cb2c204d6511095f702c1667..060d38d627bd1e51dd2b3c6e7de9af6aa7d7b6f3:/services/nodemanager/tests/test_computenode_dispatch_slurm.py?ds=sidebyside diff --git a/services/nodemanager/tests/test_computenode_dispatch_slurm.py b/services/nodemanager/tests/test_computenode_dispatch_slurm.py index 38fe1d799f..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,17 +26,21 @@ 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 proc_mock.side_effect = None self.check_success_flag(True, 3) - self.check_slurm_got_args(proc_mock, 'compute63') + self.check_slurm_got_args(proc_mock, 'NodeName=compute63') def make_wait_state_test(start_state='drng\n', end_state='drain\n'): def test(self, proc_mock): @@ -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'