def test_basic(self): mul2 = lambda x: (time.sleep(1), x * 2)[-1] sum_n = lambda *args: (time.sleep(0.1), sum(args))[-1] sum_n_plus_x = lambda *args, x=10: (time.sleep(1), sum(args) + x)[-1] t1 = SimpleTask("task1", action=mul2, args=(10, )) t2 = SimpleTask("task2", action=mul2, args=(20, )) t3 = SimpleTask("task3", action=mul2, args=(30, )) t4 = SimpleTask("task4", action=mul2, args=(40, )) t5 = SimpleTask("task5", action=mul2, args=(50, )) t6 = SimpleTask("task6", action=sum_n, args=(TaskResult("task1"), TaskResult("task2"), TaskResult("task3"), TaskResult("task5"))) t7 = SimpleTask("task7", action=sum_n_plus_x, args=(TaskResult("task1"), TaskResult("task5")), kwargs=dict(x=100)) t8 = SimpleTask("task8", action=sum_n_plus_x, args=(TaskResult("task3"), TaskResult("task6"), TaskResult("task5"))) task_processor = FiniteThreadTaskProcessor(num_threads=2, daemon_thread=False) task_runner = TaskRunner(tasks=[t1, t2, t3, t4, t5, t6, t7, t8], target_tasks=[t7, t8], task_processor=task_processor) task_runner.run() task_runner.printSuccessSummary() task_runner.printErrorSummary() self.assertEqual(220, task_runner.getTask("task7").getResult()) self.assertEqual(390, task_runner.getTask("task8").getResult()) task_processor.close()