Lucas, I saw you were signed on this patch from patchwork. Are you still reviewing this CL?
Eric On Tue, Jan 25, 2011 at 4:32 PM, Dale Curtis <dalecur...@google.com> wrote: > A while back I added support for labels with commas to the host list > cli commands. I've now added the same support to dependencies so > metahost scheduling can be used with dependencies that have commas. > > Signed-off-by: Dale Curtis <dalecur...@google.com> > --- > cli/job.py | 17 +++++++++-------- > cli/job_unittest.py | 31 +++++++++++++++++++++++++++++++ > 2 files changed, 40 insertions(+), 8 deletions(-) > > diff --git a/cli/job.py b/cli/job.py > index 5eb00a5..ddb534f 100644 > --- a/cli/job.py > +++ b/cli/job.py > @@ -299,7 +299,7 @@ class job_create_or_clone(action_common.atest_create, > job): > return (hosts, meta_hosts) > > > - def parse(self): > + def parse(self, parse_info=[]): > host_info = topic_common.item_parse_info(attribute_name='hosts', > inline_option='machine', > filename_option='mlist') > @@ -310,9 +310,9 @@ class job_create_or_clone(action_common.atest_create, > job): > label_info = topic_common.item_parse_info(attribute_name='labels', > inline_option='labels') > > - options, leftover = super(job_create_or_clone, > - self).parse([host_info, job_info, > oth_info, > - label_info], > req_items='jobname') > + options, leftover = super(job_create_or_clone, self).parse( > + [host_info, job_info, oth_info, label_info] + parse_info, > + req_items='jobname') > self.data = {} > if len(self.jobname) > 1: > self.invalid_syntax('Too many arguments specified, only > expected ' > @@ -440,7 +440,10 @@ class job_create(job_create_or_clone): > > > def parse(self): > - options, leftover = super(job_create, self).parse() > + deps_info = > topic_common.item_parse_info(attribute_name='dependencies', > + > inline_option='dependencies') > + options, leftover = super(job_create, self).parse( > + parse_info=[deps_info]) > > if (len(self.hosts) == 0 and not self.one_time_hosts > and not options.labels and not options.atomic_group): > @@ -499,9 +502,7 @@ class job_create(job_create_or_clone): > if options.atomic_group: > self.data['atomic_group_name'] = options.atomic_group > > - deps = options.dependencies.split(',') > - deps = [dep.strip() for dep in deps if dep.strip()] > - self.data['dependencies'] = deps > + self.data['dependencies'] = self.dependencies > > if options.synch_count: > self.data['synch_count'] = options.synch_count > diff --git a/cli/job_unittest.py b/cli/job_unittest.py > index d0240e5..06d9df1 100755 > --- a/cli/job_unittest.py > +++ b/cli/job_unittest.py > @@ -831,6 +831,19 @@ class job_create_unittest(cli_mock.cli_unittest): > file_temp.clean() > > > + def test_execute_create_job_with_control_and_comma_dependencies(self): > + data = self.data.copy() > + data['dependencies'] = ['dep2,False', 'dep1,True'] > + file_temp = cli_mock.create_file(self.ctrl_file) > + self.run_cmd(argv=['atest', 'job', 'create', '-f', file_temp.name > , > + 'test_job0', '-m', 'host0', '-d', > + 'dep1\,True, dep2\,False ', > '--ignore_site_file'], > + rpcs=[('create_job', data, True, 42)], > + out_words_ok=['test_job0', 'Created'], > + out_words_no=['Uploading', 'Done']) > + file_temp.clean() > + > + > def test_execute_create_job_with_synch_count(self): > data = self.data.copy() > data['synch_count'] = 2 > @@ -862,6 +875,24 @@ class job_create_unittest(cli_mock.cli_unittest): > out_words_no=['Uploading', 'Done']) > > > + def test_execute_create_job_with_test_and_comma_dependencies(self): > + data = self.data.copy() > + data['dependencies'] = ['dep1,True', 'dep2,False', 'dep3,123'] > + self.run_cmd(argv=['atest', 'job', 'create', '-t', 'sleeptest', > + 'test_job0', '-m', 'host0', '-d', > + 'dep1\,True dep2\,False ', > '--ignore_site_file'], > + rpcs=[('generate_control_file', > + {'tests': ['sleeptest']}, > + True, > + {'control_file' : self.ctrl_file, > + 'synch_count' : 1, > + 'is_server' : False, > + 'dependencies' : ['dep3,123']}), > + ('create_job', data, True, 42)], > + out_words_ok=['test_job0', 'Created'], > + out_words_no=['Uploading', 'Done']) > + > + > def test_execute_create_job_with_kernel(self): > data = self.data.copy() > data['control_file'] = self.kernel_ctrl_file > -- > 1.7.3.1 > _______________________________________________ > Autotest mailing list > Autotest@test.kernel.org > http://test.kernel.org/cgi-bin/mailman/listinfo/autotest > -- Eric Li 李咏竹 Google Kirkland
_______________________________________________ Autotest mailing list Autotest@test.kernel.org http://test.kernel.org/cgi-bin/mailman/listinfo/autotest