|
24 | 24 | from fireworks.user_objects.firetasks.templatewriter_task import TemplateWriterTask
|
25 | 25 | from fw_tutorials.dynamic_wf.fibadd_task import FibonacciAdderTask
|
26 | 26 | from fw_tutorials.firetask.addition_task import AdditionTask
|
27 |
| -from fireworks.tests.tasks import DummyTask |
| 27 | +from fireworks.tests.tasks import DummyFWEnvTask, DummyJobPassTask, DummyLPTask |
28 | 28 | from fireworks.features.stats import FWStats
|
29 | 29 | import six
|
30 | 30 |
|
@@ -266,20 +266,50 @@ def test_multi_detour(self):
|
266 | 266 | self.assertEqual(set(links[4]), set([2]))
|
267 | 267 | self.assertEqual(set(links[5]), set([2]))
|
268 | 268 |
|
269 |
| - def test_fworkerenv(self): |
270 |
| - t = DummyTask() |
| 269 | + def test_fw_env(self): |
| 270 | + t = DummyFWEnvTask() |
271 | 271 | fw = Firework(t)
|
272 | 272 | self.lp.add_wf(fw)
|
273 | 273 | launch_rocket(self.lp, self.fworker)
|
274 |
| - self.assertEqual(self.lp.get_launch_by_id(1).action.stored_data[ |
275 |
| - 'data'], |
276 |
| - "hello") |
| 274 | + self.assertEqual(self.lp.get_launch_by_id(1).action.stored_data['data'], "hello") |
277 | 275 | self.lp.add_wf(fw)
|
278 | 276 | launch_rocket(self.lp, FWorker(env={"hello": "world"}))
|
279 | 277 | self.assertEqual(self.lp.get_launch_by_id(2).action.stored_data[
|
280 | 278 | 'data'],
|
281 | 279 | "world")
|
282 | 280 |
|
| 281 | + def test_job_info(self): |
| 282 | + fw1 = Firework([ScriptTask.from_str('echo "Testing job info"')], spec={"_pass_job_info": True}, fw_id=1) |
| 283 | + fw2 = Firework([DummyJobPassTask()], parents=[fw1], spec={"_pass_job_info": True}, fw_id=2) |
| 284 | + fw3 = Firework([DummyJobPassTask()], parents=[fw2], fw_id=3) |
| 285 | + self.lp.add_wf(Workflow([fw1, fw2, fw3])) |
| 286 | + launch_rocket(self.lp, self.fworker) |
| 287 | + modified_spec = self.lp.get_fw_by_id(2).spec |
| 288 | + self.assertIsNotNone(modified_spec['_job_info']) |
| 289 | + self.assertTrue(modified_spec['_job_info'][0].has_key("launch_dir")) |
| 290 | + self.assertEqual(modified_spec['_job_info'][0]['name'], 'Unnamed FW') |
| 291 | + self.assertEqual(modified_spec['_job_info'][0]['fw_id'], 1) |
| 292 | + |
| 293 | + launch_rocket(self.lp, self.fworker) |
| 294 | + modified_spec = self.lp.get_fw_by_id(3).spec |
| 295 | + print modified_spec |
| 296 | + self.assertEqual(len(modified_spec['_job_info']), 2) |
| 297 | + |
| 298 | + def test_preserve_fworker(self): |
| 299 | + fw1 = Firework([ScriptTask.from_str('echo "Testing preserve FWorker"')], spec={"_preserve_fworker": True}, fw_id=1) |
| 300 | + fw2 = Firework([DummyJobPassTask()], parents=[fw1], fw_id=2) |
| 301 | + self.lp.add_wf(Workflow([fw1, fw2])) |
| 302 | + launch_rocket(self.lp, self.fworker) |
| 303 | + modified_spec = self.lp.get_fw_by_id(2).spec |
| 304 | + self.assertIsNotNone(modified_spec['_fworker']) |
| 305 | + |
| 306 | + def test_add_lp_and_fw_id(self): |
| 307 | + fw1 = Firework([DummyLPTask()], spec={"_add_launchpad_and_fw_id": True}) |
| 308 | + self.lp.add_wf(fw1) |
| 309 | + launch_rocket(self.lp, self.fworker) |
| 310 | + self.assertEqual(self.lp.get_launch_by_id(1).action.stored_data['fw_id'], 1) |
| 311 | + self.assertIsNotNone(self.lp.get_launch_by_id(1).action.stored_data['host']) |
| 312 | + |
283 | 313 | def test_spec_copy(self):
|
284 | 314 | task1 = ScriptTask.from_str('echo "Task 1"')
|
285 | 315 | task2 = ScriptTask.from_str('echo "Task 2"')
|
|
0 commit comments