def test_internal_calls_multisubmit_failed_state(self): run_one_suffix = "base" run_two_suffix = "run2" case1root, _ = self.get_caseroots() case1 = CaseFake(case1root) def _set_initial_test_values(x): x.set_value("RESUBMIT", 1) case1.set_initial_test_values = functools.partial( _set_initial_test_values, case1) # Standard first phase case1.set_value("IS_FIRST_RUN", True) case1.set_value("RESUBMIT", 1) mytest = SystemTestsCompareTwoFake( case1=case1, run_one_suffix=run_one_suffix, run_two_suffix=run_two_suffix, multisubmit=True, ) mytest.run() expected_calls = [ Call(METHOD_case_one_custom_prerun_action, {}), Call(METHOD_run_indv, { "CASEROOT": case1root, "suffix": "base" }), Call(METHOD_case_one_custom_postrun_action, {}), ] self.assertEqual(expected_calls, mytest.log) # Emulate a rerun ensure phase 1 still runs case1.set_value("IS_FIRST_RUN", True) case1.set_value("RESUBMIT", 0) # Reset the log mytest.log = [] mytest.run() expected_calls = [ Call(METHOD_case_one_custom_prerun_action, {}), Call(METHOD_run_indv, { "CASEROOT": case1root, "suffix": "base" }), Call(METHOD_case_one_custom_postrun_action, {}), ] self.assertEqual(expected_calls, mytest.log)