/[Apache-SVN]/subversion/trunk/build/run_tests.py
ViewVC logotype

Log of /subversion/trunk/build/run_tests.py

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 1883337 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 12 06:30:36 2020 UTC (3 years, 8 months ago) by jun66j5
File length: 39311 byte(s)
Diff to previous 1875617 (colored)
Remove uses of os.dup2() from run_tests.py in order to adapt the new console
reader and writer on Windows since Python 3.6.

* build/run_tests.py
  (open_logfile): New function returning file-like object which is reassignable
  sys.stdout and sys.stderr.
  (TestHarness.run): Use open_logfile() instead of codecs.open().
  (TestHarness._open_log): Ditto.
  (TestHarness._run_py_test): Reassign sys.stdout and sys.stderr instead of
  uses of os.dup2().

* subversion/tests/cmdline/svntest/main.py
  (LoggingStdoutHandler): New function to use the value of sys.stdout at call
  time.
  (parse_options): Use LoggingStdoutHandler() instead of
  StreamHandler(sys.stdout).

Tested by: jcorvel
Reviewed by: jcorvel
             futatuki


Revision 1875617 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 25 09:04:28 2020 UTC (4 years, 4 months ago) by stsp
File length: 39140 byte(s)
Diff to previous 1872308 (colored)
* everywhere: Run tools/dev/remove-trailing-whitespace.sh to remove
   trailing whitespace before we branch 1.14.


Revision 1872308 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 4 08:32:25 2020 UTC (4 years, 6 months ago) by futatuki
File length: 39142 byte(s)
Diff to previous 1868596 (colored)
Use importlib package on Python >= 3.5, instead of imp package

* build/run_tets.py
 (): Import importlib.util if Python >= 3.5, else import imp as it is 
 (TestHarness._run_py_test): Use recipe to import a source module from
 absolute path [1] for Python >= 3.5

[1] https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly

Review by: danielsh
           hartmannathan


Revision 1868596 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 18 14:27:19 2019 UTC (4 years, 9 months ago) by hartmannathan
File length: 38677 byte(s)
Diff to previous 1868571 (colored)
Unit test driver: Reinstate SUMMARY and tweak newlines at end of tests

* build/run_tests.py
  (TestHarness.run): Reinstate printing SUMMARY; move the extra
  newline from 'Python version' line to 'SUMMARY' line.


Revision 1868571 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 18 04:39:08 2019 UTC (4 years, 9 months ago) by danielsh
File length: 38661 byte(s)
Diff to previous 1868566 (colored)
* build/run_tests.py
  (TestHarness.run): Tweak new output.

Revision 1868566 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 17 21:44:13 2019 UTC (4 years, 9 months ago) by brane
File length: 38772 byte(s)
Diff to previous 1845942 (colored)
Print the Python version used by the unit test driver.

* build/run_tests.py (TestHarness.run): Print the interpreter version
   in the test summary.


Revision 1845942 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 6 17:37:38 2018 UTC (5 years, 8 months ago) by brane
File length: 38596 byte(s)
Diff to previous 1842260 (colored)
Add a test to check if our client works with GitHub's SVN bridge.

Because testing this involves connecting to a remote server, which our
test suite did not do up to now, the new test is skipped unless such
remote connections are explicitly allowed in the test run.

* Makefile.in (check): Add new option ALLOW_REMOTE_HTTP_CONNECTION.

* build/run_tests.py: Update docstring.
  (create_parser): Add option --allow-remote-http-connection.
  (TestHarness._init_py_tests): Propagate the option to test fixtures.

* subversion/tests/cmdline/dav_tests.py
  (connect_to_github_server): New test case.

* subversion/tests/cmdline/svntest/main.py
  (is_remote_http_connection_allowed): New predicate function.
  (_create_parser): Add option --allow-remote-http-connection.
  (TestSpawningThread.run_one): Propagate the option to subprocesses.


Revision 1842260 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 28 15:41:56 2018 UTC (5 years, 9 months ago) by danielsh
File length: 38285 byte(s)
Diff to previous 1822587 (colored)
Fix a bug in 'make check GLOBAL_SCHEDULER=1'.

* build/run_tests.py
  (TestHarness.Job._command_line, TestHarness.CollectingThread._count_py_tests):
    Use sys.executable.
  (TestHarness._run_global_scheduler): Ask a question.

Revision 1822587 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 29 21:55:15 2018 UTC (6 years, 5 months ago) by stsp
File length: 38208 byte(s)
Diff to previous 1813899 (colored)
Make run_tests.py's existing --bin option usable from 'make check'.

Using this speeds up test runs on OpenBSD a lot because running every
'svn', 'svnadmin' etc. command through a libtool shell script is,
well.... slooooow

* Makefile.in: Support SVN_BIN_DIR parameter for 'make check'.
* build/run_tests.py: Documention --bin option.


Revision 1813899 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 31 16:22:44 2017 UTC (6 years, 8 months ago) by stsp
File length: 38193 byte(s)
Diff to previous 1813897 (colored)
Follow-up to r1813897:

* build/run_tests.py
  (create_parser): Fix a typo which broke 'make check'.


Revision 1813897 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 31 15:55:28 2017 UTC (6 years, 8 months ago) by stsp
File length: 38192 byte(s)
Diff to previous 1813813 (colored)
Make it possible to run tests with FSFS directory deltification disabled.

* Makefile.in: Add FSFS_DIR_DELTIFICATION option for 'make check'.

* build/run_tests.py:
  (usage): Document --fsfs-dir-deltification option.
  (TestHarness, create_parser): Add --fsfs-dir-deltification option.

* subversion/tests/cmdline/svntest/main.py
  (_post_create_repos): Set the enable-dir-deltification parameter
   in fsfs.conf if the --fsfs-dir-deltification option was provided.
  (TestSpawningThread, _create_parser): Add --fsfs-dir-deltification.

* win-tests.py: Add --fsfs-dir-deltification option.


Revision 1813813 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 30 17:58:15 2017 UTC (6 years, 8 months ago) by danielsh
File length: 37863 byte(s)
Diff to previous 1813804 (colored)
Fix typo in function name.  No functional change.

* build/run_tests.py
  (TestHarness._run_global_sheduler): Rename to..
  (TestHarness._run_global_scheduler): .. this.

Revision 1813804 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 30 17:10:30 2017 UTC (6 years, 8 months ago) by danielsh
File length: 37861 byte(s)
Diff to previous 1803639 (colored)
* build/run_tests.py
  (main): Clarify a usage error message.

Revision 1803639 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 1 12:18:23 2017 UTC (6 years, 11 months ago) by kotkov
File length: 37752 byte(s)
Diff to previous 1801936 (colored)
fsfs: Introduce new 'compression' config option.

This option allows explicitly specifying the compression algorithm for
format 8 repositories.  It deprecates the previously used 'compression-level'
option.  The syntax of the new option is:

  compression = none | lz4 | zlib | zlib-1 ... zlib-9

See the related discussion in:
  https://lists.apache.org/thread.html/40650a309d8ff041adbb62e8ffe19cc3990b9098a032db932fabd170@%3Cdev.subversion.apache.org%3E

* subversion/libsvn_fs_fs/fs.h
  (CONFIG_OPTION_COMPRESSION): New.
  (compression_type_t): New.
  (fs_fs_data_t): Add field to store the delta compression type.

* subversion/libsvn_fs_fs/fs_fs.c
  (write_config): Revamp the section describing delta compression.
  (parse_compression_option): New helper function.
  (read_config): Parse the new 'compression' option when working with
   newer formats, with a possible fall back to 'compression-level' in
   case it's specified explicitly.  In order to always have appropriate
   and usable compression settings in ffd, move the part of the code that
   disables compression when only svndiff0 is supported from ...

* subversion/libsvn_fs_fs/transaction.c
  (txdelta_to_svndiff): ...this function.  Adjust this function to select
   the appropriate svndiff version, depending on the options.

* win-tests.py
  (): Rename 'fsfs_compression_level' to 'fsfs_compression'.
  (_usage_exit): Adjust usage text.

* build/run_tests.py
  (): Update usage comment.
  (_init_py_tests): Pass the option as string, not int.
  (create_parser): Parse the option as string, not int.

* subversion/tests/cmdline/svntest/main.py
  (parse_options): Only allow using the --fsfs-compression option with
   --server-minor-version >= 10.
  (_create_parser): Parse the option as string, not int.
  (run_one): Pass the option as string, not int.
  (_post_create_repos): Update the code that adjusts fsfs.conf.


Revision 1801936 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 14 11:03:46 2017 UTC (7 years ago) by kotkov
File length: 37813 byte(s)
Diff to previous 1775555 (colored)
Allow testing different fsfs compression levels in the test suite:

    win-tests.py --fsfs-compression=N
    make check FSFS_COMPRESSION=N

* Makefile.in
  (check): Handle FSFS_COMPRESSION and pass it to the test suite.

* win-tests.py
  (): Handle the new --fsfs-compression option.
  (_usage_exit): Adjust usage text.

* build/run_tests.py
  (): Update usage comment.
  (_init_py_tests): Propagate the new fsfs_compression_level option.
  (create_parser): Parse --fsfs-compression.

* subversion/tests/cmdline/svntest/main.py
  (parse_options): Check new option value for sanity.
  (_create_parser): Update to handle --fsfs-compression.
  (run_one): Propagate --fsfs-compression option.
  (_post_create_repos): Tweak this function to rewrite the compression
   level in the fsfs.conf file.  Merge this with the the already existing
   logic that configures [memcached-servers].  Adjust the slightly outdated
   docstring for this function.


Revision 1775555 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 21 20:04:05 2016 UTC (7 years, 7 months ago) by stefan2
File length: 37460 byte(s)
Diff to previous 1744979 (colored)
Minor tweak to the "global" test scheduler, bringing the overall test
execution time down by almost 10% on my machine with 24 HW threads.

* build/run_tests.py
  (TestHarness._run_global_sheduler): Start C tests with many test cases
                                      relatively early.  Otherwise, they
                                      will still run while everything else
                                      is already finished.

Revision 1744979 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 21 20:24:47 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37420 byte(s)
Diff to previous 1744977 (colored)
Finish the log writer work: Cleanup.

* build/run_tests.py
  (TestHarness.run):  Remove obsolete comment.  The codecs output seems to 
                      work just fine with any binary data in the log.
  (TestHarness._open_log):  We never open the log in binary mode anymore.

Revision 1744977 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 21 20:21:37 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37695 byte(s)
Diff to previous 1744976 (colored)
Make the tests actually work with --log-to-stdout again.
Seems to have been broken for a while now.

* build/run_tests.py
  (TestHarness.run): Do not attempt to filter the log output for
                     failslog when there is no log output, e.g.
                     when run with --log-to-stdout.

Revision 1744976 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 21 20:18:01 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37618 byte(s)
Diff to previous 1744975 (colored)
Continue switching to textual log files.

This time, we also write the tests.log as plain latin-1 text.
That basically maens we need to convert sub-process output to
text before writing it to the log.

* build/run_tests.py
  (ensure_str): Make sure we accept any data as-is.
  (TestHarness._run_global_sheduler):  Write ordinary strings to the log
                                       and convert sub-proces output to
                                       strings before passing it on.
  (TestHarness.run): Open the log file in text mode for writing as well.
  (TestHarness._process_test_output_line): Data is always strings now.
  (TestHarness._run_c_test): Convert sub-proces output to strings before
                             passing it on.
  (TestHarness._run_test): We can now write simple strings to the log.


Revision 1744975 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 21 20:06:01 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37686 byte(s)
Diff to previous 1743957 (colored)
As suggested on dev@, switch test log processing from binary to text data.

To mimic py2-style text files the best we can, use the codecs libaray's
open function with latin-1 encoding.  This is the first commit a short
series of patches that switch log files from binary entirely.

* build/run_tests.py
  (): Import the additional library.
  (TestHarness.run):  During the "filter log for failedlog" phase,
                      read the log file as latin-1 and write the
                      result as latin-1, too.  Processing is now
                      possible as simple strings.
  (TestHarness._open_log): When text mode is required, use latin-1
                           encoding.  As transitional code, keep the
                           plain file for binaries.

Revision 1743957 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 15 19:31:31 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37699 byte(s)
Diff to previous 1743947 (colored)
Revert r1743947. Python 2 requires a plain file object
to be passed to imp.load_module.

Revision 1743947 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 15 18:42:43 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37517 byte(s)
Diff to previous 1743595 (colored)
[Reverted in r1743957]
Minor test framework simplification.

* build/run_tests.py
  (TestHarness._run_py_test): Use the codecs lib to unify py2/3 code.

Suggested by: brane

Revision 1743595 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 13 02:37:38 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37699 byte(s)
Diff to previous 1743591 (colored)
Follow-up to r1743556:

* build/run_tests.py
  (TestHarness._run_c_test.progress_func,
   TestHarness._run_py_test.progress_func): Use integer division. 

Suggested by: brane

Revision 1743591 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 13 02:19:12 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37709 byte(s)
Diff to previous 1743556 (colored)
Make our test runner locale independent in Python 3.

Running our test suite with autodavcheck will change the environment
such that text files default to ascii - causing some test scripts to
fail upon loading.

* build/run_tests.py
  (TestHarness._run_py_test): Explicitly load our tests as UTF-8 when
                              supported. We can't load as binary here
                              because Windows tests would fail miserably.

Revision 1743556 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 12 20:05:38 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37461 byte(s)
Diff to previous 1743550 (colored)
Get the Python 3 tests running without the GLOBAL_SCHEDULER option.

* build/run_tests.py
  (TestHarness._run_c_test.progress_func,
   TestHarness._run_py_test.progress_func): Don't attempt to print a
                                            fractional number of dots. 
  (TestHarness._run_test):  The log is binary data, so write byte strings
                            to it.

Revision 1743550 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 12 19:42:36 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37404 byte(s)
Diff to previous 1743057 (colored)
Fix the usage of empty line print() under Python 2.

* build/run_tests.py
* contrib/server-side/svn-tweak-author.py
* tools/client-side/mergeinfo-sanitizer.py
* tools/client-side/svn-vendor.py
* tools/dev/benchmarks/RepoPerf/copy_repo.py
* tools/dev/benchmarks/RepoPerf/win_repo_bench.py
* tools/dev/benchmarks/suite1/benchmark.py
* tools/dist/collect_sigs.py
  (): Actually print an empty string line instead of an empty tuple.

Revision 1743057 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 9 21:18:13 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37402 byte(s)
Diff to previous 1743052 (colored)
Follow-up to r1743052:  Make the fails.log generation actually work with py3.

* build/run_tests.py
  (TestHarness.run):  The filtered lists contain strings while the plain log
                      lines are binary.  Convert before comparing them.

Revision 1743052 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 9 21:04:59 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37358 byte(s)
Diff to previous 1743034 (colored)
Get the test log post-processing working for Python 3, at least with
the GLOBAL_SCHEDULER option activated.

We simply have to aware that the log is binary and filtering etc.
needs to use the byte string functions.

* build/run_tests.py
  (ensure_str): New utility function.
  (TestHarness._run_global_sheduler): Write binary strings to our binary log.
  (TestHarness.run): Manipulate and filter the log data using binary patterns
                     but convert to strings when printing to stdout.  The
                     FAILLOG again, is a binary file.
  (TestHarness._process_test_output_line): The log data we analyze is binary.


Revision 1743034 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 9 19:14:52 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37036 byte(s)
Diff to previous 1742951 (colored)
Get the build and test harness to execute the tests with Python 3.
Most tests are still failing, though, and the log summary fails.

* build/run_tests.py
  (TestHarness.run): We treat the test job output as binary to be able
                     to log it as-is.

* subversion/tests/cmdline/svntest/main.py
  (ensure_list): New utility function that allows us to automatically
                 convert iterators to list objects.
  (filter_dbg): Be sure to return a list despite getting an iterator
                from the Python 3 filter.
  (wait_on_pipe): Convert non-binary sub-process output into lists of
                  strings.
  (file_write): Move up and add string conversion logic for Python 3
                where we have to feed the file either byte arrays or
                unicode strings depending on the file open mode.
  (file_append,
   file_append_binary): Call file_write to handle the string conversion
                        issues.

* subversion/tests/cmdline/svntest/testcase.py
  (FunctionTestCase.__init__,
   FunctionTestCase.get_function_name,
   FunctionTestCase.get_sandbox_name): Use the Python 3 element names
                                       to access its internal data model.

* subversion/tests/cmdline/svntest/tree.py
  (_dump_tree): For correct sorting in py3, we would need to implement
                a handful of operators for SVNTreeNode.  Explicitly using
                the printable path here is the less intrusive portable
                solution.

* subversion/tests/cmdline/svntest/wc.py
  (State.rename): Lambda expressions take an unpacked tuple object in py3.

Revision 1742951 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 9 13:40:26 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37035 byte(s)
Diff to previous 1742840 (colored)
Work towards making the test harness py3 compatible.

* build/run_tests.py
  (TestHarness.TestSpawningThread.run,
   TestHarness._run_c_test.progress_func,
   TestHarness._run_c_test,
   TestHarness._run_py_test.progress_func,
   TestHarness._run_py_test):  Writing to the OS requires byte strings.

Revision 1742840 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 8 17:34:40 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37029 byte(s)
Diff to previous 1742820 (colored)
Yet another round of making our usage of "print" syntactically compatible
with Python 2 and 3 alike.

This is probably the last mass change in the py2/3 compatibility patch set.
Following commits will be a lot more local and specific.

* build/run_tests.py
* contrib/client-side/incremental-update.py
* contrib/client-side/svn_export_empty_files.py
* contrib/client-side/svn-hgmerge.py
* contrib/client-side/svnmerge/svnmerge-migrate-history.py
* contrib/client-side/svnmerge/svnmerge.py
* contrib/client-side/svn-merge-vendor.py
* contrib/hook-scripts/hook_toolbox.py
* contrib/hook-scripts/remove-zombie-locks.py
* contrib/server-side/fsfsfixer/fixer/find_good_id.py
* contrib/server-side/fsfsfixer/fixer/fix-rev.py
* contrib/server-side/fsfsverify.py
* notes/directory-index/dirindex.py
* subversion/tests/cmdline/svntest/main.py
* subversion/tests/manual/tree-conflicts-add-vs-add.py
* tools/dev/benchmarks/RepoPerf/win_repo_bench.py
* tools/dev/benchmarks/suite1/benchmark.py
* tools/dev/gen-py-errors.py
* tools/dev/merge-graph.py
* tools/dev/wc-ng/bump-to-19.py
* tools/dist/collect_sigs.py
* tools/server-side/svnpubsub/irkerbridge.py
  ():  Make sure to use parantheses in print statements to make them
       function calls in py3.  Where we print to stderr / stdout, write
       the to respective sys streams.

Revision 1742820 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 8 13:42:47 2016 UTC (8 years, 2 months ago) by stefan2
File length: 37027 byte(s)
Diff to previous 1732294 (colored)
In our build and test scripts, don't import built-in modules when in Python 3.

* build/run_tests.py
  (): The exceptions module only needs to be imported pre-Python 3.

Revision 1732294 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 25 13:13:23 2016 UTC (8 years, 5 months ago) by philip
File length: 36944 byte(s)
Diff to previous 1717356 (colored)
Add --enable-apache-whitelist configure option.  Subversion's configure
script blacklists some old, buggy, Apache versions and refuses to build
while some distributions ship these old versions with patches to fix
the bugs.  Whitelisting an Apache version will override the blacklist
and allow Subversion to build.

Subversion has regression tests for the buggy Apache behaviour and
whitelisting will change the expected behaviour for these tests from
XFAIL to PASS. As an example: using --enable-apache-whitelist=2.4.6
on an up-to-date CentOS 7 will allow Subversion to build and the
regression tests will PASS.

* configure.ac: Add --enable-apache-whitelist.

* build/ac-macros/apache.m4
  (SVN_FIND_APACHE): Check whitelist, tweak help text for
   --enable-broken-httpd-auth.

* Makefile.in
  (HTTPD_WHITELIST): New.
  (check): Pass --httpd-whitelist.

* build/run_tests.py
  (TestHarness.__init__, TestHarness._run_py_test, main): Add httpd_whitelist.

* subversion/tests/cmdline/svntest/main.py
  (is_mod_dav_url_quoting_broken): Check whitelist.
  (TestSpawningThread.run_one): Handle --httpd-whitelist.
  (_create_parser): Add --httpd-whitelist.


Revision 1717356 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 1 00:03:55 2015 UTC (8 years, 7 months ago) by stefan2
File length: 36670 byte(s)
Diff to previous 1717355 (colored)
Fix the console test output in GLOBAL_SCHEDULER mode.

* build/run_tests.py
  (TestHarness._run_global_sheduler): Make sure the "Tests to execute"
                                      line is shown before the first
                                      results come in.


Revision 1717355 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 30 23:56:55 2015 UTC (8 years, 7 months ago) by stefan2
File length: 36647 byte(s)
Diff to previous 1716464 (colored)
Minor tuning of the GLOBAL_SCHEDULER test script option.  This saves
about 5% wallclock time on my workstation.

* build/run_tests.py
  (TestHarness._run_global_sheduler): Cause very long C test suites
                                      to be schedules early on.

Revision 1716464 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 25 16:22:39 2015 UTC (8 years, 8 months ago) by philip
File length: 36642 byte(s)
Diff to previous 1716405 (colored)
Make builddir != srcdir work with global scheduler.

* build/run_tests.py
  (CollectingThread.__init__): Add builddir parameter.
  (CollectingThread.run): Find compiled executables in builddir.
  (TestHarness._run_global_sheduler): Pass builddir.


Revision 1716405 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 25 13:42:30 2015 UTC (8 years, 8 months ago) by stefan2
File length: 36412 byte(s)
Diff to previous 1716399 (colored)
Follow-up to r1716399:

* build/run_tests.py
  (TestHarness._run_local_schedulers): Fix docstring indentation.

Revision 1716399 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 25 13:34:41 2015 UTC (8 years, 8 months ago) by stefan2
File length: 36408 byte(s)
Diff to previous 1716397 (colored)
Add a --global-scheduler option to the Unix run_tests harness.

The idea is to run not parallelize within the individual Python test
scripts alone but instead to have one global scheduler for all tests.
That significantly improves scalability with large numbers of HW threads:

  MacBook (4C/8T):       140s -> 110s
  Workstation (12C/24T): 100s ->  40s

Note that the consolue output is different in global scheduler mode
and the log files then no longer contain start time stamps.

Because the C tests use their own scheduler, partially to enforce
specific restrictions on parallel execution, schedule whole C test
apps instead of individual C tests.

* build/run_tests.py
  (): Update usage docstring and add missing imports.
  (TestHarness._init_py_tests): Remember the command line for Python tests
                                as well because the global scheduler doesn't
                                load those tests but runs them externally.
  (TestHarness.Job,
   TestHarness.CollectingThread,
   TestHarness.TestSpawningThread): New classes for the global scheduler
                                    functionality.
  (TestHarness._run_global_sheduler): Main routine for the new scheduler.
  (TestHarness._run_local_schedulers): Encapsulates the traditional behavior.
  (TestHarness.run): Run the tests with the selected scheduler.
  (create_parser): Add '-g' / '--global-scheduler' option.

* Makefile.in
  (check): Add GLOBAL_SCHEDULER option.

Revision 1716397 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 25 13:33:48 2015 UTC (8 years, 8 months ago) by stefan2
File length: 29151 byte(s)
Diff to previous 1706432 (colored)
Minor refactoring of the Unix run_tests harness.

This is to reduce the code churn for the upcoming feature commit.

* build/run_tests.py
  (TestHarness._process_test_output_line): Factored out from ...
  (TestHarness._run_c_test): ... this one.
  (TestHarness._check_for_unknown_failure): Factored out from ...
  (TestHarness._run_test): ... this one.


Revision 1706432 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 2 15:39:01 2015 UTC (8 years, 9 months ago) by kotkov
File length: 28911 byte(s)
Diff to previous 1706375 (colored)
Following up on r1700215, unbreak the test runner's --bin option.

For instance, win-tests.py --bin=some\path used to error out like this:

  Traceback (most recent call last):
    File "win-tests.py", line 1025, in <module>
      failed = th.run(tests_to_run)
    File "C:\Projects\Subversion\trunk\build\run_tests.py", line 319, in run
      self._init_py_tests(list(py_basedir)[0])
    File "C:\Projects\Subversion\trunk\build\run_tests.py", line 219,
        in _init_py_tests
      cmdline.append('--bin=%s', self.opts.svn_bin)
  TypeError: append() takes exactly one argument (2 given)

* build/run_tests.py
  (TestHarness._init_py_tests): Use % operator to format the --bin path.


Revision 1706375 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 2 11:48:31 2015 UTC (8 years, 9 months ago) by kotkov
File length: 28910 byte(s)
Diff to previous 1703740 (colored)
Following up on r1700215, unbreak the test runner's compabitility mode.

For instance, make check SERVER_MINOR_VERSION=8 used to error out
like this:

  Traceback (most recent call last):
    File "./build/run_tests.py", line 789, in <module>
      main()
    File "./build/run_tests.py", line 782, in main
      failed = th.run(args[2:])
    File "./build/run_tests.py", line 322, in run
      self._init_c_tests()
    File "./build/run_tests.py", line 196, in _init_c_tests
      self.opts.server_minor_version)
  TypeError: cannot concatenate 'str' and 'int' objects

* build/run_tests.py
  (TestHarness._init_c_tests): Use %d format for the minor version value,
   as we already do in _init_py_tests().

* win-tests.py:
  (): Convert the minor version value to integer, as we'll then be passing
   it to TestHarness.__init__() that expects an int.


Revision 1703740 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 18 04:52:22 2015 UTC (8 years, 10 months ago) by brane
File length: 28908 byte(s)
Diff to previous 1701763 (colored)
Correctly propagate the log level through the multiple layers of test
suite infrastructure and make sure the default log level is the same
on all platforms and across all types of tests.

* build/run_tests.py
  (create_parser): Make the --verbose option behave exactly as in the
   Python test drivers: i.e., set the log level to DEBUG.
  (TestHarness._init_c_tests): Pass --verbose to the C tests if the
   log level is DEBUG or less (that is, more verbose).
  (TestHarness._init_py_tests): Never send the --verbose option to the
   Python test driver; always use --set-log-level.
* subversion/tests/cmdline/svntest/main.py
  (TestSpawningThread.run_one): Likewise, tell the testcase subprocess
   what the actual log level is instead of passing -v (--verbose).

* Makefile.in
  (check): Do not make tests logs verbose by default.
* win-tests.py:
   Make the -v/--verbose option set the log level to DEBUG.
  (_usage_exit): Deprecate the -q/--quiet option as it is now a no-op.


Revision 1701763 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 8 10:07:38 2015 UTC (8 years, 10 months ago) by brane
File length: 28545 byte(s)
Diff to previous 1701270 (colored)
In the Python tests, create and initialize the logger in
one place. Also set a sane default log level.

* build/run_tests.py
  (TestHarness._init_py_tests): Do not set svntest.main.logger.

* subversion/tests/cmdline/svntest/main.py
  (AbbreviatedFormatter): Move before _create_parser; no functional change.
  (_create_parser): Initialize the global logger variable and check the
   root logger. Moved from execute_tests(); no functional change.
   Set the default log level to WARN if it was not set elsewhere.
  (parse_options): Register a logging handler.
   Moved from execute_tests(); no functional change.
  (execute_tests): Remove logger checking and initialization.


Revision 1701270 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 4 14:06:26 2015 UTC (8 years, 10 months ago) by ivan
File length: 28657 byte(s)
Diff to previous 1700220 (colored)
Follow-up to r1700215: Add required import in test suite.

* build/run_tests.py
  (): Add 'import re'.


Revision 1700220 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 31 09:23:10 2015 UTC (8 years, 10 months ago) by brane
File length: 28647 byte(s)
Diff to previous 1700215 (colored)
* build/run_tests.py
  (TestHarness._init_c_tests): Fix reference to the memcached-server option.


Revision 1700215 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 31 07:44:16 2015 UTC (8 years, 10 months ago) by brane
File length: 28642 byte(s)
Diff to previous 1690288 (colored)
Make sure that test suite options are initialized consistently
and in one place only. This removes code duplication between
run_tests.py and the Python tests, for example.


* build/run_tests.py
  (SVN_VER_MINOR): Remove; duplicate of svntest.main.SVN_VER_MINOR.
  (svntest): New. Placeholder for the imported svntest module.
  (TestHarness.__init__): Remove all keyword arguments that are just
   copies of program options and use the options struct instead.
   Update all references to 'self' attributes with 'self.opts'.
  (TestHarness._init_c_tests): New; construct the command line for the C tests.
  (TestHarness._init_py_tests): New; initialize the Python test options by
   constructing command-line args and using the options parser in
   svntest.main to parse them. Althgough this appears to be a roundabout
   way to set up the options structure, it removes a bunch of code
   duplication for validating and canonicalizing the test options.
  (TestHarness.run): Initialize C and Python test options exactly once
   per test run, so that individual tests don't repeat the same
   initialization and module import over and over again.
  (TestHarness._run_c_test): Use the pre-cooked command line and options.
  (TestHarness._run_py_test): Likewise.
  (TestHarness._split_nums): Remove; unused.
  (TestHarness._run_test): Use prepared test case parameters.
  (create_parser): New. Use the optparse module to construct a parser
   for the program options.
  (main): Replace getopt-based parsing with optparse-based parser from
   create_parser().

* subversion/tests/cmdline/svntest/main.py
  (create_default_options): Remove; unused.
  (_create_parser): Accept an optional usage string.
   Add a new option, --parallel-instances, to allow run_tests.py to pass
   the actual number of requested parallel test threads.
  (parse_options): Renamed from _parse_options.
  (execute_tests): Since svntest.main.options are now initialized only
   once per test run, be sure to restore the 'parallel' flag between
   individual test fixture invocations.

* win-tests.py: Update the initialization of the TestHarness class,
   using the new run_tests.create_parser function to prepare default
   options.


Revision 1690288 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 10 16:55:00 2015 UTC (9 years ago) by danielsh
File length: 29887 byte(s)
Diff to previous 1675099 (colored)
* build/run_tests.py
  (ioctl_GWINSZ): Rewrite to work on systems where sizeof(short) != 2.

Revision 1675099 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 21 11:47:33 2015 UTC (9 years, 3 months ago) by rhuijben
File length: 29827 byte(s)
Diff to previous 1660548 (colored)
Make it a bit easier to test the memcached support from the cache C tests
and fix a few Windows testsuite runner problems in recent changes.

* build/run_tests.py
  (_run_c_test): Pass --memcached-server if available.

* subversion/tests/libsvn_subr/cache-test.c
  (create_memcache): New function.
  (test_memcache_basic,
   test_memcache_long_key): Use create_memcache.

* subversion/tests/svn_test.h
  (svn_test_opts_t): Add option.

* subversion/tests/svn_test_main.c
  (test_options_e): Add value.
  (cl_options): Declare option.
  (svn_test_main): Parse option.

* win-tests.py
  (): Following up on r1674783, add missing ',' to separate arguments
      and parse the right argument names.


Revision 1660548 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 18 00:29:51 2015 UTC (9 years, 5 months ago) by brane
File length: 29715 byte(s)
Diff to previous 1657362 (colored)
Increment the trunk version number to 1.10.0-dev.

* subversion/include/svn_version.h: Increment version number.

* subversion/tests/cmdline/svntest/main.py (SVN_VER_MINOR),
  build/run_tests.py (SVN_VER_MINOR):
    Increment version number.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java
  (NativeResources.init): Increment required library version.


Revision 1657362 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 4 18:22:45 2015 UTC (9 years, 5 months ago) by brane
File length: 29714 byte(s)
Diff to previous 1657307 (colored)
Fix DAV tests.

* build/run_tests.py
  (TestHarness._run_c_test): Ensure that the parent dir for the authz file exists.


Revision 1657307 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 4 16:32:47 2015 UTC (9 years, 5 months ago) by julianfoad
File length: 29561 byte(s)
Diff to previous 1656844 (colored)
Reintegrate the 'dump-load-cross-check' branch: implement optional dump/load
cross-checking in the test suite.

This is activated by passing 'DUMP_LOAD_CROSS_CHECK=1' to 'make check' and
friends, or by passing '--dump-load-cross-check' to the Python tests.

Remaining items mentioned in the BRANCH-README file were:

TODO:
  - Fix FAIL: svnmucc_tests.py 2: a no-op content-change is reported
    differently in different cases. (Fix it how? I'd prefer to make the
    output of a no-op change the same as a no-change.)

Ideas for improvement:
  - Improve the logic for finding repositories created by a test: detect
    when a test created a repository even if the sandbox is not marked as
    'built'; detect when a test created additional repositories.

  - Implement the same cross-checking for the C tests.


Revision 1656844 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 3 17:42:58 2015 UTC (9 years, 5 months ago) by rhuijben
File length: 29106 byte(s)
Diff to previous 1656778 (colored)
Following up on r1656778, tweak calculation of where to create the
authz file. This should fix the problem on buildbots that cleanup
their test environment better than my local scripts.

* build/run_tests.py
  (_run_c_test): Add proper intermediate path to write authz file.


Revision 1656778 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 3 16:23:19 2015 UTC (9 years, 5 months ago) by rhuijben
File length: 29098 byte(s)
Diff to previous 1655015 (colored)
Optionally provide information about the ra layer we are testing to the C
tests. This will (after a few followup patches) allow running several
C tests against svn:// and http://.

* build/run_tests.py
  (_run_c_test): Pass more information.

* subversion/tests/svn_test.h
  (svn_test_opts_t): Add a few more fields.

* subversion/tests/svn_test_main.c
  (test_options_e): Handle three arguments.
  (cl_options): Document new arguments.
  (svn_test_main): Store prog_name. Parse new arguments.


Revision 1655015 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 27 11:48:40 2015 UTC (9 years, 6 months ago) by julianfoad
File length: 28511 byte(s)
Diff to previous 1639634 (colored)
* build/run_tests.py
  (TestHarness.run): Correct a comment. Simplify the associated code.

Revision 1639634 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 14 13:45:44 2014 UTC (9 years, 8 months ago) by philip
File length: 28571 byte(s)
Diff to previous 1619321 (colored)
Extract the httpd version at configure time rather than in
davautocheck.sh, pass --httpd-version as a testsuite option
rather than using the environment SVNTEST_HTTPD_VERSION.
This is how other test flags support both 'make check' and
'make davautocheck'.

* subversion/tests/cmdline/davautocheck.sh
  (SVNTEST_HTTPD_VERSION): Move code to apache.m4.

* build/ac-macros/apache.m4
  (HTTPD_VERSION): Set value, based on code from davautocheck.sh.

* Makefile.in
  (check): Pass --httpd-version.

* build/run_tests.py
  (TestHarness.__init__, TestHarness._run_py_test, main): Add httpd_version.

* subversion/tests/cmdline/svntest/main.py
  (is_mod_dav_url_quoting_broken): Use option rather than environment.
  (TestSpawningThread.run_one): Handle --httpd-version.
  (_create_parser): Add --httpd-version. 


Revision 1619321 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 21 09:20:09 2014 UTC (9 years, 11 months ago) by brane
File length: 28174 byte(s)
Diff to previous 1609489 (colored)
Follow up to r1619320: Commit missing files.


Revision 1609489 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 10 15:50:58 2014 UTC (10 years ago) by brane
File length: 27748 byte(s)
Diff to previous 1609484 (colored)
Follow-up to r1609477: Make skipping the C tests optional for any RA method.

* Makefile.in (check): Interpret the SKIP_C_TESTS option.
* build/run_tests.py
  (TestHarness.__init__): Accept a new optional parameter skip_c_tests
   and initialize the object attribute from it.
  (main): Add new options --skip-c-tests and synonym --skip-C-tests.
   Defaults to false; pass the value to the TestHarness constructor.


Revision 1609484 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 10 15:29:48 2014 UTC (10 years ago) by brane
File length: 27569 byte(s)
Diff to previous 1609477 (colored)
Fix fallout from r1609477.

* build/run_tests.py
  (TestHarness.__init__): Don't assume that the base URL is set.


Revision 1609477 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 10 15:19:40 2014 UTC (10 years ago) by brane
File length: 27523 byte(s)
Diff to previous 1579376 (colored)
Do not run the C tests when testing ra_svn or ra_serf.
The C tests ignore the test harness' base URL parameter, so this avoids
repeating the exact same tests with all three RA methods.

* build/run_tests.py
  (TestHarness.__init__): Check if we're using the file:// protocol.
  (TestHarness.run): Filter the C tests out of the test list if we're not
   testing ra_local.
  (TestHarness._split_nums): New; code hoisted out of TestHarness._run_test.
  (TestHarness._run_test): Use TestHarness._split_nums.


Revision 1579376 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 19 20:06:33 2014 UTC (10 years, 4 months ago) by stsp
File length: 27045 byte(s)
Diff to previous 1573559 (colored)
Allow memcached to be enabled on the 'make check' command line.

So far, tests could be run with memcached by tweaking the file
subversion/tests/tests.conf before running the tests.
With this commit, a running memcached server can specified directly
on the command line, like so:

  make check MEMCACHED_SERVER=127.0.0.1:11211
 
This is similar to how other test options are enabled/disabled.

Currently, a lot of tests fail if this option is used, mostly due
to checksum mismatch errors like:

W: svn: E200014: Checksum mismatch for '/home/stsp/svn/svn-trunk/subversion/tests/cmdline/svn-test-work/working_copies/basic_tests-19/A/D/gamma':
W:    expected:  412138bd677d64cd1c32fafbffe6245d
W:      actual:  ada10d942b1964d359e048dbacff3460
W: 

I believe the reason for such failures is that the test suite copies an
existing repository for each test without changing the repository UUID.
Memcached cache might return wrong fulltexts if a repository UUID is reused.

* Makefile.in
  (check): Pass $(MEMCACHED_SERVER) to run_tests.py's --memcache-server flag.

* build/run_tests.py
  (usage, main): add --memcached-server option
  (TestHarness): Add memcached_server parameter and pass it on
   to svntest.main.options.

* subversion/tests/cmdline/svntest/main.py
  (create_repos): For >=1.6, enable use specified memcached in fsfs.conf
   if --memcached-server was provided.


Revision 1573559 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 3 13:33:47 2014 UTC (10 years, 4 months ago) by philip
File length: 26624 byte(s)
Diff to previous 1573320 (colored)
* build/run_tests.py: Add missing import, followup to r1573320.


Revision 1573320 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 2 15:54:08 2014 UTC (10 years, 4 months ago) by philip
File length: 26612 byte(s)
Diff to previous 1558962 (colored)
Allow 'make check PARALLEL=N' to be used to specify that N threads
are used for the python tests.  Use the default number, 5, if N is
not a number greater than 1, thus the behaviour of PARALLEL=1 and
PARALLEL=yes is unchanged.

* Makefile.in:
  (check): Pass PARALLEL value to run_tests.py

* build/run_tests.py
  (run_py_test): Handle --parallel value.
  (main): Accept --parallel value.


Revision 1558962 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 16 23:42:41 2014 UTC (10 years, 6 months ago) by breser
File length: 26369 byte(s)
Diff to previous 1545334 (colored)
Make some errors when running tests more friendly.

"Don't know what to do about" is not a helpful error.

* build/run_tests.py
  (TestHarness._run_c_test): Specify what we were testing the executable flag,
    prefix the error with a newline so it doesn't run into the test name,
    and simplify the code some.
  (TestHarness._run_py_test): Specify there was an error while loading the
    test, prefix error with newline like above, and print a traceback of
    the exception.


Revision 1545334 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 25 16:11:42 2013 UTC (10 years, 8 months ago) by stefan2
File length: 26320 byte(s)
Diff to previous 1499763 (colored)
Add "--parallel" option to our C tests.

Besides shaving off a few seconds off our total test execution time,
parallel execution also stresses our code and the tests themselves
harder.  It uncovers things like improperly separated working sets
that make post-failure analysis harder.

Parallel mode is only available with APR 1.3+ and threads enabled.
The option will simply be ignored in other configurations. Further
limitations are cleanups being delayed to after all tests completed
and segfaults not being intercepted.

Some tests can't be executed in parallel.  Therefore, we introduce
svn_test_max_threads a simple upper limit to the number of threads
supported that each test must define alongside the test_funcs array.
This patch sets it to "1" in many cases because the tests are so
small that multi-threaded execution is simply not worth it.

* build/run_tests.py
  (TestHarness._run_c_test): Pass --parallel option to the individual
                             test applications.

* subversion/tests/svn_test.h
  (svn_test_max_threads): Declare new external setting to be set by
                          every test application.

* subversion/tests/svn_test_main.c
  (parallel): New command line option presence flag.
  (parallel_opt,
   cl_options): Declare the new "--parallel" option.
  (svn_test_add_dir_cleanup): Synchronize shared pool access since
                              this might be called from multiple
                              threads at the same time.
  (log_results): Result logger function factored out from do_test_num
                 to be shared between serialized and parallel test
                 execution code.
  (do_test_num): Use that new function.
  (test_params_t,
   test_thread,
   do_tests_concurrently): Threads, their parameter and the thread
                           starter for thread-pooled test execution.
  (main): Handle the new option.
          Call concurrent execution when in PARALLEL mode.

* subversion/tests/libsvn_delta/random-test.c
  subversion/tests/libsvn_subr/named_atomic-test.c
  (svn_test_max_threads): These tests don't support concurrent execution.

* subversion/tests/libsvn_delta/random-test.c
  subversion/tests/libsvn_delta/window-test.c
  subversion/tests/libsvn_diff/parse-diff-test.c
  subversion/tests/libsvn_ra_local/ra-local-test.c
  subversion/tests/libsvn_ra/ra-test.c
  subversion/tests/libsvn_subr/auth-test.c
  subversion/tests/libsvn_subr/cache-test.c
  subversion/tests/libsvn_subr/checksum-test.c
  subversion/tests/libsvn_subr/compat-test.c
  subversion/tests/libsvn_subr/config-test.c
  subversion/tests/libsvn_subr/crypto-test.c
  subversion/tests/libsvn_subr/dirent_uri-test.c
  subversion/tests/libsvn_subr/error-code-test.c
  subversion/tests/libsvn_subr/error-test.c
  subversion/tests/libsvn_subr/hashdump-test.c
  subversion/tests/libsvn_subr/mergeinfo-test.c
  subversion/tests/libsvn_subr/named_atomic-test.c
  subversion/tests/libsvn_subr/opt-test.c
  subversion/tests/libsvn_subr/packed-data-test.c
  subversion/tests/libsvn_subr/path-test.c
  subversion/tests/libsvn_subr/prefix-string-test.c
  subversion/tests/libsvn_subr/priority-queue-test.c
  subversion/tests/libsvn_subr/revision-test.c
  subversion/tests/libsvn_subr/root-pools-test.c
  subversion/tests/libsvn_subr/skel-test.c
  subversion/tests/libsvn_subr/spillbuf-test.c
  subversion/tests/libsvn_subr/sqlite-test.c
  subversion/tests/libsvn_subr/stream-test.c
  subversion/tests/libsvn_subr/string-test.c
  subversion/tests/libsvn_subr/subst_translate-test.c
  subversion/tests/libsvn_subr/time-test.c
  subversion/tests/libsvn_subr/utf-test.c
  subversion/tests/libsvn_wc/conflict-data-test.c
  subversion/tests/libsvn_wc/wc-queries-test.c:
  (svn_test_max_threads): These are too small to benefit from multi-threading.

* subversion/tests/libsvn_client/client-test.c
  subversion/tests/libsvn_diff/diff-diff3-test.c
  subversion/tests/libsvn_fs_base/changes-test.c
  subversion/tests/libsvn_fs_base/fs-base-test.c
  subversion/tests/libsvn_fs_base/strings-reps-test.c
  subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
  subversion/tests/libsvn_fs/fs-test.c
  subversion/tests/libsvn_fs/locks-test.c
  subversion/tests/libsvn_fs_x/fs-x-pack-test.c
  subversion/tests/libsvn_fs_x/string-table-test.c
  subversion/tests/libsvn_repos/repos-test.c
  subversion/tests/libsvn_subr/io-test.c
  subversion/tests/libsvn_subr/translate-test.c
  subversion/tests/libsvn_wc/db-test.c
  subversion/tests/libsvn_wc/op-depth-test.c
  subversion/tests/libsvn_wc/wc-test.c
  (svn_test_max_threads): Set concurrency limit to whatever various test
                          runs suggested as the most efficient value.

* subversion/tests/libsvn_wc/entries-compat.c
  subversion/tests/libsvn_wc/pristine-store-test.c
  (svn_test_max_threads): Set concurrency limit to "unbounded".


Revision 1499763 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 4 14:21:29 2013 UTC (11 years ago) by lgo
File length: 26251 byte(s)
Diff to previous 1496475 (colored)
Enable davautocheck.sh and the test suite to be run with a proxy that 
requires authentication and is installed on another host.

* build/run_tests.py
  (TestHarness.__init__): Add http_proxy_username and http_proxy_password
      arguments. Pass these through to svntest.main.
  (main): Add http-proxy-username and http-proxy-password command-line
      arguments.

* subversion/tests/cmdline/davautocheck.sh
  (BASE_URL): Allow the user to specify a BASE_URL other than http://localhost,
      needed when using a proxy on another host.

* subversion/tests/cmdline/svntest/main.py
  (create_config_dir): When provided, add lines in the servers config file for
      http-proxy-username and http-proxy-password.
  (_create_parser): Add http-proxy-username and http-proxy-password command-line
      arguments.


Revision 1496475 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 25 13:55:50 2013 UTC (11 years, 1 month ago) by stsp
File length: 25296 byte(s)
Diff to previous 1467415 (colored)
Restore the ability to run tests with exclusive working copy locks.
This functionality was turned on by default between r1493097 and r1496437.
It can now be enabled via a new --exclusive-wc-locks test option,
or like this when using 'make check': make check EXCLUSIVE_WC_LOCKS=1

* Makefile.in: Handle EXCLUSIVE_WC_LOCKS parameter.

* build/run_tests.py:
  (usage, main): Add --exclusive-wc-locks option.
  (TestHarness): Add exclusive_wc_locks parameter to constructor.
   Set svntest.main.options.exclusive_wc_locks based on it.

* subversion/tests/cmdline/svntest/main.py
  (create_config_dir): Add exclusive_wc_locks parameter. If TRUE, enable
   exclusive working copy locking in the client configuration.
  (TestSpawningThread): Handle --exclusive-wc-locks option.
  (_create_parser): Add --exclusive-wc-locks option.
  (execute_tests): Pass the exclusive_wc_locks option to create_config_dir().


Revision 1467415 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 12 18:58:27 2013 UTC (11 years, 3 months ago) by julianfoad
File length: 24894 byte(s)
Diff to previous 1425089 (colored)
Post-branch housekeeping.  Having branched 1.8.x from trunk, increment the
trunk minor version number to 9.

* subversion/include/svn_version.h,
  subversion/tests/cmdline/svntest/main.py,
  build/run_tests.py
  (SVN_VER_MINOR): Bump to 9.


Revision 1425089 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 21 19:00:25 2012 UTC (11 years, 7 months ago) by philip
File length: 24894 byte(s)
Diff to previous 1424695 (colored)
* build/run_tests.py: (_run_test): Avoid a hard-coded fill size.


Revision 1424695 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 20 20:46:56 2012 UTC (11 years, 7 months ago) by julianfoad
File length: 24828 byte(s)
Diff to previous 1424455 (colored)
Tweak the test suite output to move the overall progress numbers into an aligned
column on the left, as an additional change following the recent removal of
the 'Running all tests in ' prefix in r1424455.

* build/run_tests.py
  (TestHarness._run_test): Move the [01/98] progress before the test name.

Revision 1424455 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 20 13:28:24 2012 UTC (11 years, 7 months ago) by philip
File length: 24826 byte(s)
Diff to previous 1420944 (colored)
* build/run_tests.py
  (_run_test): Drop the constant "Running tests in" to increase the
   resolution of the progress bar.


Revision 1420944 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 12 20:11:23 2012 UTC (11 years, 7 months ago) by astieger
File length: 24892 byte(s)
Diff to previous 1420904 (colored)
Prevent false negative results of "make check" in Python tests

* build/run_tests.py
  (_run_py_test): exit non-zero like _run_c_test

Approved by: danielsh
             breser


Revision 1420904 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 12 18:25:00 2012 UTC (11 years, 7 months ago) by danielsh
File length: 24886 byte(s)
Diff to previous 1420899 (colored)
* build/run_tests.py: Change another string literal to facilitate grepping for it.

Revision 1420899 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 12 18:16:52 2012 UTC (11 years, 7 months ago) by danielsh
File length: 24887 byte(s)
Diff to previous 1410195 (colored)
* build/run_tests.py: Change string literal to facilitate grepping for it.

Revision 1410195 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 16 04:25:04 2012 UTC (11 years, 8 months ago) by breser
File length: 24888 byte(s)
Diff to previous 1390965 (colored)
Make it easy to run the test suite through an http proxy.

* Makefile.in
  (check): Convert HTTP_PROXY to --http-proxy arg on run_tests.py

* build/run_tests.py
  (usage): Add --http-proxy as a possible option.
  (TestHarness.__init__): Add http_proxy arg / attribute on class.
  (TestHarness._run_py_test): Pass in http_proxy attribute.
  (main): Support parsing --http-proxy, pass value to TestHarness constructor.

* subversion/tests/cmdline/svntest/main.py
  (create_config_dir): Accept a http_proxy arg, use urlparse to split it as
    though it was netloc of a URL.  This allows ipv6 addresses via the 
    [ipv6]:port syntax.  Add the split argument as http-proxy-host and
    http-proxy-port in the servers config file.
  (TestSpawningThread.run_one): Pass the --http-proxy arg.
  (execute_tests): Pass http_proxy to create_config_dir.
  


Revision 1390965 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 27 12:31:56 2012 UTC (11 years, 10 months ago) by philip
File length: 24542 byte(s)
Diff to previous 1387987 (colored)
* build/run_tests.py
  (run): Failures should be reported by SUMMARY even if a FAIL is not logged.


Revision 1387987 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 20 11:57:09 2012 UTC (11 years, 10 months ago) by stsp
File length: 24532 byte(s)
Diff to previous 1387812 (colored)
As part of the never-ending quest of debugging multi-threaded programs:

* build/run_tests.py
  (TestHarness): Make the progress_func used for python tests deal with
   being called from multiple threads concurrently by protecting the
   counter of dots already printed with a mutex.

* subversion/tests/cmdline/svntest/main.py
   (TestSpawningThread): Remove mutex here, shouldn't be needed anymore.

Suggested by: philip


Revision 1387812 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 23:20:52 2012 UTC (11 years, 10 months ago) by stsp
File length: 24292 byte(s)
Diff to previous 1387810 (colored)
* build/run_tests.py
  (TestHarness): In the progress callbacks, exit early if the expected number
   of dots have already been printed.


Revision 1387810 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 23:10:01 2012 UTC (11 years, 10 months ago) by stsp
File length: 24224 byte(s)
Diff to previous 1387807 (colored)
* build/run_tests.py
  (TestHarness): In the progress callbacks, if we're not logging to a file,
   we won't be printing anything. So simply exit early instead of performing
   computations we're not going to use for anything. Also, for purely cosmetic
   reasons, trim empty lines from the progress callbacks.


Revision 1387807 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 23:00:25 2012 UTC (11 years, 10 months ago) by stsp
File length: 24194 byte(s)
Diff to previous 1387527 (colored)
* build/run_tests.py
  (TestHarness): In progress reporting callbacks, don't ever print more dots
   than we were planning to print.


Revision 1387527 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 11:19:18 2012 UTC (11 years, 10 months ago) by stsp
File length: 24090 byte(s)
Diff to previous 1375089 (colored)
*  build/run_tests.py
   (TestHarness._run_py_test): Don't hardcode fd numbers of stdout and stderr.


Revision 1375089 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 20 16:17:05 2012 UTC (11 years, 11 months ago) by danielsh
File length: 23982 byte(s)
Diff to previous 1349699 (colored)
In 'make check', print a one-bit summary, to mitigate repeated users@ question
about "does XFAIL > 0 || SKIP > 0 in the outupt represent a problem?".

* build/run_tests.py
  (TestHarness.run): Print a one-bit summary as the output's last line.



Revision 1349699 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 13 09:14:59 2012 UTC (12 years, 1 month ago) by philip
File length: 23832 byte(s)
Diff to previous 1335461 (colored)
Enable running the regression tests over https.  The davautocheck.sh
script contains a fixed, self-signed certificate that is used in the
server configuration.  The server certificate is passed to the
regression tests so that the client can be made to trust it.

To invoke the SSL tests use: make davautocheck USE_SSL=1

The tests used to PASS with neon before it was disabled.  With serf
they hang: http://subversion.tigris.org/issues/show_bug.cgi?id=3981

* subversion/tests/cmdline/davautocheck.sh
  (): Handle USE_SSL, setup cert and key, set SSL_CERT.

* Makefile.in
  (check): Use SSL_CERT to set --ssl-cert.

* build/run_tests.py
  (TestHarness.__init_, TestHarness._run_py_test, main): Handle --ssl-cert.

* subversion/tests/cmdline/svntest/main.py
  (create_config_dir): Add ssl parameters, setup trust files.
  (trust_ssl_cert, copy_trust): New.
  (run_atomic_ra_revprop_change): Pass config_dir instead of http_library.
  (run_one, _create_parser, execute_tests): Handle --ssl-cert.

* subversion/tests/cmdline/atomic-ra-revprop-change.c
  (USAGE_MSG): Tweak.
  (aborting_simple_prompt_func, aborting_username_prompt_func): Remove.
  (construct_auth_baton): Add config_dir parameter, create baton using
   standard function.
  (construct_config): Pass config_dir instead of http_library, create
   config using standard function.
  (change_rev_prop): Pass config_dir instead of http_library.
  (main): Parse config_dir instead of http_library.


Revision 1335461 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 8 12:24:28 2012 UTC (12 years, 2 months ago) by rhuijben
File length: 23581 byte(s)
Diff to previous 1328951 (colored)
Add --log-level argument to win-tests.py.

* win-tests.py
  (.): Add documentation of new argument and fix some indenting and placement.
  (.): Parse --log-level
  (.): Pass log level to the test harness.
  
* build/run_tests.py
  (_run_py_test): Setup logger if not previously setup correctly.


Revision 1328951 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 22 19:45:58 2012 UTC (12 years, 3 months ago) by rhuijben
File length: 23341 byte(s)
Diff to previous 1326291 (colored)
* build/run_tests.py
  (_get_term_width): Change fallback default for Windows to avoid overflowing
    to the next line when writing character 80.


Revision 1326291 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 15 09:33:09 2012 UTC (12 years, 3 months ago) by danielsh
File length: 23277 byte(s)
Diff to previous 1326289 (colored)
Scalpel.

* build/run_tests.py
  (_get_term_width): Remove scalpel inserted in r1326289.

Revision 1326289 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 15 09:23:01 2012 UTC (12 years, 3 months ago) by danielsh
File length: 23304 byte(s)
Diff to previous 1326288 (colored)
* build/run_tests.py
  (_get_term_width): Prefer $SVN_MAKE_CHECK_LINES and $SVN_MAKE_CHECK_COLUMNS
    to ioctl(GWINSZ).

Revision 1326288 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 15 09:21:17 2012 UTC (12 years, 3 months ago) by danielsh
File length: 23102 byte(s)
Diff to previous 1326255 (colored)
* build/run_tests.py
  (_get_term_width): Actually use $LINES and $COLUMNS.

Revision 1326255 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 15 05:32:31 2012 UTC (12 years, 3 months ago) by danielsh
File length: 23088 byte(s)
Diff to previous 1308505 (colored)
Allow passing --set-log-level from 'make check'.

* Makefile.in
  (check): Respect $(SET_LOG_LEVEL).

* build/run_tests.py
  (TestHarness.__init__): Grow set_log_level parameter.
  (TestHarness._run_py_test): Use it.
  (main): Grow --set-log-level parameter, pass it to TestHarness.__init__().


Revision 1308505 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 2 19:45:56 2012 UTC (12 years, 3 months ago) by hwright
File length: 22778 byte(s)
Diff to previous 1297239 (colored)
* build/run_tests.py
  (_run_c_test): Still print dots, even if we don't have any tests to run.


Revision 1297239 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 5 21:49:15 2012 UTC (12 years, 4 months ago) by danielsh
File length: 22637 byte(s)
Diff to previous 1297231 (colored)
Revert r1297223 and r1297231.  See the IRC thread starting at
<http://colabti.org/irclogger/irclogger_log/svn-dev?date=2012-03-05#l334>.


Revision 1297231 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 5 21:10:08 2012 UTC (12 years, 4 months ago) by danielsh
File length: 22874 byte(s)
Diff to previous 1297223 (colored)
Random change reverted in r1297239.


Revision 1297223 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 5 20:37:08 2012 UTC (12 years, 4 months ago) by danielsh
File length: 22717 byte(s)
Diff to previous 1295006 (colored)
Random change reverted in r1297239.


Revision 1295006 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 29 08:22:01 2012 UTC (12 years, 4 months ago) by danielsh
File length: 22637 byte(s)
Diff to previous 1241017 (colored)
Revert r1295004, which contained numerous accidental changes.

[ This was an svnmucc commit that replaced trunk@HEAD with
trunk@r1295003.  See r1295004 for the exact changes reverted. ]


Revision 1241017 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 6 14:20:10 2012 UTC (12 years, 5 months ago) by hwright
File length: 22637 byte(s)
Diff to previous 1172604 (colored)
Complete bikeshed: Use the entire width of the terminal for the dotted leader
when running tests for 'make check'.

* build/run_tests.py
  (LINE_LENGTH): Remove.
  (_get_term_width): New.
  (TestHarness._run_test): Calculate the number of dots needed using the above
    method.


Revision 1172604 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 19 13:00:46 2011 UTC (12 years, 10 months ago) by hwright
File length: 21823 byte(s)
Diff to previous 1154070 (colored)
* build/run_tests.py
  (_run_c_test): Remove an out-of-date option to the C tests.


Revision 1154070 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 5 01:51:17 2011 UTC (12 years, 11 months ago) by hwright
File length: 21873 byte(s)
Diff to previous 1154060 (colored)
Followup to r1154060 by catching any test suite exception, not just terminated-
by-signal.

* build/run_tests.py
  (_run_py_test): Catch any testsuite exception.


Revision 1154060 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 5 01:08:09 2011 UTC (12 years, 11 months ago) by hwright
File length: 21899 byte(s)
Diff to previous 1151957 (colored)
Catch a python exception to running tests to ensure we don't kill the entire
testing process.  (This particular exception crops up if we have trouble
initializing the given test suite.)

* build/run_tests.py
  (_run_py_test): Catch a thrown SVNProcessTerminatedBySignal exception when
    running the tests, and mark that suite as failed.


Revision 1151957 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 28 18:33:31 2011 UTC (13 years ago) by danielsh
File length: 21741 byte(s)
Diff to previous 1151954 (colored)
Factor out a magic number.

* build/run_tests.py
  (SVN_VER_MINOR): New.
  (TestHarness.__init__): Use it.

* subversion/tests/cmdline/svntest/main.py
  (SVN_VER_MINOR): New.
  (_create_parser, _parse_options): Use it.


Revision 1151954 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 28 18:19:25 2011 UTC (13 years ago) by danielsh
File length: 21685 byte(s)
Diff to previous 1151873 (colored)
Unred the build.

* subversion/tests/cmdline/svntest/main.py
  (_create_parser, _parse_options): Accept '8' minor number.
    Adjust helpstring.

* build/run_tests.py
  (TestHarness.__init__): Accept '8' minor number.


Revision 1151873 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 28 14:34:35 2011 UTC (13 years ago) by rhuijben
File length: 21685 byte(s)
Diff to previous 1145455 (colored)
* build/run_tests.py
  (_run_c_test): Remove carriage return from c test stdout on Windows to reduce
    the amount of unneeded vertical whitespace in the log output.


Revision 1145455 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 12 04:58:00 2011 UTC (13 years ago) by danielsh
File length: 21543 byte(s)
Diff to previous 1143103 (colored)
Allow the test suite to pass --pre-1.4-compatible.

Patch by: Noorul Islam K M
(log message by me)

* build/run_tests.py
  (TestHarness.__init__): Allow server_minor_version=3.

* subversion/tests/cmdline/svntest/main.py
  (create_repos, _parse_options): Accept and parse server_minor_version=3.

Revision 1143103 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 5 15:26:56 2011 UTC (13 years ago) by danielsh
File length: 21543 byte(s)
Diff to previous 1143092 (colored)
* build/run_tests.py (TestHarness.__init__):  Fix a typo.


Revision 1143092 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 5 15:06:25 2011 UTC (13 years ago) by danielsh
File length: 21542 byte(s)
Diff to previous 1139268 (colored)
* build/run_tests.py
  (TestHarness.__init__): Restrict --server-minor-version to take values in
     the range 4-7.

* subversion/tests/cmdline/svntest/main.py
  (_parse_options): Add cross-referencing comment.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
          me

Revision 1139268 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 24 12:26:56 2011 UTC (13 years, 1 month ago) by danielsh
File length: 21216 byte(s)
Diff to previous 1138109 (colored)
Pass parameters from 'make check' to svntest as integers.

Found by: philip

* build/run_tests.py
  (TestHarness._run_py_test):
    Explicitly store SERVER_MINOR_VERSION and FSFS_SHARDING as integers in 
    svntest.main.options.

Revision 1138109 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 21 18:00:13 2011 UTC (13 years, 1 month ago) by hwright
File length: 21206 byte(s)
Diff to previous 1132622 (colored)
The semi-annual trailing whitespace cleansing ritual.

* everywhere:
  for extsn in c h cpp java py pl rb; do
  sed -i -e 's/[ \t]*$//' `find . -name "*.$extsn" | xargs grep '[ \t]$' -l`
  done


Revision 1132622 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 6 13:02:03 2011 UTC (13 years, 1 month ago) by stsp
File length: 21212 byte(s)
Diff to previous 1095742 (colored)
Follow-up to r1071809:
Allow 'make check' to take MILESTONE_FILTER and MODE_FILTER options.

* Makefile.in
  (check): Pass --list, --milestone-filter, --mode-filter and
    --log-to-stdout to run_tests.py if MILESTONE_FILTER is set.

* build/run_tests.py
  (__doc__): Add --list, --milestone-filter and --mode-filter options to
    usage doc.
  (main): Accept --list, --milestone-filter and --mode-filter as a valid
   option, pass it to TestHarness() 

Patch by: Noorul Islam K M <noorul{_AT_}collab.net> 


Revision 1095742 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 21 15:07:50 2011 UTC (13 years, 3 months ago) by pburba
File length: 20738 byte(s)
Diff to previous 1081491 (colored)
Follow-up to r1081491: Fix broken --log-to-stdout with C tests.

* build/run_tests.py
  (TestHarness._run_c_test): There is no log when using
   --log-to-stdout, so don't try to write to it.


Revision 1081491 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 14 17:40:12 2011 UTC (13 years, 4 months ago) by hwright
File length: 20666 byte(s)
Diff to previous 1081466 (colored)
Add "dotted leader is a progress meter" for C tests run under 'make check' and
friends.  This functionality already exists for the python tests, and I find
it quite useful, hence the desire to make the C tests do the same thing.

* build/run_tests.py
  (_run_c_test): Find out the number of tests being run.  When running the
    tests, pipe the output through a loop that can determine test progress.
    Use a progress function to output that progress.


Revision 1081466 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 14 16:51:36 2011 UTC (13 years, 4 months ago) by hwright
File length: 19760 byte(s)
Diff to previous 1071809 (colored)
Fold a short function into its only caller.

* build/run_tests.py
  (_run_prog): Remove.
  (_run_c_test): Incorporate _run_prog into its callsite here.


Revision 1071809 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 17 22:09:02 2011 UTC (13 years, 5 months ago) by pburba
File length: 20056 byte(s)
Diff to previous 1067182 (colored)
Add an option (--milestone-filter=REGEX) to the Python tests so we can list a
subset of the tests based on their associated issues' target milestone.

This option is currently only available to win-tests.py and
subversion/tests/cmdline/svntest/main.py.  So it isn't quite as useful
on non-Windows platforms just yet.

Now we can easily answer questions like, "What xfailing merge tests need to
be fixed before we can release 1.7?"

  C:\SVN\src-trunk>win-tests.py --list --milestone-filter="(1.7.*)|(---)"
  --mode-filter xfail --log-to-stdout --test merge
  Listing Debug configuration on local repository.
  LISTING: merge_tests.py
  Test #  Mode   Test Description
  ------  -----  ----------------
    64    XFAIL  merge target with non inheritable mergeinfo
  [#2970(blue-sky),#3642(1.7.0)]
    75    XFAIL  merge added subtree [#1962(1.7-consider)]

* build/run_tests.py

  (TestHarness.__init__): Add mode_filter argument.

  (TestHarness._run_c_test): Issue warning that --milestone-filter doesn't
   work when listing C tests.

  (TestHarness._run_py_test): Accept --milestone-filter option.

* subversion/tests/cmdline/svntest/main.py

  (global): Import xml and urllib.

  (TestSpawningThread.run_one): Support --milestone-filter option.

  (TestRunner.list): Add optional argument mapping issues to target
   milestones.

  (TestRunner.get_issues): New.

  (_create_parser): Handle --milestone-filter.

  (get_target_milestones_for_issues): New.

  (execute_tests): Handle --milestone-filter.

* win-tests.py

  (_usage_exit): Add --milestone-filter to usage text.

  (milestone_filter): New global variable.

  (global): Accept --milestone-filter as a valid option, pass it to
   run_tests.TestHarness().



Revision 1067182 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 4 14:34:38 2011 UTC (13 years, 5 months ago) by rhuijben
File length: 19469 byte(s)
Diff to previous 1062916 (colored)
Fix the -t option to run just some tests using win-tests.py, which was broken
since the testrunner infrastructure switched to using less processes.

* subversion/tests/cmdline/svntest/main.py
  (_run_py_test): Pass the test selection to execute_tests().
  
* build/run_tests.py
  (execute_tests): Use the passed test_selection if we have an existing set
    of options.

Revision 1062916 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 24 18:38:38 2011 UTC (13 years, 6 months ago) by pburba
File length: 19302 byte(s)
Diff to previous 1061460 (colored)
Add an option to the C and Python tests so we can run/list a subset of the
tests based on their mode (e.g. list only the XFAIL tests in the entire
suite).

* build/run_tests.py

  (TestHarness.__init__): Add mode_filter argument.

  (TestHarness.run): If listing rather than running the tests, summarize the
   number of tests expected to pass.  Adjust the expected log format for
   SKIP and XFAIL when listing the test.

  (TestHarness._run_c_test,
   TestHarness._run_py_test): Accept --mode-filter option.

* subversion/tests/cmdline/svntest/main.py

  (TestSpawningThread.run_one): Support --mode-filter option.

  (TestRunner.list): Filter test listing based on --mode-filter option,
   default to all tests.  Adjust the spacing of the test information so it
   lines up with the header printed in execute_tests().

  (run_one_test):  Filter tests run based on --mode-filter option, default
   to all tests.

  (TestRunner.get_mode): New.

  (_create_parser): Handle --mode-filter.

  (execute_tests): If listing tests, then don't print the test header if
   all the tests in that list are filtered per --mode-filter.

* subversion/tests/svn_test.h

  (svn_test_mode_t): Add svn_test_all enum.

* subversion/tests/svn_test_main.c

  (mode_filter): New global svn_test_mode_t test option.

  (mode_filter_opt): New option enum.

  (cl_options): New --mode-filter option.

  (do_test_num): Support printing an optional header and communicating back
   to the caller that we did so.  If we specified a --mode-filter, only
   run/list the tests that match the filter.  Adjust the spacing of the
   test list output to match that of the Python test listing.

  (main): Parse --mode-filter.  Move printing of test headers for --list
   option into do_test_num().

* win-tests.py

  (_usage_exit): Add --mode-filter to usage text.

  (mode_filter): New global variable.

  (global): Accept --mode-filter as a valid option, pass it to
   run_tests.TestHarness().


Revision 1061460 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 20 19:03:54 2011 UTC (13 years, 6 months ago) by pburba
File length: 18696 byte(s)
Diff to previous 1055065 (colored)
Make win-tests.py and build/run_tests.py --list do something sensible.

Pardon the long log message...

Previously win-tests.py --list made it look like the tests were running, that
there were failures in anything with an XFail, and bombed out right after the
first Python test (that's three kinds of awesome for those playing at home):

  >win-tests.py --list
  Testing Debug configuration on local repository.
  Running tests in auth-test.exe [1/84].........................success
  Running tests in cache-test.exe [2/84]........................success
  Running tests in checksum-test.exe [3/84].....................success
  Running tests in client-test.exe [4/84].......................success
  Running tests in compat-test.exe [5/84].......................success
  Running tests in config-test.exe [6/84].......................success
  Running tests in db-test.exe [7/84]...........................success
  Running tests in diff-diff3-test.exe [8/84]...................success
  Running tests in dirent_uri-test.exe [9/84]...................FAILURE
  Running tests in entries-compat-test.exe [10/84]..............success
  <snip>
  Running tests in tree-conflict-data-test.exe [34/84]..........success
  Running tests in utf-test.exe [35/84].........................success
  Running tests in window-test.exe [36/84]......................success
  Running tests in authz_tests.py [37/84]
  >

With this change it now does something a bit more meaningful:

  C:\SVN\src-trunk>win-tests.py --list
  Listing Debug configuration on local repository.
  Listing tests in auth-test.exe [1/84]
  Listing tests in cache-test.exe [2/84]
  Listing tests in checksum-test.exe [3/84]
  <snip>
  Listing tests in update_tests.py [82/84]
  Listing tests in upgrade_tests.py [83/84]
  Listing tests in utf8_tests.py [84/84]
  Summary of test listing:
    57 tests are set as SKIP
    53 tests are set as XFAIL

Note that the actual listing of tests is still sent to the log file,
nothing has changed there, but this commit does improve the format
of the log file.  Previously the log looked like this (again note that the
logs dies after the first Python test, authz_tests.py):

  >type Debug\tests.log
  START: auth-test.exe
  Test #  Mode   Test Description
  ------  -----  ----------------
    1            test retrieving platform-specific auth providers
  auth-test.exe: invalid option: --http-library=neon
  END: auth-test.exe
  ELAPSED: auth-test.exe 0:00:00.089000
  <snip>
  START: authz_tests.py
  Test #  Mode   Test Description
  ------  -----  ----------------
     1     SKIP   authz issue #2486 - open root
     2     SKIP   authz issue #2486 - open directory
     3     SKIP   broken authz files cause errors
     4     SKIP   test authz for read operations
     5     SKIP   test authz for write operations
     6     SKIP   test authz for checkout
     7     SKIP   test authz for log and tracing path changes
     8     SKIP   test authz for checkout and update
     9     SKIP   test authz for export with unreadable subfolder
    10     SKIP   test authz for aliases
    11     SKIP   test the authz validation rules
    12     SKIP   test authz for locking
    13     SKIP   authz issue #2712
    14     SKIP   switched to directory, no read access on parents
    15     SKIP   authz issue #3242 - access required at repo root
    16     SKIP   more authz issue #3242 - update to renamed file
    17     SKIP   multiple lines matching a user
    18     SKIP   wc-to-wc copy with absent nodes
    19     SKIP   wc-to-wc-copy with absent nodes and then revert
    20     SKIP   recursive ls with private subtrees

This change does away with the elapsed time, the warning about
--http-library, the implication we ran the tests, and actually lists *all* 
the tests:

  LISTING: auth-test.exe
  Test #  Mode   Test Description
  ------  -----  ----------------
    1            test retrieving platform-specific auth providers

  LISTING: cache-test.exe
  Test #  Mode   Test Description
  ------  -----  ----------------
    1            basic inprocess svn_cache test
    2            basic memcache svn_cache test
    3            memcache svn_cache with very long keys
  <snip>
  LISTING: upgrade_tests.py
  Test #  Mode   Test Description
  ------  -----  ----------------
     1            basic upgrade behavior
     2            upgrade with externals
     3            test upgrading from a 1.5-era working copy
     4            test updating a 1.5-era working copy
     5            test upgrading from a 1.5-era wc with stale logs
     6            test upgrading a working copy with wcprops
     7            test upgrading a working copy created with 1.0.0
     8     XFAIL  3x same wc upgrade 1.4.0 test
     9            3x same wc upgrade 1.4.6 test
    10            3x same wc upgrade 1.6.12 test
    11            missing directories and obstructing files
    12            missing directories and obstructing dirs
    13     XFAIL  check status delete and delete --keep-local
    14            upgrade a wc without files
    15            upgrade tree conflict data (f20->f21)
    16            upgrade a delete within a copy
    17            upgrade with base and working replaced files
    18            upgrade 1.6.x wc with a scheduled change

  LISTING: utf8_tests.py
  Test #  Mode   Test Description
  ------  -----  ----------------
     1     SKIP   conversion of paths and logs to/from utf8
   
* build/run_tests.py

  (TestHarness.run): Account for differences in log file formatting when
   listing the tests as opposed to actually running them.  Tweak summary
   headers when listing tests so as not to imply they were run.  Don't list
   the individual XFailing and Skipped tests, the list log only lists the
   test name, *not* the container test, so the resulting output wouldn't be
   very useful (a fix for this coming in another commit).

  (TestHarness._run_c_test): Don't print '.'s if only listing the tests, we
   won't be printing 'success' or 'failure' so these aren't needed.  The C
   tests (i.e. subversion\tests\svn_test_main.c) only supports these options:
   --cleanup, --config-file, --fs-type, --list, --verbose, --srcdir,
   --server-minor-version, --trap-assertion-failures, --quiet, and
   --allow-segfaults; so stop sending --http-library, --bin, --fsfs-sharding,
   and --fsfs-packing.  These produce pointless '*.exe: invalid option:'
   warnings.

  (TestHarness._run_py_test): Don't use a progress function when listing the
   tests.

  (TestHarness._run_test): Streamline/adjust output when simply listing the
   tests (e.g. no elapsed time, no implication that the tests were actually
   run).

* subversion/tests/cmdline/svntest/main.py

  (execute_tests): Don't sys.exit(0) after listing the first test!  There are
   others to be listed, so return success instead and let them see the light
   of day.

* win-tests.py

  (global): Don't try to start any servers if we are just listing the tests.
   Once again, tweak the output so it doesn't look like we are running the
   tests.


Revision 1055065 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 4 14:45:49 2011 UTC (13 years, 6 months ago) by philip
File length: 17772 byte(s)
Diff to previous 1037996 (colored)
Run all tests in a known locale.

* build/run_tests.py: Set C locale.

* subversion/tests/cmdline/svnserveautocheck.sh: Set C locale

* subversion/tests/cmdline/davautocheck.sh: Set C locale


Revision 1037996 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 23 05:14:25 2010 UTC (13 years, 8 months ago) by danielsh
File length: 17651 byte(s)
Diff to previous 1034313 (colored)
Quickly patch up the LOG_TO_STDOUT mode of 'make check'.

* build/run_tests.py
  (TestHarness._run_py_test->progress_func, TestHarness._run_test):
    Inject some hacks into the --log-to-stdout logic.

Revision 1034313 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 12 09:45:41 2010 UTC (13 years, 8 months ago) by rhuijben
File length: 17646 byte(s)
Diff to previous 1033531 (colored)
* build/run_tests.py
  (_run_py_test): Flush stdout and stderr before switching their backing
     handle. This should fix at least some of the output glitches on the
     Windows buildbots.


Revision 1033531 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 10 15:41:48 2010 UTC (13 years, 8 months ago) by hwright
File length: 17596 byte(s)
Diff to previous 1033500 (colored)
Fix running the tests in parallel from 'make check'.

* build/run_tests.py
  (_run_py_test): Set the value of 'parallel' to the default number of
    threads, rather than simply 'True'.

* subversion/tests/cmdline/svntest/main.py
  (default_num_threads): New magic number value.
  (_create_parser): Use the above variable, rather than a magic number.


Revision 1033500 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 10 14:48:14 2010 UTC (13 years, 8 months ago) by hwright
File length: 17568 byte(s)
Diff to previous 1033086 (colored)
Expose the serial_only flag in each test suite which needs it, so that
run_tests.py knows how to properly execute these tests.

(Note: this doesn't have any tangible effect now, since run_tests.py isn't
currently passing the correct value for 'parallel' down to the test modules.)

* build/run_tests.py
  (_run_py_test): Divine the serial_only flag from the test module, and
    pass that to the test executor.
 
* subversion/tests/cmdline/svnsync_tests.py,
  subversion/tests/cmdline/merge_authz_tests.py,
  subversion/tests/cmdline/authz_tests.py:
    Set a module-wide serial_only flag.


Revision 1033086 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 9 16:47:34 2010 UTC (13 years, 8 months ago) by hwright
File length: 17426 byte(s)
Diff to previous 964349 (colored)
Merge the py-tests-as-modules branch to trunk.

This change makes the tests, when run from 'make check' and friends, load into
the same process as the test runner, rather than spawning off a separate
process.  The developer-visible change here is that the dotted leader on the
'make check' output is now a progress bar.


Revision 964349 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 15 09:24:58 2010 UTC (14 years ago) by danielsh
File length: 14528 byte(s)
Diff to previous 959683 (colored)
Make the tests harness copy the FAIL and XPASS logs to a separate file, for
easier viewing.

* build/run_tests.py
  (re):  Import.
  (TestHarness.__init__):  Add FAILLOGFILE parameter.
  (TestHarness.run):  Create and fill FAILLOGFILE with FAIL and XPASS logs.

* build/run_tests.py (main),
  win-tests.py:  
    Pass 'fails.log' as a sibling of 'tests.log' to the test harness.


Revision 959683 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 1 14:38:38 2010 UTC (14 years ago) by julianfoad
File length: 13428 byte(s)
Diff to previous 956568 (colored)
Make the C test harness main function trap SVN_ERR_ASSERT failures only when
run within the test suite, not when run within a debugger.  More precisely,
add a "trap assertion failures" flag that is off by default and make the
test suite pass that flag.  A follow-up to r958583 in which I added the trap
unconditionally.

* build/run_tests.py
  (TestHarness._run_test): Pass '--trap-assertion-failures' to the C tests.

* subversion/tests/svn_test_main.c
  (trap_assertion_failures, trap_assert_opt): New variable and option id.
  (cl_options): Add a '--trap-assertion-failures' option.
  (main): Check for the option and only trap assertion failures if it's set.


Revision 956568 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 21 13:11:55 2010 UTC (14 years, 1 month ago) by rhuijben
File length: 13378 byte(s)
Diff to previous 956108 (colored)
Revert r956108, r956106, r956104, r956102, r956101, r956096, r956094, 
r956085 and r956046 to: 
 * fix running tests with different src and build directory
   (= default configuration on Windows)
 * fix running tests in parallel
 and probably other issues that aren't caught because these issues
 broke earlier.

Revision 956108 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 18 19:51:25 2010 UTC (14 years, 1 month ago) by hwright
File length: 16229 byte(s)
Diff to previous 956106 (colored)
* build/run_tests.py
  (_run_py_test): Just remove the unneeded fsync() in the progress func.  Fixes
    running the tests on linux.

[Aside: "Why is he even messing with this?" you might ask.  "Isn't there more
important fish to fry?"  Well, yes, there are.  But frankly, my brain is fried
right now, too, so I'm going for some of the asthetic, albeit not-quite-as-
functional, items on my personal TODO list.  So there. ]


Revision 956106 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 18 19:34:39 2010 UTC (14 years, 1 month ago) by hwright
File length: 16258 byte(s)
Diff to previous 956102 (colored)
* build/run_tests.py
  (_run_py_test): Don't write to the placeholder stdout in the progress func,
    write to the real one, or the real bogus one.  (This fixes a bug which
    could occur if old_stdout isn't valid.)


Revision 956102 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 18 19:13:37 2010 UTC (14 years, 1 month ago) by hwright
File length: 16177 byte(s)
Diff to previous 956101 (colored)
* build/run_tests.py
  (_run_py_test): Remove debugging cruft from r956101.


Revision 956101 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 18 19:12:51 2010 UTC (14 years, 1 month ago) by hwright
File length: 16247 byte(s)
Diff to previous 956096 (colored)
Special present for those of use that like progress meters and the like.

* subversion/tests/cmdline/svntest/main.py
  (_internal_run_tests): Take an optional progress function.
  (run_one_test): Call the progress function.
  (execute_tests): Take an optional progress function.
  (run_tests): Same.

* build/run_tests.py
  (LINE_LENGTH): Extend the length of our test feedback lines.
  (_run_c_test): Write all the dots out at once, since we've no way of getting
    feedback from the C tests.
  (_run_py_test): Set up a progress function, and use that to recieve the
    progress notification from the test suite.
  (_run_test): Don't output the dots, and do tell the py and C test runners
    how many dots are expected.


Revision 956096 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 18 18:58:19 2010 UTC (14 years, 1 month ago) by rhuijben
File length: 15578 byte(s)
Diff to previous 956094 (colored)
* build/run_tests.py
  (_run_test): Fix calculation of the absolute path to the test file
    in case cwd is not the srcdir. (E.g. when running tests on a ramdrive)


Revision 956094 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 18 18:55:21 2010 UTC (14 years, 1 month ago) by hwright
File length: 15551 byte(s)
Diff to previous 956085 (colored)
* build/run_tests.py
  (_run_py_test): Use the absolute path to load the test module.

Found by: rhuijben


Revision 956085 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 18 18:35:44 2010 UTC (14 years, 1 month ago) by hwright
File length: 15555 byte(s)
Diff to previous 956046 (colored)
* build/run_tests.py
  (_run_py_test): Instead of dieing, reraise the exception if we have trouble
    importing the test, in the hopes that the exception will give us better
    debugging information.


Revision 956046 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 18 16:53:36 2010 UTC (14 years, 1 month ago) by hwright
File length: 15561 byte(s)
Diff to previous 954683 (colored)
When running the test suite from run_tests.py (e.g., 'make check'), run python
tests in the same process.

* subversion/tests/cmdline/svntest/main.py
  (run_tests): Make a thin wrapper around execute_tests().
  (execut_tests): Just like the old run_tests(), only just return the exit
    code, rather than exiting the process.

* build/run_tests.py
  (_run_c_test, _run_py_test): New.
  (_run_test): Do common test processing, and then call a subordinate function
    to handle the specific test types.


Revision 954683 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 15 00:58:59 2010 UTC (14 years, 1 month ago) by hwright
File length: 13378 byte(s)
Diff to previous 954328 (colored)
* build/run_tests.py
  (_run_test): Flush some interim output.


Revision 954328 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 13 23:19:53 2010 UTC (14 years, 1 month ago) by hwright
File length: 13353 byte(s)
Diff to previous 954143 (colored)
* build/run_tests.py
  (_run_prog): Remove all the custom stdout/stderr redirect handling, in favor
    of the subprocess module's built-in facilities.


Revision 954143 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 12 21:47:07 2010 UTC (14 years, 1 month ago) by rhuijben
File length: 13849 byte(s)
Diff to previous 954136 (colored)
Following up on r954020 and r954136 fix running the tests on Windows.

* build/run_tests.py
  (quote): Remove function that is no longer needed when using subprocess.
  (_run_test): Remove callers.
  (_run_prog): Revert r954136.


Revision 954136 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 12 20:48:17 2010 UTC (14 years, 1 month ago) by hwright
File length: 14060 byte(s)
Diff to previous 954020 (colored)
* build/run_tests.py
  (_run_test): Hopefully fix the windows tests by passing the correct
    arguments to subprocess.call().


Revision 954020 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 12 15:05:04 2010 UTC (14 years, 1 month ago) by hwright
File length: 14043 byte(s)
Diff to previous 954014 (colored)
* build/run_tests.py
  (_run_test): Use the subprocess module to run the tests.


Revision 954014 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jun 12 14:45:29 2010 UTC (14 years, 1 month ago) by hwright
File length: 14046 byte(s)
Diff to previous 949062 (colored)
* build/run_tests.py:
  Move a magic number to the top of the file.


Revision 949062 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 28 01:33:57 2010 UTC (14 years, 2 months ago) by hwright
File length: 13994 byte(s)
Diff to previous 935477 (colored)
* build/run_tests.py
  (_run_test): Bump the test result output over a few characters, as we
    now have longer test names.


Revision 935477 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 19 08:52:45 2010 UTC (14 years, 3 months ago) by julianfoad
File length: 13994 byte(s)
Diff to previous 931600 (colored)
* build/run_tests.py
  Update the help message to include all options.

Revision 931600 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 7 15:59:19 2010 UTC (14 years, 3 months ago) by rhuijben
File length: 13953 byte(s)
Diff to previous 902160 (colored)
* build/run_tests.py
  (TestHarness.run): While parsing the log for results remove '\r'
    characters introduced by reading the log as binary file. This
    should remove the blank lines from the Windows buildbot output.


Revision 902160 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 22 16:40:13 2010 UTC (14 years, 6 months ago) by julianfoad
File length: 13794 byte(s)
Diff to previous 882257 (colored)
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.

Patch by: Chris Foote <cafoote{_AT_}yahoo.com>
(tweaked by me)


Revision 882257 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 19 19:25:52 2009 UTC (14 years, 8 months ago) by hwright
File length: 13401 byte(s)
Diff to previous 880303 (colored)
Apply ASF license headers to a number of files included under that license
but lacking said header.

Patch by: Niall Pemberton <niallp{_AT_}apache.org>


Revision 880303 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 27 03:38:19 2009 UTC (14 years, 9 months ago) by bhuvan
File length: 12608 byte(s)
Diff to previous 880125 (colored)
While running the test suite, even the microseconds are accountable.

* build/run_tests.py
  import datetime
  (_run_test): Include microseconds while printing the time taken to
  execute each test. Use datetime library instead of time library.

Reviewed by: brane


Revision 880125 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 15 14:51:23 2009 UTC (14 years, 9 months ago) by julianfoad
File length: 12639 byte(s)
Diff to previous 880054 (colored)
In run_tests.py, display "XPASS" before "FAIL" in the summaries because "FAIL"
is the more interesting and we want to display the results in order from least
interesting to most interesting. Also make cosmetic changes in that code.

* build/run_tests.py
  (run): Move "XPASS" before "FAIL" in the summaries. Unconditionally print the
    summaries header line because we never expect all the summaries (including
    the number of tests that passed) to be empty. Tidy the code. Expand the doc
    string.


Revision 880054 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 13 10:55:24 2009 UTC (14 years, 9 months ago) by julianfoad
File length: 12580 byte(s)
Diff to previous 880053 (colored)
* build/run_tests.py
  (_run_test): Combine the log-to-file and log-to-stdout code, and thus make
    the insertion of blank lines consistent in the two modes.


Revision 880053 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 13 10:35:14 2009 UTC (14 years, 9 months ago) by julianfoad
File length: 12619 byte(s)
Diff to previous 880022 (colored)
Fix problems with the --log-to-stdout mode.

* build/run_tests.py
  (_run_test): If logging to stdout rather than to a file, it previously
    printed the colour-coded "success" or "FAILURE" indications that are
    only intended to be shown in log-to-file mode; and it did so wrongly,
    printing "success" on certain failures (those with exit code != 1).
    Fix all this, and rearrange the message printing code for clarity.


Revision 880022 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 12 11:05:40 2009 UTC (14 years, 9 months ago) by julianfoad
File length: 12413 byte(s)
Diff to previous 879961 (colored)
Cosmetic fix in the punctuation of a test failure message.

* build/run_tests.py
  (TestHarness._run_test): Separate two run-on sentences with a semicolon.


Revision 879961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 9 05:43:35 2009 UTC (14 years, 9 months ago) by bhuvan
File length: 12412 byte(s)
Diff to previous 879125 (colored)
This fix adds the ability to print the time taken to execute each test.
The time taken is printed in the log file, if specified; otherwise in
the stdout interface. 
  
* build/run_tests.py
  import time
  (TestHarness._run_test): Print the time taken by each test using
  following format:
  ELAPSED: test_name HH:MM:SS

Reviewed by: julianfoad
             brane


Revision 879125 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 1 22:34:12 2009 UTC (14 years, 10 months ago) by stsp
File length: 12140 byte(s)
Diff to previous 879124 (colored)
* build/run_tests.py
  (TextColors): I want colours, too! The codes hwright was using didn't
   work for me, but these do.


Revision 879124 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 1 22:09:55 2009 UTC (14 years, 10 months ago) by arfrever
File length: 12135 byte(s)
Diff to previous 879122 (colored)
Follow-up to r39048:

* build/run_tests.py
  (TextColors.disable): Use classmethod instead of staticmethod.


Revision 879122 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 1 21:42:16 2009 UTC (14 years, 10 months ago) by hwright
File length: 12154 byte(s)
Diff to previous 879121 (colored)
Fix a couple of bugs with disabling test color output on platforms that don't
support it.

* build/run_tests.py
  (TextColors.disable): Make static, and qualify the constants to be reset.
  (TestHarness.__init__): isatty() is a function, not a value.

Suggested by: danielsh


Revision 879121 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 1 21:27:39 2009 UTC (14 years, 10 months ago) by hwright
File length: 12107 byte(s)
Diff to previous 879119 (colored)
Don't output color on windows or when stdout is redirected.

* build/run_tests.py
  (TextColor.disable): New.
  (TestHarness.__init__): Disable colors in some circumstances.


Revision 879119 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 1 20:56:22 2009 UTC (14 years, 10 months ago) by hwright
File length: 11953 byte(s)
Diff to previous 879118 (colored)
Add some color to the test output, to help visually offset the failures.

* build/run_tests.py
  (TextColors): New.
  (TestHarness): Output colors for success and FAILURE.


Revision 879118 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 1 20:50:43 2009 UTC (14 years, 10 months ago) by hwright
File length: 11697 byte(s)
Diff to previous 878512 (colored)
* build/run_tests.py
  (TestHarness): Vertically align the output of the test suite when run
    from the commandline.  This makes detecting FAILUREs a bit easier.


Revision 878512 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 17 22:52:18 2009 UTC (15 years ago) by stsp
File length: 11620 byte(s)
Diff to previous 877023 (colored)
Add a --log-to-stdout option to run_tests.py, which allows logging
to stdout instead of logging to tests.log during make check.

During automated builds on systems without direct shell access,
it's hard to diagnose problems which cause the test suite to hang
otherwise (this is happening e.g. on the OpenSUSE build service).

There are some limitations with this, e.g. we can't produce a nice
summary of test failures at the end of the test suite run.

All error output will go to stderr, maybe the option could have
a better name, suggestions welcome.

* Makefile.in
  (check): Pass --log-to-stdout to run_tests.py if LOG_TO_STDOUT is set.

* build/run_tests.py
  (TestHarness::__init__, TestHarness::_open_log): Allow the LOGFILE
   parameter to be None.
  (TestHarness::run): If no log file is used, don't print a test summary.
  (TestHarness::_run_test): If no log file is used, don't write to the
   log file, and don't redirect stdin and stderr when running a test.
  (main): Add --log-to-stdout option.


Revision 877023 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 2 16:49:04 2009 UTC (15 years, 3 months ago) by pburba
File length: 10958 byte(s)
Diff to previous 877021 (colored)
Follow-up to r36947: Save file *then* commit it.  Get it straight.

* build/run_tests.py
  (TestHarness.run): The rest of the comment I meant to include in r36947.


Revision 877021 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 2 16:44:49 2009 UTC (15 years, 3 months ago) by pburba
File length: 10871 byte(s)
Diff to previous 876590 (colored)
Fix test suite stdout summary; follow-up to r36404, merge of the
'svnpatch-diff' branch to trunk.

r36404 introduced diff_svnpatch.svnpatch_(de|en)code in diff_tests.py 51
'test svnpatch format in various ways' which writes binary data into the
test suite's log file.  When our test harness readlines() the log in text
mode this binary data can be interpreted as the end of file -- so
everything in the log after diff test 51 is not included in the summary.

* build/run_tests.py
  (TestHarness.run): Open log in binary mode to prevent "premature" EOF.

Revision 876590 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 12 19:29:05 2009 UTC (15 years, 4 months ago) by brane
File length: 10717 byte(s)
Diff to previous 876549 (colored)
More cosmetic changes in test-run output and work-in-progress summary.

* build/run_tests.py (TestHarness.run):
  Summarize work-in-progress test results in-line with XFAIL tests.
  Fix the singular/plural choice in the test summary printout.


Revision 876549 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 10 23:14:52 2009 UTC (15 years, 4 months ago) by brane
File length: 10723 byte(s)
Diff to previous 876113 (colored)
Introduce the notion of a work-in-progress XFAIL test.

* subversion/tests/svn_test.h (svn_test_descriptor_t): Add work-in-progress
   description text.
  (SVN_TEST_WIMP, SVN_TEST_WIMP_COND, SVN_TEST_OPTS_WIMP,
   SVN_TEST_OPTS_WIMP_COND, SVN_TEST_WIMP0, SVN_TEST_WIMP_COND0): New.
* subversion/tests/svn_test_main.c (do_test_num): Special-case printing
   descriptions for work-in-progress tests.
* subversion/tests/libsvn_fs/fs-test.c (test_funcs): Mark the obviously
   in-progress XFAIL test.
* subversion/tests/cmdline/svntest/testcase.py: (__all__, TestCase, XFail):
   Add buts for a work-in-progress predicate.
  (Wimp): New predicate.
* subversion/tests/cmdline/svntest/main.py
  (TestRunner.list, TestRunner._print_name): Special-case printing descriptions
   for work-in-progress tests.
* build/run_tests.py (TestHarness.run): Parse out work-in-progress tests in
   the test summary.
* subversion/tests/cmdline/patch_tests.py (test_list): Mark all Skip tests
   as work-in-progress XFail.


Revision 876113 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Feb 22 03:53:00 2009 UTC (15 years, 5 months ago) by stylesen
File length: 9871 byte(s)
Diff to previous 875646 (colored)
* build/run_tests.py
  (run): Report the number of 'PASSED' tests in the test summary.

Suggested by: Kevin Radke <kmradke@gmail.com>


Revision 875646 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 30 01:28:32 2009 UTC (15 years, 5 months ago) by arfrever
File length: 9720 byte(s)
Diff to previous 875645 (colored)
* build/run_tests.py
  (TestHarness.run): Separate FAILed and XPASSed tests in the summary.


Revision 875645 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 30 00:30:12 2009 UTC (15 years, 5 months ago) by hwright
File length: 9416 byte(s)
Diff to previous 875643 (colored)
Output a quantitative summary of test failures after running the tests.

* build/run_tests.py
  (TestHarness.run): Output a summary of the number of tests that FAILed,
    XFAILed, and were SKIPped.


Revision 875643 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 29 23:38:03 2009 UTC (15 years, 5 months ago) by hwright
File length: 8968 byte(s)
Diff to previous 875083 (colored)
* build/run_tests.py:
  (TestHarness.run): Use the built-in enumerate() function.


Revision 875083 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 1 17:58:21 2009 UTC (15 years, 6 months ago) by danielsh
File length: 8979 byte(s)
Diff to previous 874435 (colored)
Add sharding and packing support to 'make check'.

* Makefile.in
  (check):  Support $FSFS_SHARDING and $FSFS_PACKING.

* win-tests.py
    Add --fsfs-sharding and --fsfs-packing, and pass fsfs_sharding and
    fsfs_packing to TestHarness.

* build/run_tests.py
  (main):
    Add --fsfs-sharding and --fsfs-packing, and pass fsfs_sharding and
    fsfs_packing to TestHarness.
  (TestHarness.__init__):
    Add fsfs_sharding and fsfs_packing parameters and pass them to the tests.

* subversion/tests/cmdline/svntest/main.py
  (fsfs_sharding, fsfs_packing):  New global variables.
  (get_fsfs_format_file_path):  New helper.
  (create_repos):
    Use fsfs_sharding to create the format file and fsfs_packing to install
    a post-commit hook that runs 'svnadmin pack'.
  (usage):  Add --fsfs-sharding and --fsfs-packing.
  (run_tests):
    Parse --fsfs-sharding and --fsfs-packing.

Revision 874435 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 23 16:26:54 2008 UTC (15 years, 8 months ago) by arfrever
File length: 8261 byte(s)
Diff to previous 873834 (colored)
Python 3 compatibility:
Use list comprehensions or list(filter()) instead of filter().

* build/generator/gen_win.py:
* build/run_tests.py:
* subversion/tests/cmdline/changelist_tests.py:
* subversion/tests/cmdline/svntest/actions.py:
* subversion/tests/cmdline/svntest/main.py:
* subversion/tests/cmdline/svntest/wc.py:
* tools/examples/svnshell.py:
* tools/hook-scripts/mailer/mailer.py:
* win-tests.py: Use list comprehensions or list(filter()) instead of filter().


Revision 873834 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Oct 19 19:18:31 2008 UTC (15 years, 9 months ago) by arfrever
File length: 8267 byte(s)
Diff to previous 873832 (colored)
Follow-up to r33758:
Replace list(map()) calls with 'for' loops in places where the returned lists are ignored.

* build/run_tests.py:
* subversion/tests/cmdline/checkout_tests.py:
* subversion/tests/cmdline/getopt_tests.py:
* subversion/tests/cmdline/merge_tests.py:
* subversion/tests/cmdline/svntest/actions.py:
* subversion/tests/cmdline/svntest/main.py:
* subversion/tests/cmdline/svntest/verify.py:
* subversion/tests/cmdline/tree_conflict_tests.py: Replace list(map()) calls
   with 'for' loops in places where the returned lists are ignored.


Revision 873832 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Oct 19 17:02:34 2008 UTC (15 years, 9 months ago) by arfrever
File length: 8280 byte(s)
Diff to previous 873409 (colored)
Python 3 compatibility:
Use list comprehensions or list(map()) instead of map().

* build/generator/gen_base.py:
* build/generator/gen_make.py:
* build/generator/gen_vcnet_vcproj.py:
* build/generator/gen_win.py:
* build/generator/swig/header_wrappers.py:
* build/run_tests.py:
* subversion/tests/cmdline/changelist_tests.py:
* subversion/tests/cmdline/checkout_tests.py:
* subversion/tests/cmdline/getopt_tests.py:
* subversion/tests/cmdline/merge_tests.py:
* subversion/tests/cmdline/svnadmin_tests.py:
* subversion/tests/cmdline/svntest/actions.py:
* subversion/tests/cmdline/svntest/main.py:
* subversion/tests/cmdline/svntest/verify.py:
* subversion/tests/cmdline/tree_conflict_tests.py:
* tools/bdb/skel.py:
* tools/dev/iz/find-fix.py:
* tools/dev/svn-merge-revs.py:
* tools/dist/write-announcement.py:
* tools/hook-scripts/mailer/mailer.py:
* win-tests.py: Use list comprehensions or list(map()) instead of map().


Revision 873409 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 28 15:06:24 2008 UTC (15 years, 10 months ago) by arfrever
File length: 8262 byte(s)
Diff to previous 872973 (colored)
Python 3 compatibility:
Update calls to print() in 'build' directory, 'gen-make.py' and 'win-tests.py'.

* build/generator/extractor.py:
* build/generator/gen_win.py:
* build/generator/swig/checkout_swig_header.py:
* build/generator/swig/external_runtime.py:
* build/generator/swig/header_wrappers.py:
* build/get-py-info.py:
* build/getversion.py:
* build/run_tests.py:
* build/strip-po-charset.py:
* build/win32/make_dist.py:
* gen-make.py:
* win-tests.py: Call print() or file.write().


Revision 872973 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 4 16:04:06 2008 UTC (15 years, 10 months ago) by julianfoad
File length: 8217 byte(s)
Diff to previous 872968 (colored)
Make the test suite print a summary of XFAIL tests, as well as the
summaries of skipped and failed (including XPASS) tests that it already
prints.

* build/run_tests.py
  (TestHarness.run): Print a summary of XFAIL results as well as others.


Revision 872968 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 4 10:55:22 2008 UTC (15 years, 10 months ago) by julianfoad
File length: 7971 byte(s)
Diff to previous 871453 (colored)
Improve doc strings etc. in run_tests.py.

* build/run_tests.py
  (TestHarness._run_test): Document the return code.
  (TestHarness._run_prog): Rename the 'cmdline' argument to 'arglist' to
    better reflect its usage in this program. Document this function more
    fully.


Revision 871453 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 23 00:00:32 2008 UTC (16 years, 2 months ago) by glasser
File length: 7812 byte(s)
Diff to previous 868613 (colored)
Merge the in-memory-cache branch to trunk.

See that branch's log for full details, but in short:

The branch rewrote various in-memory caches in FSFS to use a unified
API.  By default this API is implemented by some in-process hashes,
but via a configuration file (db/fsfs.conf), it can use memcached
instead.  Additionally, expanded fulltexts are cached if memcached is
available.

memcached is accessed with the apr_memcached API, which will be in a
future version (1.3.x branch, now) of apr-util, and is also available as an
separately-distributed library.  The build system knows how to deal
with both.

Other things that changed:

* The test suite now has a config file; currently, the config file is
  just used as the FSFS config file for any created repositories.

* New random APIs: svn_base64_encode_string2, svn_stream_from_string.

* ra_local ignores "FS warnings" instead of aborting.


Revision 868613 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 18 23:51:28 2007 UTC (16 years, 7 months ago) by epg
File length: 7420 byte(s)
Diff to previous 867634 (colored)
* build/run_tests.py
  (main): ('-http-library') == '--http-library'; it's not a tuple
    without a trailing comma.  Oddly enough, this worked anyway with
    Python 2.4, though not 2.2.  Change these opt tests to be lists
    instead of adding the trailing commas, as these seem to me to be
    lists, conceptually.


Revision 867634 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 2 00:18:28 2007 UTC (16 years, 8 months ago) by glasser
File length: 7420 byte(s)
Diff to previous 865722 (colored)
The buildbot shows the end of the build output in its email/RSS
alerts.  If there are many SKIPs (ra_local, say), it'll drive the
actual failures off the top.  Simple fix: print SKIP first, then
FAIL/XPASS.

* build/run-tests.py
  (TestHarness.run): Swap the order of SKIP and failure output.


Revision 865722 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 5 02:58:29 2007 UTC (17 years ago) by glasser
File length: 7420 byte(s)
Diff to previous 865576 (colored)
Add an option to the test harness allowing you to tell it what the
minor version of the server you are running it against is.  This
will eventually allow us to run the test suite against older servers
to verify that old behavior continues to work, while skipping tests
that require more current servers.  Additionally, it will allow us to
be sure that attempts to use features not supported by older servers
fail in the way that we want them to.

As of this revision, you can specify --server-minor-version 5 (the
default) or --server-minor-version 4.  While some tests have marked to
be skipped for 1.4.x servers (such as the commit-with-revprops tests)
and others have been adjusted to work under both versions, quite a few
tests still fail against 1.4.x, whether because there are actual bugs
in the client backwards-compatibility code, or because the tests need
to be fixed or skipped.

To try out the suite (with svnserve), do:

   $ cd trunk
   $ svnserve1.4.x -d -r `pwd`/subversion/tests/cmdline
   $ make svncheck SERVER_MINOR_VERSION=4

* Makefile.in  
  (check): Convert SERVER_MINOR_VERSION variable into flag for
  run-tests.py.

* build/run-tests.py
  (__doc__): Advertise server-minor-version argument.
  (TestHarnes.__init__): Add server_minor_version argument and field.
  (_run_test): Send --server-minor-version argument to test script.
  (main): Parse --server-minor-version argument.

* subversion/tests/cmdline/svntest/main.py
  (server_minor_version): New global variable.
  (create_repos): If the server_minor_version is less than 4, use
   --pre-1.5-compatible when creating repositories (shardless).
  (server_has_mergeinfo, server_has_revprop_commit): New Skip
   predicates.
  (run_tests): Parse --server-minor-version flag.

* subversion/tests/cmdline/commit_tests.py
  (server_has_revprop_commit): Import from svntest.main.
  (hook_failure_message): New helper routine which returns the
   expected hook failure message, depending on the server version (the
   wording changed between 1.4 and 1.5).
  (post_commit_hook_test, start_commit_hook_test,
   pre_commit_hook_test): use hook_failure_message().
  (test_list): Skip revprop-commit tests unless the server supports
   revprop-commit.

Revision 865576 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 22 17:56:41 2007 UTC (17 years, 1 month ago) by cmpilato
File length: 6859 byte(s)
Diff to previous 865055 (colored)
Teach the Python test suite to handle on-the-fly DAV library selection.

Now that we can specify which DAV library to use via the 'servers'
runtime configuration file, add support for --http-library to the
Python test suite so comparison tests can be easily accomplished.

* subversion/tests/cmdline/svntest/main.py
  (http_library): New.
  (create_config_dir): If no 'server' file contents are provided, use
    the global http_library variable to determine if the default
    'servers' file should have an http-library specification.
  (run_tests): Parse new --http-library option.  Build out the default
    configuration directory.

* subversion/build/run_tests.py
  (TestHarness.__init__): Add 'http_library' parameter, and stuff the
    value into self.http_library.
  (TestHarness._run_test): Generate the --http-library test
    command-line option.
  (main): Parse the --http-library option, and update call to TestHarness().

* Makefile.in
  (check): Translate the value of the HTTP_LIBRARY environment value
    into a --http-library option addition to the Python test programs.



Revision 865055 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 10 03:11:28 2007 UTC (17 years, 2 months ago) by glasser
File length: 6441 byte(s)
Diff to previous 864968 (colored)
Let "PARALLEL=1 make check" run the Python tests in parallel.

* Makefile.in
  (check): Pass --parallel to run_tests.py if $PARALLEL is set.

* build/run_tests.py
  (docstring) Document --parallel (and fully document enable-sasl
   as well).
  (TestHarness.__init__): Accept 'parallel' argument.
  (TestHarness._run_test): If 'parallel' is set, pass --parallel to
   the script.
  (main): Accept --parallel argument.

Revision 864968 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 2 20:58:12 2007 UTC (17 years, 2 months ago) by lgo
File length: 6239 byte(s)
Diff to previous 864904 (colored)
Add --bin option to win-tests.py to enable running the tests with an already
installed version of Subversion. This allows for better regression testing.

* win-tests.py
  (global, _usage_exit): add --bin option

* build/run_tests.py
  (TestHarness.__init__): add --bin option

* subversion/tests/cmdline/svntest/main.py
  (global, usage, run_tests): add --bin option, if set use it to set the 
   svn*_binary vars.

Revision 864904 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 29 09:11:13 2007 UTC (17 years, 3 months ago) by lgo
File length: 6050 byte(s)
Diff to previous 861701 (colored)
Add the --list option to win-tests.py. The option will be passed to all test
programs, though not all seem to handle it correctly yet (fs-test, locks-test, 
target-test.py).

* win-tests.py
  (global, _usage_exit): add the --list option

* build/run_tests.py
  (TestHarness.__init__): add list_tests option
  (_run_test): pass the --list option to the test program


Revision 861701 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 25 15:08:06 2006 UTC (17 years, 10 months ago) by rooneg
File length: 5933 byte(s)
Diff to previous 861694 (colored)
Add the ability to run the svnserve checks with Cyrus SASL turned on.

Note that the svnserve tests are failing for me with this turned on. I'm
still committing this now since it's off by default and it seems to be a
problem unrelated to this particular patch.

Patch by: Vlad Georgescu <vgeorgescu@gmail.com>
(Tweaked by me.)

* Makefile.in
  (check): Handle the 'ENABLE_SASL' command line argument.
  (svncheck): Document usage of ENABLE_SASL.
* build/run_tests.py:
  Propagate the '--enable-sasl' option to the individual tests.
* subversion/tests/cmdline/svntest/main.py
  (enable_sasl): New global variable.
  (create_repos): Check the value of enable_sasl when
   creating svnserve.conf.
  (run_tests): Set enable_sasl to 1 if '--enable-sasl' was used.
* subversion/tests/cmdline/authz_tests.py:
  (write_restrictive_svnserve_conf): Check the value of enable_sasl when
   creating svnserve.conf.


Revision 861694 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 22 23:29:27 2006 UTC (17 years, 10 months ago) by blair
File length: 5582 byte(s)
Diff to previous 860235 (colored)
* build/run_tests.py
  (_run_test):
    Move code common to two branches in a if test outside the if test.


Revision 860235 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 18 17:50:57 2006 UTC (18 years, 1 month ago) by julianfoad
File length: 5829 byte(s)
Diff to previous 860222 (colored)
Provide numeric progress information when running the test suite, as it was
difficult to judge the progress without it.

Patch by: Osku Salerma <osku@iki.fi>

* build/run_tests.py
  (TestHarness::run): Pass the current and total test numbers to _run_test().
  (TestHarness::_run_test): Accept progress count arguments and print them
    after the test's name (in the form "[1/47]" for the first of 47 tests).


Revision 860222 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 16 18:01:13 2006 UTC (18 years, 1 month ago) by rooneg
File length: 5724 byte(s)
Diff to previous 859928 (colored)
Documentation fixes for run_tests.py.

Patch by: Osku Salerma <osku@iki.fi>

* build/run_tests.py
  (main): Documentation fixes.


Revision 859928 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 30 15:07:17 2006 UTC (18 years, 2 months ago) by maxb
File length: 5724 byte(s)
Diff to previous 859912 (colored)
For all executable Python scripts:
- set svn:executable if not already set.
- add/change shebang to '#!/usr/bin/env python' if not already that.

* build/generator/extractor.py
* build/strip-po-charset.py
* build/run_tests.py
* subversion/libsvn_subr/genctype.py
* tools/test-scripts/svntest/encode-base64.py
* tools/hook-scripts/log-police.py
* tools/bdb/erase-all-text-data.py
* tools/bdb/svn-bdb-view.py
* tools/bdb/whatis-rep.py
* tools/dev/mlpatch.py
* tools/dev/verify-history.py
* tools/dev/normalize-dump.py
* tools/examples/check-modified.py
* contrib/hook-scripts/case-insensitive.py
* contrib/hook-scripts/check-case-insensitive.py
* contrib/server-side/authz_svn_group.py


Revision 859912 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 27 01:03:18 2006 UTC (18 years, 2 months ago) by breser
File length: 5702 byte(s)
Diff to previous 857980 (colored)
Make tests that fail to run at all show in error summary.

* build/run_tests.py
  (_run_test): Watch for exit codes other than 1 and add a FAIL
               notation to the log file so the summary picks up
               the failure.


Revision 857980 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 21 22:18:07 2005 UTC (18 years, 7 months ago) by dlr
File length: 5397 byte(s)
Diff to previous 857979 (colored)
* build/get-py-info.py
* build/run_tests.py
  Revert part of r17905, removing the svn:executable property for
  these scripts.  They're meant to be run with the version of python
  detected by configure -- clarify usage text accordingly.


* build/strip-po-charset.py
  Add #! line to allow invocation from the command-line.


Revision 857979 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 21 21:59:19 2005 UTC (18 years, 7 months ago) by dlr
File length: 5390 byte(s)
Diff to previous 856214 (colored)
* build/get-py-info.py
* build/strip-po-charset.py
* build/run_tests.py
  Set the svn:executable property for these scripts.


Revision 856214 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 15 22:43:52 2005 UTC (18 years, 10 months ago) by dlr
File length: 5390 byte(s)
Diff to previous 854700 (colored)
Fixed display of usage information, which was previously outputing the
not-so-informative text "None".

* build/run_tests.py
  (main): Moved script-level doc string from this function up to the
   top of the file, so that the reference to __doc__ will actually
   find the text to display.  The other option would be to scope it to
   main.__doc__, but the doc string made more sense up at the top of
   the file.


Revision 854700 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 8 14:11:15 2005 UTC (19 years, 2 months ago) by maxb
File length: 5406 byte(s)
Diff to previous 854144 (colored)
Fix testsuite bug which was causing the first two tests passed to run_tests.py
to be silently ignored.

* build/run_tests.py (main): Use correct index in slice.


Revision 854144 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 9 19:19:10 2005 UTC (19 years, 3 months ago) by maxb
File length: 5406 byte(s)
Diff to previous 854120 (colored)
Test harness maintenance: Remove the capability to run shell-script test
programs. We do not have any, and we would not want to add any, since they
would not work on Windows. Also, stop passing a path-to-Python to the test
harness script, as it is a Python script itself, and knows where the Python
interpreter it is running in is located without external help.

* Makefile.in (check): run_tests.py now has 2 fewer parameters.
* win-tests.py: run_tests.TestHarness constructor now has 2 fewer parameters.
* build/run_tests.py (TestHarness.__init__): Take 2 fewer parameters.
  (_run_test): Find the path-to-Python using sys.executable.
    Remove case for shell-script tests.
  (main): Take 2 fewer parameters.


Revision 854120 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 8 19:40:51 2005 UTC (19 years, 3 months ago) by maxb
File length: 5861 byte(s)
Diff to previous 850131 (colored)
Work towards harmonizing the Unix and Windows test runners.

* win-tests.py: Teach to use GNU getopt when available.
    Remove short option letters which were not processed by the code from the
    getopt configuration string. Tweak option parsing code to be more like
    run_tests.py. Remove use of the "string" module.
    Remove final "FAIL:" message for parity with run_tests.py
  (copy_execs): Use a baton, not a global variable, for closure.

* build/run_tests.py: Fix filename in comment.
    Teach to use GNU getopt when available.
    Support short forms of options, where win-tests.py does already.


Revision 850131 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 23 04:43:38 2004 UTC (20 years, 1 month ago) by brane
File length: 5742 byte(s)
Diff to previous 849646 (colored)
Improve option handling  in the test scripts.

* build/run_tests.py (main): Prefer (and generate) the '--opt=val'
  spelling of the long options.

* subversion/tests/svn_tests_main.c (main): Print out the ignored
  argument, for easier debugging.

* subversion/tests/clients/cmdline/svntest/main.py: (run_tests): Use
  the getopt module to parse options, in order to support both
  '--opt=val' and '--opt val' long-option spelling.



Revision 849646 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 29 23:17:29 2004 UTC (20 years, 3 months ago) by ghudson
File length: 5690 byte(s)
Diff to previous 845430 (colored)
Merge the changes from the fs-abstraction branch.  This allows the
libsvn_fs_fs filesystem to sit alongside the old BDB filesystem in the
same executable.


Revision 845430 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 17 03:35:26 2003 UTC (21 years, 4 months ago) by brane
File length: 5342 byte(s)
Diff to previous 845429 (colored)
Add --cleanup processing and --verbose output to the C test suite.
This lets fs-test and repos-test clean up after themselves.

Add a machanism for creating new working copy and repository paths
(and --cleanup processing for same) to the Python tests.

Enhance the Windows tests so that they can run outside the source
tree (for example, on a RAM-backed volume).


* subversion/include/svn_test.h
 (svn_test_add_dir_cleanup): New prototype.

* subversion/tests/svn_tests_main.c
  (verbose_mode, cleanup_mode) New flags.
  (cleanup_pool): New global pool for registering cleanups.
  (cleanup_rmtree, svn_test_add_dir_cleanup): New functions.
  (main): Scan the argument list for --cleanup and --verbose flags, and
  initialize cleanup_mode and verbose_mode accordingly.
  Create and clear cleanup_pool in lockstep with test_pool.

* subversion/tests/fs-helpers.c
  (svn_test__create_fs, svn_test__create_repo): Register the path of
  the new file system or repository for cleanup.

* build/run_tests.py
 (TestHarness.run): Pass the --verbose flag to C tests.

* subversion/tests/python-libs/exectest.py
  (run_tests): Pass all command line arguments to the sub-tests.

* subversion/tests/clients/cmdline/svntest/main.py
  (Sandbox.__init__): Set self.repo_url to the URL of self.repo_dir.
  (Sandbox.add_test_path): New parameter 'remove'; when non-zero (which is
  the default), delete the directory tree at 'path'.
  (Sandbox.add_repo_path, Sandbox.add_wc_path): New. Create WC or repo
  paths for the tests, and register them for cleanup.

* subversion/tests/clients/cmdline/copy_tests.py,
  subversion/tests/clients/cmdline/stat_tests.py,
  subversion/tests/clients/cmdline/svnversion_tests.py,
  subversion/tests/clients/cmdline/prop_tests.py,
  subversion/tests/clients/cmdline/basic_tests.py,
  subversion/tests/clients/cmdline/update_tests.py,
  subversion/tests/clients/cmdline/trans_tests.py,
  subversion/tests/clients/cmdline/commit_tests.py,
  subversion/tests/clients/cmdline/merge_tests.py,
  subversion/tests/clients/cmdline/switch_tests.py,
  subversion/tests/clients/cmdline/externals_tests.py: Use Sandbox.add_wc_path
  and Sandbox.add_repo_path to crate new test paths, and use sbox.repo_url
  instead of calculating.

* subversion/tests/clients/cmdline/stat_tests.py
  (status_uninvited_parent_directory): Adjust the regex to the new WC name.

* subversion/tests/clients/cmdline/externals_tests.py
  (externals_test_cleanup): Gone. Superseded by the new Sandbox code.

* win-tests.py: Accept an optional target dir for running the tests, then
  copy the test programs there and chdir to it before running the tests.


Revision 845429 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 16 22:52:56 2003 UTC (21 years, 4 months ago) by brane
File length: 5273 byte(s)
Diff to previous 845424 (colored)
* build/run_tests.py (main): Run the test with the rest of args, not sys.argv.
* Makefile.in (check): Build all flags for run_tests.py in one shell variable.


Revision 845424 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 16 20:06:05 2003 UTC (21 years, 4 months ago) by brane
File length: 5277 byte(s)
Diff to previous 845327 (colored)
Started thusly by cmpilato:

Implement a new '--cleanup' option for the Python tests which causes
the test framework to delete any test-data paths created for/by that
test, but only if the test returned success.  Why?  Because when
testing on tmpfs, it's a pain to have to keep another shell open and
remove the test data of tests that have completed just so my box
doesn't run out of memory (since disk-space == RAM on tmpfs).

TODO:
  - Make each test that generates paths other than the basic wc dir
    and repos dir call sbox.add_test_path(path), to register that path
    for cleanup.
  - Decide if this behavior should be the default when 'make check'ing
  - Implement a counterpart for the C test framework (maybe).

* subversion/tests/clients/cmdline/svntest/main.py
  (cleanup_mode): New.
  (Sandbox.__init__): Automatically add wc_dir and repo_dir to the
    test paths list.
  (Sandbox.add_test_path, Sandbox.cleanup_test_paths): New.
  (run_one_test): Do cleanup after successful test runs in cleanup_mode.
  (run_tests): Parse the '--cleanup' cmdline argument.


And continued by me:

* subversion/tests/clients/cmdline/svntest/main.py
  (safe_rmtree): Renamed from remove_wc, docstring and all callers changed.

* build/run_tests.py: Import getopt.
  (TestHarness.__init__): New parameters (and member variables)
  'verbose' and 'cleanup'.
  (TestHarness.run): Pass 'verbose' and 'cleanup' flags to Python tests.
  Pass 'cleanup' vlag to C tests.
  (main): Use getopt for option parsing, add options --verbose and --cleanup
  and fix docstring to reflect that.

* win-tests.py: Understand option -c or --cleanup and pass same to the
  TestHarness constructor. Always create TestHarness with verbose on.

[in subversion/tests/clients/cmdline]
* basic_tests.py, externals_tests.py, schedule_tests.py, stat_tests.py,
  trans_tests.py, update_test.py, svntest/actions.py: All uses of remove_wc
  renamed to safe_rmtree.


Revision 845327 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 9 21:20:48 2003 UTC (21 years, 4 months ago) by brane
File length: 4858 byte(s)
Diff to previous 844445 (colored)
Fix config-test by always passing the test's source directory as a
parameter.

* build/run_tests.py (TestHarness::_run_test): For C tests, pass the test's
source directory in a --srcdir= parameter.

* subversion/tests/libsvn_subr/config-test.c: Declare test_argc and test_argv.
(opt_def): New. Option definitions for apr_getopt_long.
(init_params): New. Make --srcdir a required parameter.
(test1): Use srcdir to look for config-test.cfg.
(test_funcs): Enable test1.


Revision 844445 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 13 22:43:13 2003 UTC (21 years, 6 months ago) by rassilon
File length: 4784 byte(s)
Diff to previous 843435 (colored)
* Just about everything else that wasn't test output, a binary file,
or already to set to CRLF: Set svn:eol-style to native.


Revision 843435 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 14 00:50:55 2002 UTC (21 years, 9 months ago) by brane
File length: 4784 byte(s)
Diff to previous 843090 (colored)
Added infrastructure for hanging any kind of predicate onto the test
cases in the Python tests. Based on that, revamped the XFAIL support,
and added a Skip predicate to skip a test based on an arbitrary condition.

* build/run_tests.py (TestHarness.run): List skipped tests after a test run.

[in subversion/tests/clients/cmdline]

* svntest/testcase.py: New file. Implements the predicates, and exports
TestCase, XFail and Skip classes.

* svntest/main.py: Don't import traceback, do import testcase.
(XFAIL, _func_and_fail_mode): Removed.
(run_one_test, run_tests): Use TestCase interfaces to run the tests.

* copy_tests.py, stat_tests.py, svnadmin_tests.py, prop_tests.py,
  log_tests.py, basic_tests.py, update_tests.py, module_tests.py,
  trans_tests.py, commit_tests.py, schedule_tests.py, switch_tests.py:
  (XFail, Skip): Define abbreviations for svntest.testcase.XFail and
svntest.testcase.Skip. Replace all instances of svntest.main.XFAIL with Xfail.

* schedule_tests.py (add_executable, revert_add_executable): Don't make
the implementaiton conditional, mark the tests with Skip in the test list
instead.
(commit_add_executable): Conditionally Skip this XFailed test -- shows that
predicates can be combined, up to a point.


Revision 843090 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 22 18:56:26 2002 UTC (21 years, 11 months ago) by brane
File length: 4576 byte(s)
Diff to previous 843083 (colored)
Some more XFAIL tweaks in the test suite.

* build/run_tests.py (TestHarness.run): Throw out the fancy summary output,
making it more like it used to be. List only FAIL and XPASS results.

* subversion/tests/clients/cmdline/svntest/main.py (run_one_test):
An XPASS is unexpected, therefore it's an error.


Revision 843083 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 22 01:28:50 2002 UTC (21 years, 11 months ago) by brane
File length: 5221 byte(s)
Diff to previous 843043 (colored)
Add a mechanism to the Python test suite for marking individual tests as
XFAIL. An element in the test list can now be a tuple, where the first
member is the test function and the second is interpreted as the failure
mode (non-zero means XFAIL).

* subversion/tests/clients/cmdline/svntest/main.py (XFAIL): New symbol.
(_func_and_fail_mode): New. Interpret an element in the test list.
(run_one_test): Use _func_and_fail_mode to get the failure mode, and
print FAIL/XFAIL or PASS/XPASS depending on that.
(run_tests): Print the failure mode in the test list.

* build/run_tests.py (TestHarness.run): Count the number of PASS, FAIL,
XPASS and XFAIL tests, and list the non-PASS tests after the summary.

* subversion/tests/clients/cmdline/commit_tests.py,
  subversion/tests/clients/cmdline/schedule_tests.py,
  subversion/tests/clients/cmdline/trans_tests.py: Uncomment all disabled
tests and mark them as XFAIL instead.
* subversion/tests/clients/cmdline/commit_tests.py (hook_test): Add an -m
option to the "svn ci" call, so that it doesn't hang in $EDITOR.
* subversion/tests/clients/cmdline/schedule_tests.py (commit_add_files,
commit_add_directories, commit_nested_adds, commit_delete_files,
commit_delete_dirs): Always fail, not always pass.
* subversion/tests/clients/cmdline/trans_tests.py (enable_translation,
checkout_translated, disable_translation): Always fail, not always pass.


Revision 843043 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 14 13:09:17 2002 UTC (21 years, 11 months ago) by brane
File length: 4562 byte(s)
Diff to previous 842450 (colored)
Fix for issue #868.

* Makefile.in (check): If $(BASE_URL) is defined, pass it to
run_tests.py so that DAV tests can be run with
   "make check BASE_URL=http://localhost".

* win-tests.py: Accept an optional URL parameter and, if present,
pass it to the test harness so that DAV tests can be run with
    "python win-tests.py r http://localhost".
(client_tests): Add module_tests.py.

* subversion/mod_dav_svn/repos.c: Include apr_want.h for string functions.
(dav_svn_get_resource): [SVNParentPath handler]
 - Return a 403 error if a repository name isn't present in the URL.
 - Fix the parser: If the repository name is the only component and
   doesn't end in a slash, set true_relative_path to '/' instead of
   running off the end of the string.

* subversion/tests/clients/cmdline/README: Update the instructions for
running DAV tests.

* subversion/tests/clients/cmdline/svntest/actions.py
(guarantee_greek_repository): Don't symlink or copy to current-repo.
(make_repo_and_wc): Call main.set_repos_paths, and use
main.current_repo_url to check out the working copy.

* subversion/tests/clients/cmdline/svntest/main.py (current_repo_dir):
Initialize to None and update docstring.
(set_repos_paths): New; set current_repo_dir and current_repo_url.
(run_one_test): Reset current_repo_dir and current_repo_url to None.
Scratch an itch: Exit immediately upon receiveing a ^C.
(run_tests): Don't set current_repo_url, set_repos_paths does that now.

* build/run_tests.py (TestHarness.__init__): New parameter 'base_url'.
(TestHarness._run_test): If self.base_url is defined, send an --url
flag to each Python test program.
(main): Handle --url flag, update usage text and docstring.


Revision 842450 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 28 22:04:07 2002 UTC (22 years, 1 month ago) by sussman
File length: 3988 byte(s)
Diff to previous 842448 (colored)
Rollin' a 0.13.2 tarball.

* CHANGES:  highlights of revisions 2291-2375.

* svn_version.h (SVN_VER_MICRO): bump to 0.13.2

* run_tests.py (TestHarness._run_test): bugfix, spawnv doesn't like
  quoted params on unix.  patch from brane.




Revision 842448 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 28 21:11:18 2002 UTC (22 years, 1 month ago) by brane
File length: 3921 byte(s)
Diff to previous 842123 (colored)
Make more test pass on Windows.

[in subversion/tests/clients/cmdline]

* basic_tests.py (basic_corruption): Remove the target of a rename before
doing the rename itself; os.rename on Windows can't overwrite the target.

* svntest/main.py (remove_wc): Make the tree writable before trying to
remove it, because a read-only file can't be deleted on Windows.

* svntest/actions.py (duplicate_dir): Use main.remove_wc instead of
shutil.rmtree to remove the working copy (which contains read-only files).
(guarantee_greek_repository): Add a rant ...

[in top]

* build/run_tests.py (_run_test): Pass the program name separately to
 _run_prog, and quote all arguments, so that paths can contain spaces.
(_run_prog): Accept progname parameter.

* win-tests.py: Reorganize the list of test cases. Get the python path
from sys.executable instead of using a global parameter.

* build.conf: Fix docs: run_fs_tests and run_repos_tests are Python scripts.

Revision 842123 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 31 13:57:11 2002 UTC (22 years, 2 months ago) by brane
File length: 3953 byte(s)
Copied from: subversion/trunk/build/run-tests.py revision 842047
Diff to previous 841779 (colored)
Updates and fixes to make the test environment more useful (and friendly)
on Windows.

* build/run-tests.py: Renamed to run_tests.py, so that it can be imported.
* Makefile.in (check): Reflect that change.
* win-tests.py: New file, test driver for Windows; imports run_tests.py.

* subversion/tests/clients/cmdline/diff_tests.py: Remove extra quotes
from log messages, they are added by svntest.main.run_svn anyway.
* subversion/tests/clients/cmdline/prop_tests.py: Same here.
* subversion/tests/clients/cmdline/update_tests.py: And here.
* subversion/tests/clients/cmdline/commit_tests.py: And again.


Revision 841779 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 14 21:19:24 2002 UTC (22 years, 3 months ago) by brane
Original Path: subversion/trunk/build/run-tests.py
File length: 3953 byte(s)
Diff to previous 841727 (colored)
* build/run-tests.py (TestHarness.run): Return failure flag.
(main): Exit with code 1 if TestHarness.run returned non-zero.
Remove comments at end of file, as they're suporfluous now.


Revision 841727 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 9 10:30:28 2002 UTC (22 years, 3 months ago) by brane
Original Path: subversion/trunk/build/run-tests.py
File length: 4482 byte(s)
Diff to previous 841726 (colored)
* build/run-tests.py: Don't bother with xreadlines, because the filter function
in pre-2.2 Python can't grok it, anyway.
(TestHarness.run): Just pass self.log.readlines() to filter.
(TestHarness._run_prog): Restore stdout and stderr even if spawnv throws
an exception.

Oh, and fix typo in the example check target.


Revision 841726 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue Apr 9 02:27:27 2002 UTC (22 years, 3 months ago) by brane
Original Path: subversion/trunk/build/run-tests.py
File length: 4464 byte(s)
The very first step towards making the test harness platform-independent.


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.


infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26