You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Chris Foote <ca...@yahoo.com> on 2009/12/09 15:04:15 UTC

[PATCH] v2: Simplify running specific tests on Windows

Hi,

I have incorporated both of Bert and Daniels suggestions into the patch (attached).

This version of the patch adds the ability to specify one or more tests (and test numbers) to run on Windows.

The --test option takes the name of the test executable (with or without the "-test.exe"/"_tests.py" part). It can also take test number(s) to be run in those tests by appending #NUM to the test name. 

e.g. win-tests.py --release --test=basic_tests.py -t client
     win-tests.py --release --test=basic_tests.py#4 -t client#2,4-6

Regards
Chris

[[[
Make it easy to (re)run specific tests on windows by adding a --test/-t
option. The tests can also specify specific test number(s) to run.
* win-tests.py
  (_usage_exit): Add the --test/-t option to the help.
  (tests_to_run): New. List of tests to be run by the TestHarness.
* build/run_tests.py
  (_run_test): Break the progname at a '#' and use the rhs as a list of
    test numbers to run.
]]]



      

Re: [PATCH] v2: Simplify running specific tests on Windows

Posted by Gavin Beau Baumanis <ga...@thespidernet.com>.
Hi Everyone,

I have just noticed that Chris has indeed provided an updated patch;
Which is in need of a review / comments  etc.
I would normally place a link here - but I can;t find a convenient way to find a message URL - so I will ping the new thread separately.

Please allow me to "steal" this one - while I am replying to ask if there is any movement on getting message URLs appended to the bottom of mailing list submissions?

Gavin.


On 20/01/2010, at 11:03 PM, Gavin Beau Baumanis wrote:

> Hi Chris,
> 
> Just thought I would chase you up with this.
> Were you going to make the changes suggested by Julian  - or were you happy for him to "tidy it up" and commit it?
> 
> 
> Gavin "Beau" Baumanis
> 
> 
> On 04/01/2010, at 9:15 PM, Julian Foad wrote:
> 
>> On Wed, 2009-12-09, Chris Foote wrote:
>>> I have incorporated both of Bert and Daniels suggestions into the
>>> patch (attached).
>> 
>> Thanks Chris. Functionally it looks good. Just some mainly cosmetic
>> comments below. (One's actually bug but evidently in a bit of code that
>> doesn't matter much in practice.)
>> 
>> I can make those changes myself and commit it if you like. Would that be
>> OK?
>> 
>> 
>>> This version of the patch adds the ability to specify one or more
>>> tests (and test numbers) to run on Windows.
>>> 
>>> The --test option takes the name of the test executable (with or
>>> without the "-test.exe"/"_tests.py" part). It can also take test
>>> number(s) to be run in those tests by appending #NUM to the test
>>> name. 
>>> 
>>> e.g. win-tests.py --release --test=basic_tests.py -t client
>>>    win-tests.py --release --test=basic_tests.py#4 -t client#2,4-6
>>> 
>>> Regards
>>> Chris
>>> 
>>> [[[
>>> Make it easy to (re)run specific tests on windows by adding a --test/-t
>>> option. The tests can also specify specific test number(s) to run.
>>> * win-tests.py
>>> (_usage_exit): Add the --test/-t option to the help.
>>> (tests_to_run): New. List of tests to be run by the TestHarness.
>>> * build/run_tests.py
>>> (_run_test): Break the progname at a '#' and use the rhs as a list of
>>>   test numbers to run.
>>> ]]]
>> 
>> 
>> 
>>> Index: win-tests.py
>>> ===================================================================
>>> --- win-tests.py        (revision 888785)
>>> +++ win-tests.py        (working copy)
>>> @@ -61,6 +61,9 @@
>>>  print("  -v, --verbose          : talk more")
>>>  print("  -f, --fs-type=type     : filesystem type to use (fsfs is default)")
>>>  print("  -c, --cleanup          : cleanup after running a test")
>>> +  print("  -t, --test=TEST        : Run the TEST test (all is default); use")
>>> +  print("                           TEST#n to run a particular test number,")
>>> +  print("                           multiples also accepted e.g. '2,4-7'")
>>> 
>>>  print("  --svnserve-args=list   : comma-separated list of arguments for")
>>>  print("                           svnserve")
>>> @@ -107,9 +110,9 @@
>>>    dll_basename = section.name + "-" + str(gen_obj.version) + ".dll"
>>>    svn_dlls.append(os.path.join("subversion", section.name, dll_basename))
>>> 
>>> -opts, args = my_getopt(sys.argv[1:], 'hrdvcpu:f:',
>>> -                       ['release', 'debug', 'verbose', 'cleanup', 'url=',
>>> -                        'svnserve-args=', 'fs-type=', 'asp.net-hack',
>>> +opts, args = my_getopt(sys.argv[1:], 'hrdvct:pu:f:',
>>> +                       ['release', 'debug', 'verbose', 'cleanup', 'test=',
>>> +                        'url=', 'svnserve-args=', 'fs-type=', 'asp.net-hack',
>>>                        'httpd-dir=', 'httpd-port=', 'httpd-daemon',
>>>                        'httpd-server', 'http-library=', 'help',
>>>                        'fsfs-packing', 'fsfs-sharding=',
>>> @@ -137,6 +140,7 @@
>>> fsfs_packing = None
>>> server_minor_version = None
>>> config_file = None
>>> +tests_to_run = []
>>> 
>>> for opt, val in opts:
>>>  if opt in ('-h', '--help'):
>>> @@ -149,6 +153,8 @@
>>>    verbose = 1
>>>  elif opt in ('-c', '--cleanup'):
>>>    cleanup = 1
>>> +  elif opt in ('-t', '--test'):
>>> +    tests_to_run.append(val)
>>>  elif opt in ['-r', '--release']:
>>>    objdir = 'Release'
>>>  elif opt in ['-d', '--debug']:
>>> @@ -599,6 +605,31 @@
>>> if daemon:
>>>  daemon.start()
>>> 
>>> +# If selected tests specified, only run them
>> 
>> The block of code introduced by this comment is not deciding which tests
>> to run, it is finding the full path and filename to any tests that were
>> specified as just a base name. (It took me a little while to read
>> through it and discover that, which shows how helpful a comment could
>> be.) So maybe:
>> 
>> # Find the full path and filename of any test that is specified just by
>> its base name.
>> 
>>> +if len(tests_to_run) != 0:
>>> +  tests = []
>>> +  for t in tests_to_run:
>>> +    tns = None
>>> +    if '#' in t:
>>> +      t, tns = t.split('#')
>>> +
>>> +    test = [x for x in all_tests if x.split('/')[-1] == t]
>>> +    if not test and (len(t) < 9 or
>>> +                     (t[-9] != '-test.exe' and t[-9] != '_tests.py')):
>> 
>> That "t[-9] != ..." will always be true. I think you meant "t[-9:] !
>> = ...". But why not lose all the "9"s and just write
>> 
>> if not test and not t.endswith('-test.exe') and not
>> t.endswith('_tests.py'):
>> 
>> instead?
>> 
>>> +      test = [x for x in all_tests if x.split('/')[-1][:-9] == t]
>> 
>> I can't think of a really simple way to lose the "-9" here, so comment
>> it:
>> 
>> # The lengths of '-test.exe' and of '_tests.py' are both 9.
>> 
>>> +
>>> +    if not test:
>>> +      print("Skipping test '%s', test not found." % t)
>>> +    elif tns:
>>> +      tests.append('%s#%s' % (test[0], tns))
>>> +    else:
>>> +      tests.extend(test)
>>> +
>>> +  tests_to_run = tests
>>> +else:
>>> +  tests_to_run = all_tests
>>> +
>>> +
>>> print('Testing %s configuration on %s' % (objdir, repo_loc))
>>> sys.path.insert(0, os.path.join(abs_srcdir, 'build'))
>>> import run_tests
>>> @@ -612,7 +643,7 @@
>>> old_cwd = os.getcwd()
>>> try:
>>>  os.chdir(abs_builddir)
>>> -  failed = th.run(all_tests)
>>> +  failed = th.run(tests_to_run)
>>> except:
>>>  os.chdir(old_cwd)
>>>  raise
>>> Index: build/run_tests.py
>>> ===================================================================
>>> --- build/run_tests.py  (revision 888785)
>>> +++ build/run_tests.py  (working copy)
>>> @@ -216,12 +216,22 @@
>>>    else:
>>>      log = sys.stdout
>>> 
>>> +    test_nums = None
>>> +    if '#' in prog:
>>> +        prog, test_nums = prog.split('#')
>>> +
>>>    progdir, progbase = os.path.split(prog)
>>>    if self.log:
>>>      # Using write here because we don't want even a trailing space
>>>      test_info = '%s [%d/%d]' % (progbase, test_nr + 1, total_tests)
>>> -      sys.stdout.write('Running all tests in %s' % (test_info, ))
>>> -      sys.stdout.write('.'*(35 - len(test_info)))
>>> +      if test_nums:
>>> +        p = [x for x in ',-:' if x in test_nums] and 's' or ''
>>> +        sys.stdout.write('Running test%s %s in %s' % (p, test_nums, test_info))
>>> +        sys.stdout.write('.'*(44 - len(p) - len(test_info) - len(test_nums)))
>>> +        test_nums = test_nums.split(',')
>>> +      else:
>>> +        sys.stdout.write('Running all tests in %s' % (test_info, ))
>>> +        sys.stdout.write('.'*(40 - len(test_info)))
>> 
>> I don't think we need all this effort to try to print a neat one-line
>> summary that fits in a fixed-width column. It will still overflow,
>> depending on what list of test numbers I specify. Let's just change the
>> original "Running all tests in ..." to "Running tests in ..." and leave
>> it at that.
>> 
>>>    log.write('START: %s\n' % progbase)
>>>    log.flush()
>>> @@ -268,6 +278,9 @@
>>>    if self.fsfs_packing is not None:
>>>      cmdline.append('--fsfs-packing')
>>> 
>>> +    if test_nums:
>>> +      cmdline.extend(test_nums)
>>> +
>>>    old_cwd = os.getcwd()
>>>    try:
>>>      os.chdir(progdir)
>> 
>> - Julian
>> 
>> 
> 

Re: [PATCH] v2: Simplify running specific tests on Windows

Posted by Gavin Beau Baumanis <ga...@thespidernet.com>.
Hi Chris,

Just thought I would chase you up with this.
Were you going to make the changes suggested by Julian  - or were you happy for him to "tidy it up" and commit it?


Gavin "Beau" Baumanis


On 04/01/2010, at 9:15 PM, Julian Foad wrote:

> On Wed, 2009-12-09, Chris Foote wrote:
>> I have incorporated both of Bert and Daniels suggestions into the
>> patch (attached).
> 
> Thanks Chris. Functionally it looks good. Just some mainly cosmetic
> comments below. (One's actually bug but evidently in a bit of code that
> doesn't matter much in practice.)
> 
> I can make those changes myself and commit it if you like. Would that be
> OK?
> 
> 
>> This version of the patch adds the ability to specify one or more
>> tests (and test numbers) to run on Windows.
>> 
>> The --test option takes the name of the test executable (with or
>> without the "-test.exe"/"_tests.py" part). It can also take test
>> number(s) to be run in those tests by appending #NUM to the test
>> name. 
>> 
>> e.g. win-tests.py --release --test=basic_tests.py -t client
>>     win-tests.py --release --test=basic_tests.py#4 -t client#2,4-6
>> 
>> Regards
>> Chris
>> 
>> [[[
>> Make it easy to (re)run specific tests on windows by adding a --test/-t
>> option. The tests can also specify specific test number(s) to run.
>> * win-tests.py
>>  (_usage_exit): Add the --test/-t option to the help.
>>  (tests_to_run): New. List of tests to be run by the TestHarness.
>> * build/run_tests.py
>>  (_run_test): Break the progname at a '#' and use the rhs as a list of
>>    test numbers to run.
>> ]]]
> 
> 
> 
>> Index: win-tests.py
>> ===================================================================
>> --- win-tests.py        (revision 888785)
>> +++ win-tests.py        (working copy)
>> @@ -61,6 +61,9 @@
>>   print("  -v, --verbose          : talk more")
>>   print("  -f, --fs-type=type     : filesystem type to use (fsfs is default)")
>>   print("  -c, --cleanup          : cleanup after running a test")
>> +  print("  -t, --test=TEST        : Run the TEST test (all is default); use")
>> +  print("                           TEST#n to run a particular test number,")
>> +  print("                           multiples also accepted e.g. '2,4-7'")
>> 
>>   print("  --svnserve-args=list   : comma-separated list of arguments for")
>>   print("                           svnserve")
>> @@ -107,9 +110,9 @@
>>     dll_basename = section.name + "-" + str(gen_obj.version) + ".dll"
>>     svn_dlls.append(os.path.join("subversion", section.name, dll_basename))
>> 
>> -opts, args = my_getopt(sys.argv[1:], 'hrdvcpu:f:',
>> -                       ['release', 'debug', 'verbose', 'cleanup', 'url=',
>> -                        'svnserve-args=', 'fs-type=', 'asp.net-hack',
>> +opts, args = my_getopt(sys.argv[1:], 'hrdvct:pu:f:',
>> +                       ['release', 'debug', 'verbose', 'cleanup', 'test=',
>> +                        'url=', 'svnserve-args=', 'fs-type=', 'asp.net-hack',
>>                         'httpd-dir=', 'httpd-port=', 'httpd-daemon',
>>                         'httpd-server', 'http-library=', 'help',
>>                         'fsfs-packing', 'fsfs-sharding=',
>> @@ -137,6 +140,7 @@
>> fsfs_packing = None
>> server_minor_version = None
>> config_file = None
>> +tests_to_run = []
>> 
>> for opt, val in opts:
>>   if opt in ('-h', '--help'):
>> @@ -149,6 +153,8 @@
>>     verbose = 1
>>   elif opt in ('-c', '--cleanup'):
>>     cleanup = 1
>> +  elif opt in ('-t', '--test'):
>> +    tests_to_run.append(val)
>>   elif opt in ['-r', '--release']:
>>     objdir = 'Release'
>>   elif opt in ['-d', '--debug']:
>> @@ -599,6 +605,31 @@
>> if daemon:
>>   daemon.start()
>> 
>> +# If selected tests specified, only run them
> 
> The block of code introduced by this comment is not deciding which tests
> to run, it is finding the full path and filename to any tests that were
> specified as just a base name. (It took me a little while to read
> through it and discover that, which shows how helpful a comment could
> be.) So maybe:
> 
> # Find the full path and filename of any test that is specified just by
> its base name.
> 
>> +if len(tests_to_run) != 0:
>> +  tests = []
>> +  for t in tests_to_run:
>> +    tns = None
>> +    if '#' in t:
>> +      t, tns = t.split('#')
>> +
>> +    test = [x for x in all_tests if x.split('/')[-1] == t]
>> +    if not test and (len(t) < 9 or
>> +                     (t[-9] != '-test.exe' and t[-9] != '_tests.py')):
> 
> That "t[-9] != ..." will always be true. I think you meant "t[-9:] !
> = ...". But why not lose all the "9"s and just write
> 
>  if not test and not t.endswith('-test.exe') and not
> t.endswith('_tests.py'):
> 
> instead?
> 
>> +      test = [x for x in all_tests if x.split('/')[-1][:-9] == t]
> 
> I can't think of a really simple way to lose the "-9" here, so comment
> it:
> 
>  # The lengths of '-test.exe' and of '_tests.py' are both 9.
> 
>> +
>> +    if not test:
>> +      print("Skipping test '%s', test not found." % t)
>> +    elif tns:
>> +      tests.append('%s#%s' % (test[0], tns))
>> +    else:
>> +      tests.extend(test)
>> +
>> +  tests_to_run = tests
>> +else:
>> +  tests_to_run = all_tests
>> +
>> +
>> print('Testing %s configuration on %s' % (objdir, repo_loc))
>> sys.path.insert(0, os.path.join(abs_srcdir, 'build'))
>> import run_tests
>> @@ -612,7 +643,7 @@
>> old_cwd = os.getcwd()
>> try:
>>   os.chdir(abs_builddir)
>> -  failed = th.run(all_tests)
>> +  failed = th.run(tests_to_run)
>> except:
>>   os.chdir(old_cwd)
>>   raise
>> Index: build/run_tests.py
>> ===================================================================
>> --- build/run_tests.py  (revision 888785)
>> +++ build/run_tests.py  (working copy)
>> @@ -216,12 +216,22 @@
>>     else:
>>       log = sys.stdout
>> 
>> +    test_nums = None
>> +    if '#' in prog:
>> +        prog, test_nums = prog.split('#')
>> +
>>     progdir, progbase = os.path.split(prog)
>>     if self.log:
>>       # Using write here because we don't want even a trailing space
>>       test_info = '%s [%d/%d]' % (progbase, test_nr + 1, total_tests)
>> -      sys.stdout.write('Running all tests in %s' % (test_info, ))
>> -      sys.stdout.write('.'*(35 - len(test_info)))
>> +      if test_nums:
>> +        p = [x for x in ',-:' if x in test_nums] and 's' or ''
>> +        sys.stdout.write('Running test%s %s in %s' % (p, test_nums, test_info))
>> +        sys.stdout.write('.'*(44 - len(p) - len(test_info) - len(test_nums)))
>> +        test_nums = test_nums.split(',')
>> +      else:
>> +        sys.stdout.write('Running all tests in %s' % (test_info, ))
>> +        sys.stdout.write('.'*(40 - len(test_info)))
> 
> I don't think we need all this effort to try to print a neat one-line
> summary that fits in a fixed-width column. It will still overflow,
> depending on what list of test numbers I specify. Let's just change the
> original "Running all tests in ..." to "Running tests in ..." and leave
> it at that.
> 
>>     log.write('START: %s\n' % progbase)
>>     log.flush()
>> @@ -268,6 +278,9 @@
>>     if self.fsfs_packing is not None:
>>       cmdline.append('--fsfs-packing')
>> 
>> +    if test_nums:
>> +      cmdline.extend(test_nums)
>> +
>>     old_cwd = os.getcwd()
>>     try:
>>       os.chdir(progdir)
> 
> - Julian
> 
> 

Re: [PATCH] v2: Simplify running specific tests on Windows

Posted by Julian Foad <ju...@btopenworld.com>.
On Wed, 2009-12-09, Chris Foote wrote:
> I have incorporated both of Bert and Daniels suggestions into the
> patch (attached).

Thanks Chris. Functionally it looks good. Just some mainly cosmetic
comments below. (One's actually bug but evidently in a bit of code that
doesn't matter much in practice.)

I can make those changes myself and commit it if you like. Would that be
OK?


> This version of the patch adds the ability to specify one or more
> tests (and test numbers) to run on Windows.
> 
> The --test option takes the name of the test executable (with or
> without the "-test.exe"/"_tests.py" part). It can also take test
> number(s) to be run in those tests by appending #NUM to the test
> name. 
> 
> e.g. win-tests.py --release --test=basic_tests.py -t client
>      win-tests.py --release --test=basic_tests.py#4 -t client#2,4-6
> 
> Regards
> Chris
> 
> [[[
> Make it easy to (re)run specific tests on windows by adding a --test/-t
> option. The tests can also specify specific test number(s) to run.
> * win-tests.py
>   (_usage_exit): Add the --test/-t option to the help.
>   (tests_to_run): New. List of tests to be run by the TestHarness.
> * build/run_tests.py
>   (_run_test): Break the progname at a '#' and use the rhs as a list of
>     test numbers to run.
> ]]]



> Index: win-tests.py
> ===================================================================
> --- win-tests.py        (revision 888785)
> +++ win-tests.py        (working copy)
> @@ -61,6 +61,9 @@
>    print("  -v, --verbose          : talk more")
>    print("  -f, --fs-type=type     : filesystem type to use (fsfs is default)")
>    print("  -c, --cleanup          : cleanup after running a test")
> +  print("  -t, --test=TEST        : Run the TEST test (all is default); use")
> +  print("                           TEST#n to run a particular test number,")
> +  print("                           multiples also accepted e.g. '2,4-7'")
>  
>    print("  --svnserve-args=list   : comma-separated list of arguments for")
>    print("                           svnserve")
> @@ -107,9 +110,9 @@
>      dll_basename = section.name + "-" + str(gen_obj.version) + ".dll"
>      svn_dlls.append(os.path.join("subversion", section.name, dll_basename))
>  
> -opts, args = my_getopt(sys.argv[1:], 'hrdvcpu:f:',
> -                       ['release', 'debug', 'verbose', 'cleanup', 'url=',
> -                        'svnserve-args=', 'fs-type=', 'asp.net-hack',
> +opts, args = my_getopt(sys.argv[1:], 'hrdvct:pu:f:',
> +                       ['release', 'debug', 'verbose', 'cleanup', 'test=',
> +                        'url=', 'svnserve-args=', 'fs-type=', 'asp.net-hack',
>                          'httpd-dir=', 'httpd-port=', 'httpd-daemon',
>                          'httpd-server', 'http-library=', 'help',
>                          'fsfs-packing', 'fsfs-sharding=',
> @@ -137,6 +140,7 @@
>  fsfs_packing = None
>  server_minor_version = None
>  config_file = None
> +tests_to_run = []
>  
>  for opt, val in opts:
>    if opt in ('-h', '--help'):
> @@ -149,6 +153,8 @@
>      verbose = 1
>    elif opt in ('-c', '--cleanup'):
>      cleanup = 1
> +  elif opt in ('-t', '--test'):
> +    tests_to_run.append(val)
>    elif opt in ['-r', '--release']:
>      objdir = 'Release'
>    elif opt in ['-d', '--debug']:
> @@ -599,6 +605,31 @@
>  if daemon:
>    daemon.start()
>  
> +# If selected tests specified, only run them

The block of code introduced by this comment is not deciding which tests
to run, it is finding the full path and filename to any tests that were
specified as just a base name. (It took me a little while to read
through it and discover that, which shows how helpful a comment could
be.) So maybe:

# Find the full path and filename of any test that is specified just by
its base name.

> +if len(tests_to_run) != 0:
> +  tests = []
> +  for t in tests_to_run:
> +    tns = None
> +    if '#' in t:
> +      t, tns = t.split('#')
> +
> +    test = [x for x in all_tests if x.split('/')[-1] == t]
> +    if not test and (len(t) < 9 or
> +                     (t[-9] != '-test.exe' and t[-9] != '_tests.py')):

That "t[-9] != ..." will always be true. I think you meant "t[-9:] !
= ...". But why not lose all the "9"s and just write

  if not test and not t.endswith('-test.exe') and not
t.endswith('_tests.py'):

instead?

> +      test = [x for x in all_tests if x.split('/')[-1][:-9] == t]

I can't think of a really simple way to lose the "-9" here, so comment
it:

  # The lengths of '-test.exe' and of '_tests.py' are both 9.

> +
> +    if not test:
> +      print("Skipping test '%s', test not found." % t)
> +    elif tns:
> +      tests.append('%s#%s' % (test[0], tns))
> +    else:
> +      tests.extend(test)
> +
> +  tests_to_run = tests
> +else:
> +  tests_to_run = all_tests
> +
> +
>  print('Testing %s configuration on %s' % (objdir, repo_loc))
>  sys.path.insert(0, os.path.join(abs_srcdir, 'build'))
>  import run_tests
> @@ -612,7 +643,7 @@
>  old_cwd = os.getcwd()
>  try:
>    os.chdir(abs_builddir)
> -  failed = th.run(all_tests)
> +  failed = th.run(tests_to_run)
>  except:
>    os.chdir(old_cwd)
>    raise
> Index: build/run_tests.py
> ===================================================================
> --- build/run_tests.py  (revision 888785)
> +++ build/run_tests.py  (working copy)
> @@ -216,12 +216,22 @@
>      else:
>        log = sys.stdout
>  
> +    test_nums = None
> +    if '#' in prog:
> +        prog, test_nums = prog.split('#')
> +
>      progdir, progbase = os.path.split(prog)
>      if self.log:
>        # Using write here because we don't want even a trailing space
>        test_info = '%s [%d/%d]' % (progbase, test_nr + 1, total_tests)
> -      sys.stdout.write('Running all tests in %s' % (test_info, ))
> -      sys.stdout.write('.'*(35 - len(test_info)))
> +      if test_nums:
> +        p = [x for x in ',-:' if x in test_nums] and 's' or ''
> +        sys.stdout.write('Running test%s %s in %s' % (p, test_nums, test_info))
> +        sys.stdout.write('.'*(44 - len(p) - len(test_info) - len(test_nums)))
> +        test_nums = test_nums.split(',')
> +      else:
> +        sys.stdout.write('Running all tests in %s' % (test_info, ))
> +        sys.stdout.write('.'*(40 - len(test_info)))

I don't think we need all this effort to try to print a neat one-line
summary that fits in a fixed-width column. It will still overflow,
depending on what list of test numbers I specify. Let's just change the
original "Running all tests in ..." to "Running tests in ..." and leave
it at that.
 
>      log.write('START: %s\n' % progbase)
>      log.flush()
> @@ -268,6 +278,9 @@
>      if self.fsfs_packing is not None:
>        cmdline.append('--fsfs-packing')
>  
> +    if test_nums:
> +      cmdline.extend(test_nums)
> +
>      old_cwd = os.getcwd()
>      try:
>        os.chdir(progdir)

- Julian


Re: [PATCH] v2: Simplify running specific tests on Windows

Posted by Gavin 'Beau' Baumanis <ga...@thespidernet.com>.
Ping.

This submission has received no new comments.

Gavin.


On 16/12/2009, at 01:42 , Paul Burba wrote:

> On Tue, Dec 15, 2009 at 5:21 AM, Bert Huijben <be...@qqmail.nl> wrote:
>> 
>> 
>>> -----Original Message-----
>>> From: Gavin 'Beau' Baumanis [mailto:gavinb@thespidernet.com]
>>> Sent: dinsdag 15 december 2009 11:07
>>> To: Daniel Shahaf; Chris Foote
>>> Cc: dev@subversion.apache.org; Bert Huijben
>>> Subject: Re: [PATCH] v2: Simplify running specific tests on Windows
>>> 
>>> Ping. This Patch Submission, originally here;
>>> http://svn.haxx.se/dev/archive-2009-12/0086.shtml
>>> 
>>> Has received no comments.
>> 
>> I applied the patch locally and it works fine, but it looks like it changes
>> more than I think is needed. (It changes some output format lengths,
>> probably for a good reason, but I haven't checked).
> 
> Bert,
> 
> I suspect it changes output length because currently the
> tree-conflict-data-test.exe abuts the [success|FAILURE] result, i.e.:
> 
> C:\SVN\src-trunk>win-tests.py -r -c -p
> Testing Release configuration on local repository.
> <snip>
> Running all tests in translate-test.exe [29/74].........success
> Running all tests in tree-conflict-data-test.exe [30/74]success
> Running all tests in utf-test.exe [31/74]...............success
> 
> The patch just gives it a bit more room:
> 
> Running all tests in tree-conflict-data-test.exe [30/74].....success
> 
> Paul

Re: [PATCH] v2: Simplify running specific tests on Windows

Posted by Gavin 'Beau' Baumanis <ga...@thespidernet.com>.
Ping.

This submission has received no new comments.

Gavin.


On 16/12/2009, at 01:42 , Paul Burba wrote:

> On Tue, Dec 15, 2009 at 5:21 AM, Bert Huijben <be...@qqmail.nl> wrote:
>> 
>> 
>>> -----Original Message-----
>>> From: Gavin 'Beau' Baumanis [mailto:gavinb@thespidernet.com]
>>> Sent: dinsdag 15 december 2009 11:07
>>> To: Daniel Shahaf; Chris Foote
>>> Cc: dev@subversion.apache.org; Bert Huijben
>>> Subject: Re: [PATCH] v2: Simplify running specific tests on Windows
>>> 
>>> Ping. This Patch Submission, originally here;
>>> http://svn.haxx.se/dev/archive-2009-12/0086.shtml
>>> 
>>> Has received no comments.
>> 
>> I applied the patch locally and it works fine, but it looks like it changes
>> more than I think is needed. (It changes some output format lengths,
>> probably for a good reason, but I haven't checked).
> 
> Bert,
> 
> I suspect it changes output length because currently the
> tree-conflict-data-test.exe abuts the [success|FAILURE] result, i.e.:
> 
> C:\SVN\src-trunk>win-tests.py -r -c -p
> Testing Release configuration on local repository.
> <snip>
> Running all tests in translate-test.exe [29/74].........success
> Running all tests in tree-conflict-data-test.exe [30/74]success
> Running all tests in utf-test.exe [31/74]...............success
> 
> The patch just gives it a bit more room:
> 
> Running all tests in tree-conflict-data-test.exe [30/74].....success
> 
> Paul


Re: [PATCH] v2: Simplify running specific tests on Windows

Posted by Paul Burba <pt...@gmail.com>.
On Tue, Dec 15, 2009 at 5:21 AM, Bert Huijben <be...@qqmail.nl> wrote:
>
>
>> -----Original Message-----
>> From: Gavin 'Beau' Baumanis [mailto:gavinb@thespidernet.com]
>> Sent: dinsdag 15 december 2009 11:07
>> To: Daniel Shahaf; Chris Foote
>> Cc: dev@subversion.apache.org; Bert Huijben
>> Subject: Re: [PATCH] v2: Simplify running specific tests on Windows
>>
>> Ping. This Patch Submission, originally here;
>> http://svn.haxx.se/dev/archive-2009-12/0086.shtml
>>
>> Has received no comments.
>
> I applied the patch locally and it works fine, but it looks like it changes
> more than I think is needed. (It changes some output format lengths,
> probably for a good reason, but I haven't checked).

Bert,

I suspect it changes output length because currently the
tree-conflict-data-test.exe abuts the [success|FAILURE] result, i.e.:

C:\SVN\src-trunk>win-tests.py -r -c -p
Testing Release configuration on local repository.
<snip>
Running all tests in translate-test.exe [29/74].........success
Running all tests in tree-conflict-data-test.exe [30/74]success
Running all tests in utf-test.exe [31/74]...............success

The patch just gives it a bit more room:

Running all tests in tree-conflict-data-test.exe [30/74].....success

Paul

RE: [PATCH] v2: Simplify running specific tests on Windows

Posted by Bert Huijben <be...@qqmail.nl>.

> -----Original Message-----
> From: Gavin 'Beau' Baumanis [mailto:gavinb@thespidernet.com]
> Sent: dinsdag 15 december 2009 11:07
> To: Daniel Shahaf; Chris Foote
> Cc: dev@subversion.apache.org; Bert Huijben
> Subject: Re: [PATCH] v2: Simplify running specific tests on Windows
> 
> Ping. This Patch Submission, originally here;
> http://svn.haxx.se/dev/archive-2009-12/0086.shtml
> 
> Has received no comments.

I applied the patch locally and it works fine, but it looks like it changes
more than I think is needed. (It changes some output format lengths,
probably for a good reason, but I haven't checked).

	Bert

Re: [PATCH] v2: Simplify running specific tests on Windows

Posted by Gavin 'Beau' Baumanis <ga...@thespidernet.com>.
Ping. This Patch Submission, originally here;
http://svn.haxx.se/dev/archive-2009-12/0086.shtml

Has received no comments.

Gavin.


On 10/12/2009, at 06:10 , Daniel Shahaf wrote:

> Chris Foote wrote on Wed, 9 Dec 2009 at 07:04 -0800:
>> Hi,
>> 
>> I have incorporated both of Bert and Daniels suggestions into the patch (attached).
>> 
> 
> Thanks for implementing the suggestions.  I've no time to review this
> myself right now, unfortunately.  But hopefully someone else can do
> that.
> 
> Sorry,
> 
> Daniel
> 
>> This version of the patch adds the ability to specify one or more
>> tests (and test numbers) to run on Windows.
>> 
>> The --test option takes the name of the test executable (with or
>> without the "-test.exe"/"_tests.py" part). It can also take test
>> number(s) to be run in those tests by appending #NUM to the test name. 
>> 
>> e.g. win-tests.py --release --test=basic_tests.py -t client
>>     win-tests.py --release --test=basic_tests.py#4 -t client#2,4-6
>> 
>> Regards
>> Chris
>> 
>> [[[
>> Make it easy to (re)run specific tests on windows by adding a --test/-t
>> option. The tests can also specify specific test number(s) to run.
>> * win-tests.py
>>  (_usage_exit): Add the --test/-t option to the help.
>>  (tests_to_run): New. List of tests to be run by the TestHarness.
>> * build/run_tests.py
>>  (_run_test): Break the progname at a '#' and use the rhs as a list of
>>    test numbers to run.
>> ]]]
>> 
>> 
>> 
>> 

Re: [PATCH] v2: Simplify running specific tests on Windows

Posted by Gavin 'Beau' Baumanis <ga...@thespidernet.com>.
Ping. This Patch Submission, originally here;
http://svn.haxx.se/dev/archive-2009-12/0086.shtml

Has received no comments.

Gavin.


On 10/12/2009, at 06:10 , Daniel Shahaf wrote:

> Chris Foote wrote on Wed, 9 Dec 2009 at 07:04 -0800:
>> Hi,
>> 
>> I have incorporated both of Bert and Daniels suggestions into the patch (attached).
>> 
> 
> Thanks for implementing the suggestions.  I've no time to review this
> myself right now, unfortunately.  But hopefully someone else can do
> that.
> 
> Sorry,
> 
> Daniel
> 
>> This version of the patch adds the ability to specify one or more
>> tests (and test numbers) to run on Windows.
>> 
>> The --test option takes the name of the test executable (with or
>> without the "-test.exe"/"_tests.py" part). It can also take test
>> number(s) to be run in those tests by appending #NUM to the test name. 
>> 
>> e.g. win-tests.py --release --test=basic_tests.py -t client
>>     win-tests.py --release --test=basic_tests.py#4 -t client#2,4-6
>> 
>> Regards
>> Chris
>> 
>> [[[
>> Make it easy to (re)run specific tests on windows by adding a --test/-t
>> option. The tests can also specify specific test number(s) to run.
>> * win-tests.py
>>  (_usage_exit): Add the --test/-t option to the help.
>>  (tests_to_run): New. List of tests to be run by the TestHarness.
>> * build/run_tests.py
>>  (_run_test): Break the progname at a '#' and use the rhs as a list of
>>    test numbers to run.
>> ]]]
>> 
>> 
>> 
>> 


Re: [PATCH] v2: Simplify running specific tests on Windows

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Chris Foote wrote on Wed, 9 Dec 2009 at 07:04 -0800:
> Hi,
> 
> I have incorporated both of Bert and Daniels suggestions into the patch (attached).
> 

Thanks for implementing the suggestions.  I've no time to review this
myself right now, unfortunately.  But hopefully someone else can do
that.

Sorry,

Daniel

> This version of the patch adds the ability to specify one or more
> tests (and test numbers) to run on Windows.
> 
> The --test option takes the name of the test executable (with or
> without the "-test.exe"/"_tests.py" part). It can also take test
> number(s) to be run in those tests by appending #NUM to the test name. 
> 
> e.g. win-tests.py --release --test=basic_tests.py -t client
>      win-tests.py --release --test=basic_tests.py#4 -t client#2,4-6
> 
> Regards
> Chris
> 
> [[[
> Make it easy to (re)run specific tests on windows by adding a --test/-t
> option. The tests can also specify specific test number(s) to run.
> * win-tests.py
>   (_usage_exit): Add the --test/-t option to the help.
>   (tests_to_run): New. List of tests to be run by the TestHarness.
> * build/run_tests.py
>   (_run_test): Break the progname at a '#' and use the rhs as a list of
>     test numbers to run.
> ]]]
> 
> 
> 
>