Oops..Sorry.Ignore it.That is a bug.

On Thu, Oct 31, 2013 at 7:16 AM, Rajeev S <[email protected]> wrote:

> Hi Lucas,
>
> That is not a bug.New variables can be declared inside the if body.Just
> brought it to your notice :)
>
>
> On Wed, Oct 30, 2013 at 11:40 PM, Lucas Meneghel Rodrigues <[email protected]
> > wrote:
>
>> On 10/29/2013 11:23 AM, Rajeev S wrote:
>>
>>> Patch to specify the location of the test directory via an
>>> extra command line option.
>>>
>>> Usage:./autotest -d /path/to/dir path/to/control
>>>
>>
>> Lack of Signed-off-by: tag
>> Lack of identification (patch signature)
>>
>> This patch doesn't seem to be created using git send-email.
>>
>> I had to fix this all. Please try to be more attentive of these details.
>> I am fine with people sending some patches to the mailing list and
>> bypassing github from time to time, but *please* at least use standard
>> procedure.
>>
>> I did look at the patch, found a bug, that was fixed, see comment below.
>> After fixing the problems the patch was pushed to next
>>
>> commit bec0b292180be277749321b56f38f3**0bbb280ce4
>> Author: Rajeev S <[email protected]>
>> Date:   Wed Oct 30 15:31:46 2013 -0200
>>
>>     autotest-local: Specify test directory as a command line option
>>
>>     This patch allows to specify the location of the test
>>     directory via an extra command line option, -d.
>>
>>
>>     Usage:./autotest -d /path/to/dir path/to/control
>>
>>     Signed-off-by: Rajeev S <[email protected]>
>>
>> Thanks,
>>
>> Lucas
>>
>>
>>
>>> ---
>>>   client/autotest_local.py           |    6 ++++++
>>>   client/cmdparser.py                |   11 ++++++++++-
>>>   client/optparser.py                |    3 +++
>>>   client/setup_job.py                |    8 ++++++++
>>>   client/shared/base_job.py          |    6 ++++++
>>>   client/shared/base_job_**unittest.py |    2 +-
>>>   client/shared/test.py              |    2 +-
>>>   7 files changed, 35 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/client/autotest_local.py b/client/autotest_local.py
>>> index ab5dbd6..276fe16 100644
>>> --- a/client/autotest_local.py
>>> +++ b/client/autotest_local.py
>>> @@ -46,6 +46,12 @@ class AutotestLocalApp:
>>>           self.options, args = self.opt_parser.parse_args()
>>>           self.args = self.cmd_parser.parse_args(**args)
>>>
>>> +        if self.options.test_directory is not None:
>>> +            if os.path.isdir(self.options.**test_directory):
>>> +                os.environ['CUSTOM_DIR'] = self.options.test_directory
>>> +            else:
>>> +                print "The custom directory specifed does not
>>> exist,Hence Ignoring."
>>> +
>>>           # Check for a control file if not in prebuild mode.
>>>           if len(args) != 1 and self.options.client_test_setup is None:
>>>               print "Missing control file!"
>>> diff --git a/client/cmdparser.py b/client/cmdparser.py
>>> index 5683835..ccef3ed 100644
>>> --- a/client/cmdparser.py
>>> +++ b/client/cmdparser.py
>>> @@ -173,6 +173,13 @@ class CommandParser(object):
>>>               cls._print_control_list(pipe, dirtest)
>>>               pipe.write("\n")
>>>
>>> +        # Walk customtest directory
>>> +        if 'CUSTOM_DIR' in os.environ:
>>> +            dirtest = os.environ['CUSTOM_DIR']
>>> +            pipe.write("Custom Test Directory (%s)\n" % dirtest)
>>> +            cls._print_control_list(pipe, dirtest)
>>> +            pipe.write("\n")
>>> +
>>>           # Walk autodirtest directory
>>>           dirtest = os.environ['AUTODIRTEST']
>>>           pipe.write("Autotest prepackaged tests (%s)\n" % dirtest)
>>> @@ -232,8 +239,10 @@ class CommandParser(object):
>>>           fetchdir = FETCHDIRTEST
>>>           globaldir = GLOBALDIRTEST
>>>           autodir = os.environ['AUTODIRTEST']
>>> +        if 'CUSTOM_DIR' in os.environ:
>>> +            customtestdir = os.environ['CUSTOM_DIR']
>>>
>>
>> ^ This is a bug. If there's no CUSTOM_DIR, then customtestdir below is
>> not defined and then an error will follow. I have fixed it.
>>
>>
>>> -        for dirtest in [localdir, fetchdir, globaldir, autodir]:
>>> +        for dirtest in [localdir, fetchdir, globaldir, autodir,
>>> customtestdir]:
>>>               d = os.path.join(dirtest, test)
>>>               if os.path.isfile(d):
>>>                   args.insert(0, d)
>>> diff --git a/client/optparser.py b/client/optparser.py
>>> index 717ba92..f5a5496 100644
>>> --- a/client/optparser.py
>>> +++ b/client/optparser.py
>>> @@ -53,6 +53,9 @@ class AutotestLocalOptionParser(**
>>> optparse.OptionParser):
>>>                              help=('a comma seperated list of client
>>> tests to '
>>>                                    'prebuild on the server. Use all to
>>> prebuild '
>>>                                    'all of them.'))
>>> +        general.add_option("-d",'--**test_directory',
>>> dest='test_directory',
>>> +                           type='string', default=None, action='store',
>>> +                           help=('Specify a custom test directory '))
>>>           self.add_option_group(general)
>>>
>>>           job_id = optparse.OptionGroup(self, 'JOB IDENTIFICATION')
>>> diff --git a/client/setup_job.py b/client/setup_job.py
>>> index a6547f2..9465d46 100644
>>> --- a/client/setup_job.py
>>> +++ b/client/setup_job.py
>>> @@ -112,6 +112,14 @@ def load_all_client_tests(options)**:
>>>                   all_tests.append(client_test)
>>>               else:
>>>                   broken_tests.append(test_name)
>>> +    if 'CUSTOM_DIR' in os.environ:
>>> +        testdir = os.environ['CUSTOM_DIR']
>>> +        for test_name in os.listdir(testdir):
>>> +            client_test = init_test(options, os.path.join(testdir,
>>> test_name))
>>> +            if client_test:
>>> +                all_tests.append(client_test)
>>> +            else:
>>> +                broken_tests.append(test_name)
>>>       return all_tests, broken_tests
>>>
>>>
>>> diff --git a/client/shared/base_job.py b/client/shared/base_job.py
>>> index aff1ca7..15932e4 100644
>>> --- a/client/shared/base_job.py
>>> +++ b/client/shared/base_job.py
>>> @@ -866,6 +866,7 @@ class base_job(object):
>>>       @property pkgdir: The job packages directory. [WRITABLE]
>>>       @property tmpdir: The job temporary directory. [WRITABLE]
>>>       @property testdir: The job test directory. [WRITABLE]
>>> +    @property customtestdir: The custom test directory. [WRITABLE]
>>>       @property site_testdir: The job site test directory. [WRITABLE]
>>>
>>>       @property bindir: The client bin/ directory.
>>> @@ -947,6 +948,7 @@ class base_job(object):
>>>       pkgdir = _job_directory.property_**factory('pkgdir')
>>>       tmpdir = _job_directory.property_**factory('tmpdir')
>>>       testdir = _job_directory.property_**factory('testdir')
>>> +    customtestdir = _job_directory.property_**factory('customtestdir')
>>>       site_testdir = _job_directory.property_**factory('site_testdir')
>>>       bindir = _job_directory.property_**factory('bindir')
>>>       configdir = _job_directory.property_**factory('configdir')
>>> @@ -1057,6 +1059,10 @@ class base_job(object):
>>>
>>>           # Now tests are read-only modules
>>>           self._testdir = readonly_dir(test_dir)
>>> +        if 'CUSTOM_DIR' in os.environ:
>>> +            self._customtestdir = readonly_dir(os.environ['**
>>> CUSTOM_DIR'])
>>> +        else:
>>> +            self._customtestdir = readonly_dir(test_dir)
>>>           self._site_testdir = readwrite_dir(test_out_dir, 'site_tests')
>>>
>>>           # various server-specific directories
>>> diff --git a/client/shared/base_job_**unittest.py
>>> b/client/shared/base_job_**unittest.py
>>> index 210c069..2678e37 100755
>>> --- a/client/shared/base_job_**unittest.py
>>> +++ b/client/shared/base_job_**unittest.py
>>> @@ -77,7 +77,7 @@ class test_init(unittest.TestCase):
>>>               # standard directories
>>>               'autodir', 'clientdir', 'serverdir', 'resultdir', 'pkgdir',
>>>               'tmpdir', 'testdir', 'site_testdir', 'bindir',
>>> -            'configdir', 'profdir', 'toolsdir', 'conmuxdir',
>>> +            'configdir', 'profdir', 'toolsdir', 'conmuxdir',
>>> 'customtestdir',
>>>
>>>               # other special attributes
>>>               'args', 'automatic_test_tag', 'bootloader', 'control',
>>> diff --git a/client/shared/test.py b/client/shared/test.py
>>> index 9e0d6fe..0166e14 100644
>>> --- a/client/shared/test.py
>>> +++ b/client/shared/test.py
>>> @@ -885,7 +885,7 @@ def runtest(job, url, tag, args, dargs,
>>>                   # already exists on the machine
>>>                   pass
>>>
>>> -        testdir_list = [job.testdir, getattr(job, 'site_testdir', None)]
>>> +        testdir_list = [job.testdir, getattr(job, 'site_testdir',
>>> None), job.customtestdir]
>>>           bindir_config = settings.get_value('COMMON', 'test_dir',
>>> default="")
>>>           if bindir_config:
>>>               testdir_list.extend(bindir_**config.strip().split(','))
>>>
>>> ______________________________**_________________
>>> Autotest-kernel mailing list
>>> [email protected]
>>> https://www.redhat.com/**mailman/listinfo/autotest-**kernel<https://www.redhat.com/mailman/listinfo/autotest-kernel>
>>>
>>>
>>
>
>
> --
> *Regards,
> Rajeev S*
> *B Tech CSE Student*
> *Government Engineering College,Thrissur*
> *http://rajeevs.tk*
> *http://careers.stackoverflow.com/rajeevs*
> *https://github.com/rajeevs1992*
>



-- 
*Regards,
Rajeev S*
*B Tech CSE Student*
*Government Engineering College,Thrissur*
*http://rajeevs.tk*
*http://careers.stackoverflow.com/rajeevs*
*https://github.com/rajeevs1992*
_______________________________________________
Autotest-kernel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/autotest-kernel

Reply via email to