From 04eba8fb617ebb0650368b69519eae1b5e215960 Mon Sep 17 00:00:00 2001 From: Domingo Manubens-Gil Date: Wed, 12 Apr 2017 18:49:44 +0200 Subject: [PATCH 1/2] Ask TASKS and THREADS in lots. Replicate of 3dadfd3efa665dc897e5bb43a45c2af6723e48bb for solving issue #226 , fix also name of test --- autosubmit/config/config_common.py | 6 +++--- autosubmit/job/job.py | 4 ++-- autosubmit/job/job_dict.py | 4 ++-- ...st_autosubmit_ config.py => test_autosubmit_config.py} | 8 ++++---- test/unit/test_dic_jobs.py | 4 ++-- 5 files changed, 13 insertions(+), 13 deletions(-) rename test/unit/{test_autosubmit_ config.py => test_autosubmit_config.py} (99%) diff --git a/autosubmit/config/config_common.py b/autosubmit/config/config_common.py index 70356b200..2ead2c3f1 100644 --- a/autosubmit/config/config_common.py +++ b/autosubmit/config/config_common.py @@ -162,7 +162,7 @@ class AutosubmitConfig(object): :return: threads needed :rtype: str """ - return int(self._jobs_parser.get_option(section, 'THREADS', 1)) + return str(self._jobs_parser.get_option(section, 'THREADS', 1)) def get_tasks(self, section): """ @@ -170,9 +170,9 @@ class AutosubmitConfig(object): :param section: job type :type section: str :return: tasks (processes) per host - :rtype: int + :rtype: str """ - return int(self._jobs_parser.get_option(section, 'TASKS', 0)) + return str(self._jobs_parser.get_option(section, 'TASKS', 0)) def get_scratch_free_space(self, section): """ diff --git a/autosubmit/job/job.py b/autosubmit/job/job.py index d0d8a1842..dfe72425c 100644 --- a/autosubmit/job/job.py +++ b/autosubmit/job/job.py @@ -59,8 +59,8 @@ class Job(object): self.platform_name = None self.section = None self.wallclock = None - self.tasks = None - self.threads = None + self.tasks = '1' + self.threads = '1' self.processors = '1' self.memory = '' self.memory_per_task = '' diff --git a/autosubmit/job/job_dict.py b/autosubmit/job/job_dict.py index aa01e9d93..177576819 100644 --- a/autosubmit/job/job_dict.py +++ b/autosubmit/job/job_dict.py @@ -292,8 +292,8 @@ class DicJobs: job.queue = self.get_option(section, "QUEUE", None) job.check = self.get_option(section, "CHECK", 'True').lower() job.processors = str(self.get_option(section, "PROCESSORS", 1)) - job.threads = self.get_option(section, "THREADS", '') - job.tasks = self.get_option(section, "TASKS", '') + job.threads = str(self.get_option(section, "THREADS", 1)) + job.tasks = str(self.get_option(section, "TASKS", 1)) job.memory = self.get_option(section, "MEMORY", '') job.memory_per_task = self.get_option(section, "MEMORY_PER_TASK", '') job.wallclock = self.get_option(section, "WALLCLOCK", '') diff --git a/test/unit/test_autosubmit_ config.py b/test/unit/test_autosubmit_config.py similarity index 99% rename from test/unit/test_autosubmit_ config.py rename to test/unit/test_autosubmit_config.py index eea91d336..560b8b480 100644 --- a/test/unit/test_autosubmit_ config.py +++ b/test/unit/test_autosubmit_config.py @@ -108,23 +108,23 @@ class TestAutosubmitConfig(TestCase): def test_get_threads(self): # arrange - expected_value = 99999 + expected_value = '99999' default_value = 1 config, parser_mock = self._arrange_config(expected_value) # act returned_value = config.get_threads(self.section) # assert - self._assert_get_option(parser_mock, 'THREADS', expected_value, returned_value, default_value, int) + self._assert_get_option(parser_mock, 'THREADS', expected_value, returned_value, default_value, str) def test_get_tasks(self): # arrange - expected_value = 99999 + expected_value = '99999' default_value = 0 config, parser_mock = self._arrange_config(expected_value) # act returned_value = config.get_tasks(self.section) # assert - self._assert_get_option(parser_mock, 'TASKS', expected_value, returned_value, default_value, int) + self._assert_get_option(parser_mock, 'TASKS', expected_value, returned_value, default_value, str) def test_get_memory(self): # arrange diff --git a/test/unit/test_dic_jobs.py b/test/unit/test_dic_jobs.py index 49b6c5c22..3234d79e2 100644 --- a/test/unit/test_dic_jobs.py +++ b/test/unit/test_dic_jobs.py @@ -287,8 +287,8 @@ class TestDicJobs(TestCase): filename = 'fake-fike' queue = 'fake-queue' processors = '111' - threads = 222 - tasks = 333 + threads = '222' + tasks = '333' memory = memory_per_task = 444 wallclock = 555 notify_on = 'COMPLETED FAILED' -- GitLab From 1d968ed58f51e6374ce045624d25aeb500a77b92 Mon Sep 17 00:00:00 2001 From: Domingo Manubens-Gil Date: Thu, 13 Apr 2017 15:01:05 +0200 Subject: [PATCH 2/2] Minor. Fix previous commit. --- autosubmit/platforms/headers/ec_cca_header.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autosubmit/platforms/headers/ec_cca_header.py b/autosubmit/platforms/headers/ec_cca_header.py index 9037c9c59..c621bbfc8 100644 --- a/autosubmit/platforms/headers/ec_cca_header.py +++ b/autosubmit/platforms/headers/ec_cca_header.py @@ -38,14 +38,14 @@ class EcCcaHeader(object): # noinspection PyMethodMayBeStatic def get_tasks_per_node(self, job): - if not isinstance(job.tasks, int): + if not isinstance(job.tasks, str): return "" else: return '#PBS -l EC_tasks_per_node={0}'.format(job.tasks) # noinspection PyMethodMayBeStatic def get_threads_per_task(self, job): - if not isinstance(job.threads, int): + if not isinstance(job.threads, str): return "" else: return '#PBS -l EC_threads_per_task={0}'.format(job.threads) -- GitLab