You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2015/04/27 10:44:55 UTC
svn commit: r1676221 - in /subversion/branches/move-tracking-2: ./ build/
build/ac-macros/ build/generator/ subversion/
subversion/bindings/javahl/src/org/apache/subversion/javahl/
subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/ sub...
Author: julianfoad
Date: Mon Apr 27 08:44:54 2015
New Revision: 1676221
URL: http://svn.apache.org/r1676221
Log:
On the 'move-tracking-2' branch: catch up to trunk@1676219.
Modified:
subversion/branches/move-tracking-2/ (props changed)
subversion/branches/move-tracking-2/CHANGES (contents, props changed)
subversion/branches/move-tracking-2/build/ (props changed)
subversion/branches/move-tracking-2/build/ac-macros/java.m4
subversion/branches/move-tracking-2/build/ac-macros/swig.m4
subversion/branches/move-tracking-2/build/generator/gen_win_dependencies.py
subversion/branches/move-tracking-2/build/run_tests.py
subversion/branches/move-tracking-2/subversion/ (props changed)
subversion/branches/move-tracking-2/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNEditor.java
subversion/branches/move-tracking-2/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/StatusEditor.java
subversion/branches/move-tracking-2/subversion/bindings/swig/INSTALL
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/transaction.c
subversion/branches/move-tracking-2/subversion/libsvn_subr/config_win.c
subversion/branches/move-tracking-2/subversion/tests/libsvn_subr/cache-test.c
subversion/branches/move-tracking-2/subversion/tests/svn_test.h
subversion/branches/move-tracking-2/subversion/tests/svn_test_main.c
subversion/branches/move-tracking-2/win-tests.py (contents, props changed)
Propchange: subversion/branches/move-tracking-2/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 27 08:44:54 2015
@@ -88,4 +88,4 @@
/subversion/branches/verify-at-commit:1462039-1462408
/subversion/branches/verify-keep-going:1439280-1546110
/subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1606692-1674752
+/subversion/trunk:1606692-1676219
Modified: subversion/branches/move-tracking-2/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/CHANGES?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/CHANGES (original)
+++ subversion/branches/move-tracking-2/CHANGES Mon Apr 27 08:44:54 2015
@@ -189,6 +189,9 @@ http://svn.apache.org/repos/asf/subversi
unversioned obstructions (r1659381)
* windows: improve checkout performance on windows by using sqlite truncate
journal mode rather than delete (r1659426)
+ * status: now accept '-r' argument (r1671164, 1672578, 1673228)
+ * ls: improve performance of '-v' on tag directories (r1673153)
+ * resolve: improve conflict prompts for binary files (r1667228 et al)
- Client-side bugfixes:
* export: fix problem exporting symlinks on windows (r1476093)
@@ -298,6 +301,12 @@ http://svn.apache.org/repos/asf/subversi
* info: provide results in a stable order (r1662030)
* revert: allow depth limited reverts of nodes that only have not-present
and/or excluded child nodes (r1662091)
+ * wc: fix calculating repo path after commits of nodes that shadow a
+ switched (not-present) node (r1663991, r1666258, r1674032)
+ * update: resolve assertion on bad update report involving incomplete
+ status (r1663671, r1666832)
+ * update: allow a real file to replace a file external (r1664035)
+ * merge: raise a tree conflict on root of obstructing dir (r1666690)
- Server-side bugfixes:
* svnserve: don't ignore socket initialization errors (r1544253)
@@ -372,6 +381,15 @@ http://svn.apache.org/repos/asf/subversi
* fsfs: fix pool lifetime issue in lock handling (r1659314)
* mod_dav_svn: properly log assertions and malfuctions (r1660480)
* svnadmin load/dump: preserve deletion of svn:date from r0 (issue #4563)
+ * svnrdump: don't provide HEAD+1 as base revision when loading deletes
+ (r1664684)
+ * mod_dav_svn: improve error message sent with a 405 status code
+ (r1665195, r1666096, r1666379)
+ * make detection of invalid base revision on commit behave the same on
+ all RA layers (r1664664, r1664672, r1664674)
+ * mod_dav_svn: emit the first few log items as soon as they are available
+ (r1666965, r1667120)
+ * mod_dav_svn: prevent a tree walk on copy sources (issue #4351)
- Client-side and server-side bugfixes:
* use less memory when retrieving extension from filename (r1548480)
@@ -424,6 +442,7 @@ http://svn.apache.org/repos/asf/subversi
* bash_completion: add '--pin-externals' (r1662250)
* bash_completion: stop offering deprecated options (r1662291)
* bash_completion: add '--show-item' and '--no-newline' (r1662622)
+ * svnbench: add null-blame command (r1673785, r1673803, r1674015)
Developer-visible changes:
- General:
@@ -495,6 +514,11 @@ http://svn.apache.org/repos/asf/subversi
* fix bugs and performance issues using svn_wc_walk_entries3() (r1661110)
* support using Python 3 for building (r1661247)
* don't add -lstdc++ on FreeBSD 10 (r1662329)
+ * add build support for Visual Studio 2015 (r1663183, r1663184)
+ * fix test failures when running from a directory whose name contains
+ characters that must be escaped when used in a URL. (r1664997)
+ * fix breakage of the serf ra session with svn_ra_get_dir2() and
+ svn_ra_get_log2(). (r1665213, r1665259, r1665609)
- API changes:
* new RA callbacks for managing ra_svn tunnels:
@@ -533,8 +557,8 @@ http://svn.apache.org/repos/asf/subversi
* svn_auth_first_credentials(): provides an error rather than crashing if
auth_baton is NULL (r1544320)
* svn_auth_set_parameter(): Do nothing if auth_baton is NULL (r1544320)
- * new API svn_relpath_limit which returns a relpath with a maximum number
- of path components (r1545123)
+ * new API svn_relpath_prefix which returns a relpath with a maximum number
+ of path components (r1545123, r1673282)
* svn_fs_initialize() is now threadsafe (r1546409)
* svn_checksum_kind_t has two new FNV-1a checksums (r1546699)
* svn_fs_lock: control characters are not allowed in lock tokens (r1547445)
@@ -620,6 +644,7 @@ http://svn.apache.org/repos/asf/subversi
* svn_string_dup() will accept a NULL pointer and return a NULL (r1657254)
* svn_ra_get_file_revs2() now handles SVN_INVALID_REVNUM as HEAD (r1660463)
* new API svn_error_quick_wrapf() (r1662668)
+ * new API svn_fs_node_has_props() (r1673170, r1673172, r1673692, r1673746)
- Bindings:
* javahl: add support for the RA layer (r1494650 et al)
@@ -690,6 +715,9 @@ http://svn.apache.org/repos/asf/subversi
* swig-py: add support for svn_fs_lock_many(), svn_fs_unlock_many(),
svn_repos_fs_lock_many() and svn_repos_fs_unlock_many() (r1662867)
* swig-py: fix support for svn_ra_lock() and svn_ra_unlock() (r1662891)
+ * javahl: allow java callbacks to throw errors back to the svn code
+ (r1664938, r1664939, r1664940, r1664978, r1664984)
+ * swig-pl: fix some statck memory problems (r1668618, 1671388)
Version 1.8.13
Propchange: subversion/branches/move-tracking-2/CHANGES
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 27 08:44:54 2015
@@ -86,4 +86,4 @@
/subversion/branches/verify-at-commit/CHANGES:1462039-1462408
/subversion/branches/verify-keep-going/CHANGES:1439280-1546110
/subversion/branches/wc-collate-path/CHANGES:1402685-1480384
-/subversion/trunk/CHANGES:1606692-1668666
+/subversion/trunk/CHANGES:1606692-1676219
Propchange: subversion/branches/move-tracking-2/build/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 27 08:44:54 2015
@@ -82,4 +82,4 @@
/subversion/branches/verify-at-commit/build:1462039-1462408
/subversion/branches/verify-keep-going/build:1439280-1546110
/subversion/branches/wc-collate-path/build:1402685-1480384
-/subversion/trunk/build:1606692-1674752
+/subversion/trunk/build:1606692-1676219
Modified: subversion/branches/move-tracking-2/build/ac-macros/java.m4
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/build/ac-macros/java.m4?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/build/ac-macros/java.m4 (original)
+++ subversion/branches/move-tracking-2/build/ac-macros/java.m4 Mon Apr 27 08:44:54 2015
@@ -62,10 +62,13 @@ AC_DEFUN(SVN_FIND_JDK,
JDK_SUITABLE=no
AC_MSG_CHECKING([for JDK])
if test $where = check; then
- dnl Prefer /Library/Java/Home first to try to be nice on Darwin.
- dnl We'll correct later if we get caught in the tangled web of JAVA_HOME.
+ dnl Prefer /usr/libexec/java_home, then /Library/Java/Home first
+ dnl to try to be nice on Darwin. We'll correct later if we get
+ dnl caught in the tangled web of JAVA_HOME.
if test -x "$JAVA_HOME/bin/java"; then
JDK="$JAVA_HOME"
+ elif test -x "/usr/libexec/java_home"; then
+ JDK=`/usr/libexec/java_home`
elif test -x "/Library/Java/Home/bin/java"; then
JDK="/Library/Java/Home"
elif test -x "/usr/bin/java"; then
Modified: subversion/branches/move-tracking-2/build/ac-macros/swig.m4
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/build/ac-macros/swig.m4?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/build/ac-macros/swig.m4 (original)
+++ subversion/branches/move-tracking-2/build/ac-macros/swig.m4 Mon Apr 27 08:44:54 2015
@@ -88,10 +88,6 @@ AC_DEFUN(SVN_FIND_SWIG,
AC_MSG_RESULT([$SWIG_VERSION_RAW])
# If you change the required swig version number, don't forget to update:
# subversion/bindings/swig/INSTALL
- # packages/rpm/redhat-8+/subversion.spec
- # packages/rpm/redhat-7.x/subversion.spec
- # packages/rpm/rhel-3/subversion.spec
- # packages/rpm/rhel-4/subversion.spec
if test -n "$SWIG_VERSION" && test "$SWIG_VERSION" -ge "103024" && \
test "$SWIG_VERSION" -lt "300000"; then
SWIG_SUITABLE=yes
Modified: subversion/branches/move-tracking-2/build/generator/gen_win_dependencies.py
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/build/generator/gen_win_dependencies.py?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/build/generator/gen_win_dependencies.py (original)
+++ subversion/branches/move-tracking-2/build/generator/gen_win_dependencies.py Mon Apr 27 08:44:54 2015
@@ -530,7 +530,7 @@ class GenDependenciesBase(gen_base.Gener
if version >= (1, 3, 0) :
self._libraries['apr_memcache'] = SVNCommonLibrary(
'apr_memcache', inc_path, lib_dir,
- lib_name, aprutil_version,
+ None, aprutil_version,
defines=['SVN_HAVE_MEMCACHE'])
# And now find expat
Modified: subversion/branches/move-tracking-2/build/run_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/build/run_tests.py?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/build/run_tests.py (original)
+++ subversion/branches/move-tracking-2/build/run_tests.py Mon Apr 27 08:44:54 2015
@@ -386,6 +386,8 @@ class TestHarness:
'--srcdir=' + os.path.join(self.srcdir, progdir)]
if self.config_file is not None:
cmdline.append('--config-file=' + self.config_file)
+ elif self.memcached_server is not None:
+ cmdline.append('--memcached-server=' + self.memcached_server)
if self.base_url is not None:
subdir = 'subversion/tests/cmdline/svn-test-work'
Propchange: subversion/branches/move-tracking-2/subversion/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 27 08:44:54 2015
@@ -82,4 +82,4 @@
/subversion/branches/verify-at-commit/subversion:1462039-1462408
/subversion/branches/verify-keep-going/subversion:1439280-1546110
/subversion/branches/wc-collate-path/subversion:1402685-1480384
-/subversion/trunk/subversion:1606692-1674752
+/subversion/trunk/subversion:1606692-1676219
Modified: subversion/branches/move-tracking-2/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNEditor.java
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNEditor.java?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNEditor.java (original)
+++ subversion/branches/move-tracking-2/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNEditor.java Mon Apr 27 08:44:54 2015
@@ -94,7 +94,9 @@ public interface ISVNEditor
* <code>replacesRevision</code> set accordingly <em>must</em> be used.
* <p>
* <b>Note:</b> The <code>contents</code> stream's lifetime must not
- * extend beyond the scope of this function.
+ * extend beyond the scope of this function. An
+ * implementation <b>must</b> close the stream after
+ * consuming its contents.
*
* @throws ClientException
*/
@@ -193,7 +195,9 @@ public interface ISVNEditor
* #addFile().
* <p>
* <b>Note:</b> The <code>contents</code> stream's lifetime must not
- * extend beyond the scope of this function.
+ * extend beyond the scope of this function. An
+ * implementation <b>must</b> close the stream after
+ * consuming its contents.
*
* @throws ClientException
*/
Modified: subversion/branches/move-tracking-2/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/StatusEditor.java
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/StatusEditor.java?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/StatusEditor.java (original)
+++ subversion/branches/move-tracking-2/subversion/bindings/javahl/src/org/apache/subversion/javahl/remote/StatusEditor.java Mon Apr 27 08:44:54 2015
@@ -33,6 +33,7 @@ import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.SimpleTimeZone;
import java.io.InputStream;
+import java.io.IOException;
import java.nio.charset.Charset;
/**
@@ -78,6 +79,12 @@ class StatusEditor implements ISVNEditor
long replacesRevision)
{
//DEBUG:System.err.println(" [J] StatusEditor.addFile");
+ try {
+ contents.close();
+ } catch (IOException ex) {
+ throw new RuntimeException(ex);
+ }
+
checkState();
receiver.addedFile(relativePath);
}
@@ -120,6 +127,12 @@ class StatusEditor implements ISVNEditor
Map<String, byte[]> properties)
{
//DEBUG:System.err.println(" [J] StatusEditor.alterFile");
+ try {
+ contents.close();
+ } catch (IOException ex) {
+ throw new RuntimeException(ex);
+ }
+
checkState();
receiver.modifiedFile(relativePath,
(checksum != null && contents != null),
Modified: subversion/branches/move-tracking-2/subversion/bindings/swig/INSTALL
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/bindings/swig/INSTALL?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/bindings/swig/INSTALL (original)
+++ subversion/branches/move-tracking-2/subversion/bindings/swig/INSTALL Mon Apr 27 08:44:54 2015
@@ -65,7 +65,7 @@ BUILDING SWIG BINDINGS FOR SVN ON UNIX
Step 1: Install a suitable version of SWIG (which is
- currently SWIG version 1.3.24 or later).
+ currently SWIG version 1.3.24 or later, but not SWIG 3.0.0 or newer).
* Perhaps your distribution packages a suitable version - if it does
install it, and skip to the last bullet point in this section.
Modified: subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/transaction.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/transaction.c?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/transaction.c (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/transaction.c Mon Apr 27 08:44:54 2015
@@ -2231,9 +2231,11 @@ get_shared_rep(representation_t **old_re
"You should delete the rep-cache.db and "
"verify the repository. The cached rep will "
"not be shared.",
- apr_psprintf(scratch_pool, "%" APR_OFF_T_FMT,
+ apr_psprintf(scratch_pool,
+ "%" SVN_FILESIZE_T_FMT,
rep->expanded_size),
- apr_psprintf(scratch_pool, "%" APR_OFF_T_FMT,
+ apr_psprintf(scratch_pool,
+ "%" SVN_FILESIZE_T_FMT,
(*old_rep)->expanded_size),
svn_checksum_to_cstring_display(&checksum,
scratch_pool));
Modified: subversion/branches/move-tracking-2/subversion/libsvn_subr/config_win.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_subr/config_win.c?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_subr/config_win.c (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_subr/config_win.c Mon Apr 27 08:44:54 2015
@@ -201,10 +201,14 @@ svn_config__parse_registry(svn_config_t
svn_boolean_t is_enoent = APR_STATUS_IS_ENOENT(apr_err)
|| (err == ERROR_INVALID_HANDLE);
- if (must_exist || !is_enoent)
+ if (!is_enoent)
return svn_error_createf(SVN_ERR_BAD_FILENAME,
- is_enoent ? NULL
- : svn_error_wrap_apr(apr_err, NULL),
+ svn_error_wrap_apr(apr_err, NULL),
+ _("Can't open registry key '%s'"),
+ svn_dirent_local_style(file, pool));
+ else if (must_exist)
+ return svn_error_createf(SVN_ERR_BAD_FILENAME,
+ NULL,
_("Can't open registry key '%s'"),
svn_dirent_local_style(file, pool));
else
Modified: subversion/branches/move-tracking-2/subversion/tests/libsvn_subr/cache-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/tests/libsvn_subr/cache-test.c?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/tests/libsvn_subr/cache-test.c (original)
+++ subversion/branches/move-tracking-2/subversion/tests/libsvn_subr/cache-test.c Mon Apr 27 08:44:54 2015
@@ -34,6 +34,39 @@
#include "../svn_test.h"
+/* Create memcached cache if configured */
+static svn_error_t *
+create_memcache(svn_memcache_t **memcache,
+ const svn_test_opts_t *opts,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool)
+{
+ svn_config_t *config = NULL;
+ if (opts->config_file)
+ {
+ SVN_ERR(svn_config_read3(&config, opts->config_file,
+ TRUE, FALSE, FALSE, scratch_pool));
+ }
+ else if (opts->memcached_server)
+ {
+ SVN_ERR(svn_config_create2(&config, FALSE, FALSE, scratch_pool));
+
+ svn_config_set(config, SVN_CACHE_CONFIG_CATEGORY_MEMCACHED_SERVERS,
+ "key" /* some value; ignored*/,
+ opts->memcached_server);
+ }
+
+ if (config)
+ {
+ SVN_ERR(svn_cache__make_memcache_from_config(memcache, config,
+ result_pool, scratch_pool));
+ }
+ else
+ *memcache = NULL;
+
+ return SVN_NO_ERROR;
+}
+
/* Implements svn_cache__serialize_func_t */
static svn_error_t *
serialize_revnum(void **data,
@@ -147,20 +180,12 @@ test_memcache_basic(const svn_test_opts_
apr_pool_t *pool)
{
svn_cache__t *cache;
- svn_config_t *config;
svn_memcache_t *memcache = NULL;
const char *prefix = apr_psprintf(pool,
"test_memcache_basic-%" APR_TIME_T_FMT,
apr_time_now());
- if (opts->config_file)
- {
- SVN_ERR(svn_config_read3(&config, opts->config_file,
- TRUE, FALSE, FALSE, pool));
- SVN_ERR(svn_cache__make_memcache_from_config(&memcache, config,
- pool, pool));
- }
-
+ SVN_ERR(create_memcache(&memcache, opts, pool, pool));
if (! memcache)
return svn_error_create(SVN_ERR_TEST_SKIPPED, NULL,
"not configured to use memcached");
@@ -303,7 +328,6 @@ test_memcache_long_key(const svn_test_op
apr_pool_t *pool)
{
svn_cache__t *cache;
- svn_config_t *config;
svn_memcache_t *memcache = NULL;
svn_revnum_t fifty = 50, *answer;
svn_boolean_t found = FALSE;
@@ -319,13 +343,7 @@ test_memcache_long_key(const svn_test_op
"0123456789" "0123456789" "0123456789" "0123456789" "0123456789" /* 300 */
;
- if (opts->config_file)
- {
- SVN_ERR(svn_config_read3(&config, opts->config_file,
- TRUE, FALSE, FALSE, pool));
- SVN_ERR(svn_cache__make_memcache_from_config(&memcache, config,
- pool, pool));
- }
+ SVN_ERR(create_memcache(&memcache, opts, pool, pool));
if (! memcache)
return svn_error_create(SVN_ERR_TEST_SKIPPED, NULL,
Modified: subversion/branches/move-tracking-2/subversion/tests/svn_test.h
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/tests/svn_test.h?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/tests/svn_test.h (original)
+++ subversion/branches/move-tracking-2/subversion/tests/svn_test.h Mon Apr 27 08:44:54 2015
@@ -149,6 +149,8 @@ typedef struct svn_test_opts_t
const char *repos_dir;
/* Repository url: The url to access REPOS_DIR as */
const char *repos_url;
+ /* Memcached server. */
+ const char *memcached_server;
/* Repository template: pre-created repository to copy for tests */
const char *repos_template;
/* Minor version to use for servers and FS backends, or zero to use
Modified: subversion/branches/move-tracking-2/subversion/tests/svn_test_main.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/tests/svn_test_main.c?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/tests/svn_test_main.c (original)
+++ subversion/branches/move-tracking-2/subversion/tests/svn_test_main.c Mon Apr 27 08:44:54 2015
@@ -104,6 +104,7 @@ enum test_options_e {
reposdir_opt,
reposurl_opt,
repostemplate_opt,
+ memcached_server_opt,
mode_filter_opt,
sqlite_log_opt,
parallel_opt,
@@ -144,6 +145,8 @@ static const apr_getopt_option_t cl_opti
N_("the url to access reposdir as")},
{"repos-template",repostemplate_opt, 1,
N_("the repository to use as template")},
+ {"memcached-server", memcached_server_opt, 1,
+ N_("the memcached server to use")},
{"sqlite-logging", sqlite_log_opt, 0,
N_("enable SQLite logging")},
{"parallel", parallel_opt, 0,
@@ -915,6 +918,10 @@ svn_test_main(int argc, const char *argv
opts.repos_template = svn_dirent_internal_style(opts.repos_template,
pool);
break;
+ case memcached_server_opt:
+ SVN_INT_ERR(svn_utf_cstring_to_utf8(&opts.memcached_server, opt_arg,
+ pool));
+ break;
case list_opt:
list_mode = TRUE;
break;
Modified: subversion/branches/move-tracking-2/win-tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/win-tests.py?rev=1676221&r1=1676220&r2=1676221&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/win-tests.py (original)
+++ subversion/branches/move-tracking-2/win-tests.py Mon Apr 27 08:44:54 2015
@@ -83,6 +83,13 @@ def _usage_exit():
print(" --disable-http-v2 : Do not advertise support for HTTPv2 on server")
print(" --disable-bulk-updates : Disable bulk updates on HTTP server")
print(" --ssl-cert : Path to SSL server certificate to trust.")
+ print(" --exclusive-wc-locks : Enable exclusive working copy locks")
+ print(" --memcached-dir=DIR : Run memcached from dir")
+ print(" --memcached-server= : Enable usage of the specified memcached server")
+ print(" <url:port>")
+ print(" --skip-c-tests : Skip all C tests")
+ print(" --dump-load-cross-check: Run the dump load cross check after every test")
+
print(" --javahl : Run the javahl tests instead of the normal tests")
print(" --swig=language : Run the swig perl/python/ruby tests instead of")
print(" the normal tests")
@@ -127,7 +134,9 @@ opts, args = my_getopt(sys.argv[1:], 'hr
'list', 'enable-sasl', 'bin=', 'parallel',
'config-file=', 'server-minor-version=', 'log-level=',
'log-to-stdout', 'mode-filter=', 'milestone-filter=',
- 'ssl-cert='])
+ 'ssl-cert=', 'exclusive-wc-locks', 'memcached-server=',
+ 'skip-c-tests', 'dump-load-cross-check', 'memcached-dir=',
+ ])
if len(args) > 1:
print('Warning: non-option arguments after the first one will be ignored')
@@ -162,6 +171,12 @@ mode_filter=None
tests_to_run = []
log_level = None
ssl_cert = None
+exclusive_wc_locks = None
+run_memcached = None
+memcached_server = None
+memcached_dir = None
+skip_c_tests = None
+dump_load_cross_check = None
for opt, val in opts:
if opt in ('-h', '--help'):
@@ -238,6 +253,17 @@ for opt, val in opts:
log_level = val
elif opt == '--ssl-cert':
ssl_cert = val
+ elif opt == '--exclusive-wc-locks':
+ exclusive_wc_locks = 1
+ elif opt == '--memcached-server':
+ memcached_server = val
+ elif opt == '--skip-c-tests':
+ skip_c_tests = 1
+ elif opt == '--dump-load-cross-check':
+ dump_load_cross_check = 1
+ elif opt == '--memcached-dir':
+ memcached_dir = val
+ run_memcached = 1
# Calculate the source and test directory names
abs_srcdir = os.path.abspath("")
@@ -678,6 +704,45 @@ class Httpd:
pass
print('Httpd.stop_daemon not implemented')
+class Memcached:
+ "Run memcached for tests"
+ def __init__(self, abs_memcached_dir, memcached_server):
+ self.name = 'memcached.exe'
+
+ self.memcached_host, self.memcached_port = memcached_server.split(':')
+ self.memcached_dir = abs_memcached_dir
+
+ self.proc = None
+ self.path = os.path.join(self.memcached_dir, self.name)
+
+ self.memcached_args = [
+ self.name,
+ '-p', self.memcached_port,
+ '-l', self.memcached_host
+ ]
+
+ def __del__(self):
+ "Stop memcached when the object is deleted"
+ self.stop()
+
+ def start(self):
+ "Start memcached as daemon"
+ print('Starting %s as daemon' % self.name)
+ print(self.memcached_args)
+ self.proc = subprocess.Popen([self.path] + self.memcached_args)
+
+ def stop(self):
+ "Stop memcached"
+ if self.proc is not None:
+ try:
+ print('Stopping %s' % self.name)
+ self.proc.poll();
+ if self.proc.returncode is None:
+ self.proc.kill();
+ return
+ except AttributeError:
+ pass
+
# Move the binaries to the test directory
create_target_dir(abs_builddir)
locate_libs()
@@ -698,10 +763,15 @@ create_target_dir(CMDLINE_TEST_SCRIPT_NA
abs_builddir = fix_case(abs_builddir)
daemon = None
+memcached = None
# Run the tests
# No need to start any servers if we are only listing the tests.
if not list_tests:
+ if run_memcached:
+ memcached = Memcached(memcached_dir, memcached_server)
+ memcached.start()
+
if run_svnserve:
daemon = Svnserve(svnserve_args, objdir, abs_objdir, abs_builddir)
@@ -765,7 +835,11 @@ if not test_javahl and not test_swig:
fsfs_sharding, fsfs_packing,
list_tests, svn_bin, mode_filter,
milestone_filter,
- set_log_level=log_level, ssl_cert=ssl_cert)
+ set_log_level=log_level, ssl_cert=ssl_cert,
+ exclusive_wc_locks=exclusive_wc_locks,
+ memcached_server=memcached_server,
+ skip_c_tests=skip_c_tests,
+ dump_load_cross_check=dump_load_cross_check)
old_cwd = os.getcwd()
try:
os.chdir(abs_builddir)
@@ -985,6 +1059,9 @@ elif test_swig == 'ruby':
if daemon:
del daemon
+if memcached:
+ del memcached
+
# Remove the execs again
for tgt in copied_execs:
try:
Propchange: subversion/branches/move-tracking-2/win-tests.py
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 27 08:44:54 2015
@@ -86,4 +86,4 @@
/subversion/branches/verify-at-commit/win-tests.py:1462039-1462408
/subversion/branches/verify-keep-going/win-tests.py:1439280-1546110
/subversion/branches/wc-collate-path/win-tests.py:1402685-1480384
-/subversion/trunk/win-tests.py:1606692-1674752
+/subversion/trunk/win-tests.py:1606692-1676219