Skip to content

Commit 6626cd3

Browse files
committed
Removed unnecessary construction of Informer in Submitter.submit
1 parent e9c87e4 commit 6626cd3

2 files changed

Lines changed: 62 additions & 72 deletions

File tree

src/qq_lib/submit/submitter.py

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -161,40 +161,37 @@ def submit(self, remote: str | None = None) -> str:
161161
)
162162

163163
# create job qq info file
164-
informer = Informer(
165-
Info(
166-
batch_system=self._batch_system,
167-
qq_version=qq_lib.__version__,
168-
username=getpass.getuser(),
169-
job_id=job_id,
170-
job_name=self._job_name,
171-
script_name=self._script_name,
172-
queue=self._queue,
173-
job_type=self._job_type,
174-
input_machine=socket.getfqdn(remote or ""),
175-
input_dir=self._input_dir,
176-
job_state=NaiveState.QUEUED,
177-
submission_time=datetime.now(),
178-
stdout_file=str(Path(self._job_name).with_suffix(CFG.suffixes.stdout)),
179-
stderr_file=str(Path(self._job_name).with_suffix(CFG.suffixes.stderr)),
180-
resources=self._resources,
181-
loop_info=self._loop_info,
182-
excluded_files=self._exclude,
183-
included_files=self._include,
184-
depend=self._depend,
185-
account=self._account,
186-
transfer_mode=self._transfer_mode,
187-
server=self._server,
188-
interpreter=self._interpreter,
189-
resubmit_from=self._resubmit_from,
190-
)
191-
)
192-
193164
# we create the info file from the current machine no matter
194165
# whether we are submiting from the current machine or from the remote machine
195166
# the input directory should be available on both concerned machines,
196167
# so this should be okay
197-
informer.to_file(self._info_file)
168+
Info(
169+
batch_system=self._batch_system,
170+
qq_version=qq_lib.__version__,
171+
username=getpass.getuser(),
172+
job_id=job_id,
173+
job_name=self._job_name,
174+
script_name=self._script_name,
175+
queue=self._queue,
176+
job_type=self._job_type,
177+
input_machine=socket.getfqdn(remote or ""),
178+
input_dir=self._input_dir,
179+
job_state=NaiveState.QUEUED,
180+
submission_time=datetime.now(),
181+
stdout_file=str(Path(self._job_name).with_suffix(CFG.suffixes.stdout)),
182+
stderr_file=str(Path(self._job_name).with_suffix(CFG.suffixes.stderr)),
183+
resources=self._resources,
184+
loop_info=self._loop_info,
185+
excluded_files=self._exclude,
186+
included_files=self._include,
187+
depend=self._depend,
188+
account=self._account,
189+
transfer_mode=self._transfer_mode,
190+
server=self._server,
191+
interpreter=self._interpreter,
192+
resubmit_from=self._resubmit_from,
193+
).to_file(self._info_file)
194+
198195
return job_id
199196

200197
def continues_loop(self) -> bool:

tests/submit/test_submit_submitter.py

Lines changed: 35 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -613,11 +613,11 @@ def test_submitter_submit_calls_all_steps_and_returns_job_id(tmp_path):
613613
patch.object(
614614
submitter._batch_system, "job_submit", return_value="jobid123"
615615
) as mock_job_submit,
616-
patch("qq_lib.submit.submitter.Informer") as mock_informer_class,
616+
patch("qq_lib.submit.submitter.Info") as mock_info_class,
617617
patch("qq_lib.__version__", "1.0"),
618618
):
619-
mock_informer_instance = MagicMock()
620-
mock_informer_class.return_value = mock_informer_instance
619+
mock_info_instance = MagicMock()
620+
mock_info_class.return_value = mock_info_instance
621621

622622
result = submitter.submit()
623623

@@ -633,8 +633,8 @@ def test_submitter_submit_calls_all_steps_and_returns_job_id(tmp_path):
633633
submitter._server,
634634
remote_host=None,
635635
)
636-
mock_informer_class.assert_called_once()
637-
mock_informer_instance.to_file.assert_called_once_with(submitter._info_file)
636+
mock_info_class.assert_called_once()
637+
mock_info_instance.to_file.assert_called_once_with(submitter._info_file)
638638
assert result == "jobid123"
639639

640640

@@ -667,15 +667,15 @@ def test_submitter_submit(tmp_path):
667667
patch.object(
668668
submitter._batch_system, "job_submit", return_value="jobid123"
669669
) as mock_job_submit,
670-
patch("qq_lib.submit.submitter.Informer") as mock_informer_class,
670+
patch("qq_lib.submit.submitter.Info") as mock_info_class,
671671
patch("qq_lib.__version__", "1.0"),
672672
patch("getpass.getuser", return_value="testuser"),
673673
patch("socket.getfqdn", return_value="host123"),
674674
patch("qq_lib.submit.submitter.datetime") as mock_datetime,
675675
):
676676
mock_datetime.now.return_value = datetime(2025, 10, 14, 12, 0, 0)
677-
mock_informer_instance = MagicMock()
678-
mock_informer_class.return_value = mock_informer_instance
677+
mock_info_instance = MagicMock()
678+
mock_info_class.return_value = mock_info_instance
679679

680680
result = submitter.submit()
681681

@@ -691,38 +691,31 @@ def test_submitter_submit(tmp_path):
691691
submitter._server,
692692
remote_host=None,
693693
)
694-
mock_informer_class.assert_called_once()
695-
mock_informer_instance.to_file.assert_called_once_with(submitter._info_file)
696-
assert result == "jobid123"
697-
698-
# capture the Info passed to Informer
699-
info_arg = mock_informer_class.call_args[0][0]
700-
701-
assert info_arg.batch_system == submitter._batch_system
702-
assert info_arg.qq_version == "1.0"
703-
assert info_arg.username == "testuser"
704-
assert info_arg.job_id == "jobid123"
705-
assert info_arg.job_name == submitter._job_name
706-
assert info_arg.script_name == submitter._script_name
707-
assert info_arg.queue == submitter._queue
708-
assert info_arg.account == submitter._account
709-
assert info_arg.job_type == submitter._job_type
710-
assert info_arg.input_machine == "host123"
711-
assert info_arg.input_dir == submitter._input_dir
712-
assert info_arg.job_state == NaiveState.QUEUED
713-
assert info_arg.submission_time == datetime(2025, 10, 14, 12, 0, 0)
714-
assert info_arg.stdout_file == str(
715-
Path(submitter._job_name).with_suffix(CFG.suffixes.stdout)
694+
mock_info_class.assert_called_once_with(
695+
batch_system=submitter._batch_system,
696+
qq_version="1.0",
697+
username="testuser",
698+
job_id="jobid123",
699+
job_name=submitter._job_name,
700+
script_name=submitter._script_name,
701+
queue=submitter._queue,
702+
account=submitter._account,
703+
job_type=submitter._job_type,
704+
input_machine="host123",
705+
input_dir=submitter._input_dir,
706+
job_state=NaiveState.QUEUED,
707+
submission_time=datetime(2025, 10, 14, 12, 0, 0),
708+
stdout_file=str(Path(submitter._job_name).with_suffix(CFG.suffixes.stdout)),
709+
stderr_file=str(Path(submitter._job_name).with_suffix(CFG.suffixes.stderr)),
710+
resources=submitter._resources,
711+
loop_info=submitter._loop_info,
712+
excluded_files=submitter._exclude,
713+
included_files=submitter._include,
714+
depend=submitter._depend,
715+
transfer_mode=[Always()],
716+
server=submitter._server,
717+
interpreter=None,
718+
resubmit_from=[WorkHost()],
716719
)
717-
assert info_arg.stderr_file == str(
718-
Path(submitter._job_name).with_suffix(CFG.suffixes.stderr)
719-
)
720-
assert info_arg.resources == submitter._resources
721-
assert info_arg.loop_info == submitter._loop_info
722-
assert info_arg.excluded_files == submitter._exclude
723-
assert info_arg.included_files == submitter._include
724-
assert info_arg.depend == submitter._depend
725-
assert info_arg.transfer_mode == [Always()]
726-
assert info_arg.server == submitter._server
727-
assert info_arg.interpreter is None
728-
assert info_arg.resubmit_from == [WorkHost()]
720+
mock_info_instance.to_file.assert_called_once_with(submitter._info_file)
721+
assert result == "jobid123"

0 commit comments

Comments
 (0)