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
