def METHOD_NAME(self):
    completed_set = set()
    track_workflow(self.spec, completed_set)
    for task in self.workflow.get_tasks(TaskState.READY):
        task.set_data(should_escalate=True)
    self.workflow.do_engine_steps()
    self.save_restore()
    self.workflow.run_all()
    self.assertEqual(True, self.workflow.is_completed())
    self.assertEqual(True, 'EndEvent_specific1_noninterrupting_normal' in completed_set)
    self.assertEqual(True, 'EndEvent_specific1_noninterrupting_escalated' in completed_set)
    self.assertEqual(True, 'EndEvent_specific1_interrupting_normal' not in completed_set)
    self.assertEqual(True, 'EndEvent_specific1_interrupting_escalated' in completed_set)
    self.assertEqual(True, 'EndEvent_specific2_noninterrupting_normal' in completed_set)
    self.assertEqual(True, 'EndEvent_specific2_noninterrupting_escalated' in completed_set)
    self.assertEqual(True, 'EndEvent_specific2_noninterrupting_missingvariable' not in completed_set)
    self.assertEqual(True, 'EndEvent_specific2_interrupting_normal' not in completed_set)
    self.assertEqual(True, 'EndEvent_specific2_interrupting_escalated' in completed_set)
    self.assertEqual(True, 'EndEvent_specific2_interrupting_missingvariable' not in completed_set)
    self.assertEqual(True, 'EndEvent_general_noninterrupting_normal' in completed_set)
    self.assertEqual(True, 'EndEvent_general_noninterrupting_escalated' in completed_set)
    self.assertEqual(True, 'EndEvent_general_interrupting_normal' not in completed_set)
    self.assertEqual(True, 'EndEvent_general_interrupting_escalated' in completed_set)