You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2015/01/16 15:01:37 UTC
svn commit: r1652409 [18/18] - in /subversion/branches/svn-auth-x509: ./
notes/ subversion/bindings/swig/ subversion/bindings/swig/include/
subversion/bindings/swig/perl/native/ subversion/bindings/swig/perl/native/t/
subversion/bindings/swig/python/li...
Modified: subversion/branches/svn-auth-x509/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c (original)
+++ subversion/branches/svn-auth-x509/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c Fri Jan 16 14:01:35 2015
@@ -1079,7 +1079,7 @@ metadata_checksumming(const svn_test_opt
SVN_ERR(svn_stringbuf_from_file2(&r0, r0_path, pool));
r0->data[21] = '1';
SVN_ERR(svn_io_remove_file2(r0_path, FALSE, pool));
- SVN_ERR(svn_io_file_create_binary(r0_path, r0->data, r0->len, pool));
+ SVN_ERR(svn_io_file_create_bytes(r0_path, r0->data, r0->len, pool));
/* Reading the corrupted data on the normal code path triggers no error.
* Use a separate namespace to avoid simply reading data from cache. */
Modified: subversion/branches/svn-auth-x509/subversion/tests/libsvn_fs_fs/fs-fs-private-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/subversion/tests/libsvn_fs_fs/fs-fs-private-test.c?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/subversion/tests/libsvn_fs_fs/fs-fs-private-test.c (original)
+++ subversion/branches/svn-auth-x509/subversion/tests/libsvn_fs_fs/fs-fs-private-test.c Fri Jan 16 14:01:35 2015
@@ -79,7 +79,7 @@ create_greek_repo(svn_repos_t **repos,
static svn_error_t *
verify_representation_stats(const svn_fs_fs__representation_stats_t *stats,
- apr_int64_t expected_count)
+ apr_uint64_t expected_count)
{
/* Small items, no packing (but inefficiency due to packing attempt). */
SVN_TEST_ASSERT(stats->total.count == expected_count);
@@ -110,7 +110,7 @@ verify_representation_stats(const svn_fs
static svn_error_t *
verify_node_stats(const svn_fs_fs__node_stats_t *node_stats,
- apr_int64_t expected_count)
+ apr_uint64_t expected_count)
{
SVN_TEST_ASSERT(node_stats->count == expected_count);
SVN_TEST_ASSERT( node_stats->size > 100 * node_stats->count
@@ -162,8 +162,8 @@ verify_large_change(const svn_fs_fs__lar
static svn_error_t *
verify_histogram(const svn_fs_fs__histogram_t *histogram)
{
- apr_int64_t sum_count = 0;
- apr_int64_t sum_size = 0;
+ apr_uint64_t sum_count = 0;
+ apr_uint64_t sum_size = 0;
int i;
for (i = 0; i < 64; ++i)
Modified: subversion/branches/svn-auth-x509/subversion/tests/libsvn_repos/dump-load-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/subversion/tests/libsvn_repos/dump-load-test.c?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/subversion/tests/libsvn_repos/dump-load-test.c (original)
+++ subversion/branches/svn-auth-x509/subversion/tests/libsvn_repos/dump-load-test.c Fri Jan 16 14:01:35 2015
@@ -35,7 +35,114 @@
-/* Notification receiver for test_dump_bad_mergeinfo(). This does not
+/* Test dumping in the presence of the property PROP_NAME:PROP_VAL.
+ * Return the dumped data in *DUMP_DATA_P (if DUMP_DATA_P is not null).
+ * REPOS is an empty repository.
+ * See svn_repos_dump_fs3() for START_REV, END_REV, NOTIFY_FUNC, NOTIFY_BATON.
+ */
+static svn_error_t *
+test_dump_bad_props(svn_stringbuf_t **dump_data_p,
+ svn_repos_t *repos,
+ const char *prop_name,
+ const svn_string_t *prop_val,
+ svn_revnum_t start_rev,
+ svn_revnum_t end_rev,
+ svn_repos_notify_func_t notify_func,
+ void *notify_baton,
+ apr_pool_t *pool)
+{
+ const char *test_path = "/bar";
+ svn_fs_t *fs = svn_repos_fs(repos);
+ svn_fs_txn_t *txn;
+ svn_fs_root_t *txn_root;
+ svn_revnum_t youngest_rev = 0;
+ svn_stringbuf_t *dump_data = svn_stringbuf_create_empty(pool);
+ svn_stream_t *stream = svn_stream_from_stringbuf(dump_data, pool);
+ const char *expected_str;
+
+ /* Revision 1: Any commit will do, here */
+ SVN_ERR(svn_fs_begin_txn2(&txn, fs, youngest_rev, 0, pool));
+ SVN_ERR(svn_fs_txn_root(&txn_root, txn, pool));
+ SVN_ERR(svn_fs_make_dir(txn_root, test_path , pool));
+ SVN_ERR(svn_repos_fs_commit_txn(NULL, repos, &youngest_rev, txn, pool));
+ SVN_TEST_ASSERT(SVN_IS_VALID_REVNUM(youngest_rev));
+
+ /* Revision 2: Add the bad property */
+ SVN_ERR(svn_fs_begin_txn2(&txn, fs, youngest_rev, 0, pool));
+ SVN_ERR(svn_fs_txn_root(&txn_root, txn, pool));
+ SVN_ERR(svn_fs_change_node_prop(txn_root, test_path , prop_name, prop_val,
+ pool));
+ SVN_ERR(svn_repos_fs_commit_txn(NULL, repos, &youngest_rev, txn, pool));
+ SVN_TEST_ASSERT(SVN_IS_VALID_REVNUM(youngest_rev));
+
+ /* Test that a dump completes without error. */
+ SVN_ERR(svn_repos_dump_fs3(repos, stream, start_rev, end_rev,
+ FALSE, FALSE,
+ notify_func, notify_baton,
+ NULL, NULL,
+ pool));
+ svn_stream_close(stream);
+
+ /* Check that the property appears in the dump data */
+ expected_str = apr_psprintf(pool, "K %d\n%s\n"
+ "V %d\n%s\n"
+ "PROPS-END\n",
+ (int)strlen(prop_name), prop_name,
+ (int)prop_val->len, prop_val->data);
+ SVN_TEST_ASSERT(strstr(dump_data->data, expected_str));
+
+ if (dump_data_p)
+ *dump_data_p = dump_data;
+ return SVN_NO_ERROR;
+}
+
+/* Test loading in the presence of the property PROP_NAME:PROP_VAL.
+ * Load data from DUMP_DATA.
+ * REPOS is an empty repository.
+ */
+static svn_error_t *
+test_load_bad_props(svn_stringbuf_t *dump_data,
+ svn_repos_t *repos,
+ const char *prop_name,
+ const svn_string_t *prop_val,
+ const char *parent_fspath,
+ svn_boolean_t validate_props,
+ svn_repos_notify_func_t notify_func,
+ void *notify_baton,
+ apr_pool_t *pool)
+{
+ const char *test_path = apr_psprintf(pool, "%s%s",
+ parent_fspath ? parent_fspath : "",
+ "/bar");
+ svn_stream_t *stream = svn_stream_from_stringbuf(dump_data, pool);
+ svn_fs_t *fs;
+ svn_fs_root_t *rev_root;
+ svn_revnum_t youngest_rev;
+ svn_string_t *loaded_prop_val;
+
+ SVN_ERR(svn_repos_load_fs5(repos, stream,
+ SVN_INVALID_REVNUM, SVN_INVALID_REVNUM,
+ svn_repos_load_uuid_default,
+ parent_fspath,
+ FALSE, FALSE, /*use_*_commit_hook*/
+ validate_props,
+ FALSE /*ignore_dates*/,
+ notify_func, notify_baton,
+ NULL, NULL, /*cancellation*/
+ pool));
+ svn_stream_close(stream);
+
+ /* Check the loaded property */
+ fs = svn_repos_fs(repos);
+ SVN_ERR(svn_fs_youngest_rev(&youngest_rev, fs, pool));
+ SVN_ERR(svn_fs_revision_root(&rev_root, fs, youngest_rev, pool));
+ SVN_ERR(svn_fs_node_prop(&loaded_prop_val,
+ rev_root, test_path, prop_name, pool));
+ SVN_TEST_ASSERT(svn_string_compare(loaded_prop_val, prop_val));
+ return SVN_NO_ERROR;
+}
+
+/* Notification receiver for test_dump_r0_mergeinfo(). This does not
need to do anything, it just needs to exist.
*/
static void
@@ -51,44 +158,115 @@ static svn_error_t *
test_dump_r0_mergeinfo(const svn_test_opts_t *opts,
apr_pool_t *pool)
{
- svn_repos_t *repos;
- svn_fs_t *fs;
- svn_fs_txn_t *txn;
- svn_fs_root_t *txn_root;
- svn_revnum_t youngest_rev = 0;
+ const char *prop_name = "svn:mergeinfo";
const svn_string_t *bad_mergeinfo = svn_string_create("/foo:0", pool);
+ svn_repos_t *repos;
SVN_ERR(svn_test__create_repos(&repos, "test-repo-dump-r0-mergeinfo",
opts, pool));
- fs = svn_repos_fs(repos);
-
- /* Revision 1: Any commit will do, here */
- SVN_ERR(svn_fs_begin_txn2(&txn, fs, youngest_rev, 0, pool));
- SVN_ERR(svn_fs_txn_root(&txn_root, txn, pool));
- SVN_ERR(svn_fs_make_dir(txn_root, "/bar", pool));
- SVN_ERR(svn_repos_fs_commit_txn(NULL, repos, &youngest_rev, txn, pool));
- SVN_TEST_ASSERT(SVN_IS_VALID_REVNUM(youngest_rev));
-
- /* Revision 2: Add bad mergeinfo */
- SVN_ERR(svn_fs_begin_txn2(&txn, fs, youngest_rev, 0, pool));
- SVN_ERR(svn_fs_txn_root(&txn_root, txn, pool));
- SVN_ERR(svn_fs_change_node_prop(txn_root, "/bar", "svn:mergeinfo", bad_mergeinfo, pool));
- SVN_ERR(svn_repos_fs_commit_txn(NULL, repos, &youngest_rev, txn, pool));
- SVN_TEST_ASSERT(SVN_IS_VALID_REVNUM(youngest_rev));
-
- /* Test that a dump completes without error. In order to exercise the
+ /* In order to exercise the
functionality under test -- that is, in order for the dump to try to
parse the mergeinfo it is dumping -- the dump must start from a
revision greater than 1 and must take a notification callback. */
+ SVN_ERR(test_dump_bad_props(NULL, repos,
+ prop_name, bad_mergeinfo,
+ 2, SVN_INVALID_REVNUM,
+ dump_r0_mergeinfo_notifier, NULL,
+ pool));
+
+ return SVN_NO_ERROR;
+}
+
+static void
+load_r0_mergeinfo_notifier(void *baton,
+ const svn_repos_notify_t *notify,
+ apr_pool_t *scratch_pool)
+{
+ svn_boolean_t *had_mergeinfo_warning = baton;
+
+ if (notify->action == svn_repos_notify_warning)
+ {
+ if (notify->warning == svn_repos_notify_warning_invalid_mergeinfo)
+ {
+ *had_mergeinfo_warning = TRUE;
+ }
+ }
+}
+
+/* Regression test for the 'load' part of issue #4476 "Mergeinfo
+ * containing r0 makes svnsync and svnadmin dump fail".
+ *
+ * Bad mergeinfo should not prevent loading a backup, at least when we do not
+ * require mergeinfo revision numbers or paths to be adjusted during loading.
+ */
+static svn_error_t *
+test_load_r0_mergeinfo(const svn_test_opts_t *opts,
+ apr_pool_t *pool)
+{
+ const char *prop_name = "svn:mergeinfo";
+ const svn_string_t *prop_val = svn_string_create("/foo:0", pool);
+ svn_stringbuf_t *dump_data = svn_stringbuf_create_empty(pool);
+
+ /* Produce a dump file containing bad mergeinfo */
{
- svn_stringbuf_t *stringbuf = svn_stringbuf_create_empty(pool);
- svn_stream_t *stream = svn_stream_from_stringbuf(stringbuf, pool);
+ svn_repos_t *repos;
+
+ SVN_ERR(svn_test__create_repos(&repos, "test-repo-load-r0-mi-1",
+ opts, pool));
+ SVN_ERR(test_dump_bad_props(&dump_data, repos,
+ prop_name, prop_val,
+ SVN_INVALID_REVNUM, SVN_INVALID_REVNUM,
+ NULL, NULL, pool));
+ }
+
+ /* Test loading without validating properties: should warn and succeed */
+ {
+ svn_repos_t *repos;
+ svn_boolean_t had_mergeinfo_warning = FALSE;
+
+ SVN_ERR(svn_test__create_repos(&repos, "test-repo-load-r0-mi-2",
+ opts, pool));
+
+ /* Without changing revision numbers or paths */
+ SVN_ERR(test_load_bad_props(dump_data, repos,
+ prop_name, prop_val,
+ NULL /*parent_dir*/, FALSE /*validate_props*/,
+ load_r0_mergeinfo_notifier, &had_mergeinfo_warning,
+ pool));
+ SVN_TEST_ASSERT(had_mergeinfo_warning);
+
+ /* With changing revision numbers and/or paths (by loading the same data
+ again, on top of existing revisions, into subdirectory 'bar') */
+ had_mergeinfo_warning = FALSE;
+ SVN_ERR(test_load_bad_props(dump_data, repos,
+ prop_name, prop_val,
+ "/bar", FALSE /*validate_props*/,
+ load_r0_mergeinfo_notifier, &had_mergeinfo_warning,
+ pool));
+ SVN_TEST_ASSERT(had_mergeinfo_warning);
+ }
+
+ /* Test loading with validating properties: should return an error */
+ {
+ svn_repos_t *repos;
+
+ SVN_ERR(svn_test__create_repos(&repos, "test-repo-load-r0-mi-3",
+ opts, pool));
- SVN_ERR(svn_repos_dump_fs3(repos, stream, 2, SVN_INVALID_REVNUM,
- FALSE, FALSE,
- dump_r0_mergeinfo_notifier, NULL,
- NULL, NULL,
- pool));
+ /* Without changing revision numbers or paths */
+ SVN_TEST_ASSERT_ANY_ERROR(test_load_bad_props(dump_data, repos,
+ prop_name, prop_val,
+ NULL /*parent_dir*/, TRUE /*validate_props*/,
+ NULL, NULL,
+ pool));
+
+ /* With changing revision numbers and/or paths (by loading the same data
+ again, on top of existing revisions, into subdirectory 'bar') */
+ SVN_TEST_ASSERT_ANY_ERROR(test_load_bad_props(dump_data, repos,
+ prop_name, prop_val,
+ "/bar", TRUE /*validate_props*/,
+ NULL, NULL,
+ pool));
}
return SVN_NO_ERROR;
@@ -103,6 +281,8 @@ static struct svn_test_descriptor_t test
SVN_TEST_NULL,
SVN_TEST_OPTS_PASS(test_dump_r0_mergeinfo,
"test dumping with r0 mergeinfo"),
+ SVN_TEST_OPTS_PASS(test_load_r0_mergeinfo,
+ "test loading with r0 mergeinfo"),
SVN_TEST_NULL
};
Modified: subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/cache-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/cache-test.c?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/cache-test.c (original)
+++ subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/cache-test.c Fri Jan 16 14:01:35 2015
@@ -201,6 +201,102 @@ test_membuffer_cache_basic(apr_pool_t *p
return basic_cache_test(cache, FALSE, pool);
}
+/* Implements svn_cache__deserialize_func_t */
+static svn_error_t *
+raise_error_deserialize_func(void **out,
+ void *data,
+ apr_size_t data_len,
+ apr_pool_t *pool)
+{
+ return svn_error_create(APR_EGENERAL, NULL, NULL);
+}
+
+/* Implements svn_cache__partial_getter_func_t */
+static svn_error_t *
+raise_error_partial_getter_func(void **out,
+ const void *data,
+ apr_size_t data_len,
+ void *baton,
+ apr_pool_t *result_pool)
+{
+ return svn_error_create(APR_EGENERAL, NULL, NULL);
+}
+
+/* Implements svn_cache__partial_setter_func_t */
+static svn_error_t *
+raise_error_partial_setter_func(void **data,
+ apr_size_t *data_len,
+ void *baton,
+ apr_pool_t *result_pool)
+{
+ return svn_error_create(APR_EGENERAL, NULL, NULL);
+}
+
+static svn_error_t *
+test_membuffer_serializer_error_handling(apr_pool_t *pool)
+{
+ svn_cache__t *cache;
+ svn_membuffer_t *membuffer;
+ svn_revnum_t twenty = 20;
+ svn_boolean_t found;
+ void *val;
+
+ SVN_ERR(svn_cache__membuffer_cache_create(&membuffer, 10*1024, 1, 0,
+ TRUE, TRUE, pool));
+
+ /* Create a cache with just one entry. */
+ SVN_ERR(svn_cache__create_membuffer_cache(&cache,
+ membuffer,
+ serialize_revnum,
+ raise_error_deserialize_func,
+ APR_HASH_KEY_STRING,
+ "cache:",
+ SVN_CACHE__MEMBUFFER_DEFAULT_PRIORITY,
+ FALSE,
+ pool, pool));
+
+ SVN_ERR(svn_cache__set(cache, "twenty", &twenty, pool));
+
+ /* Test retrieving data from cache using full getter that
+ always raises an error. */
+ SVN_TEST_ASSERT_ERROR(
+ svn_cache__get(&val, &found, cache, "twenty", pool),
+ APR_EGENERAL);
+
+ /* Test retrieving data from cache using partial getter that
+ always raises an error. */
+ SVN_TEST_ASSERT_ERROR(
+ svn_cache__get_partial(&val, &found, cache, "twenty",
+ raise_error_partial_getter_func,
+ NULL, pool),
+ APR_EGENERAL);
+
+ /* Create a new cache. */
+ SVN_ERR(svn_cache__membuffer_cache_create(&membuffer, 10*1024, 1, 0,
+ TRUE, TRUE, pool));
+ SVN_ERR(svn_cache__create_membuffer_cache(&cache,
+ membuffer,
+ serialize_revnum,
+ deserialize_revnum,
+ APR_HASH_KEY_STRING,
+ "cache:",
+ SVN_CACHE__MEMBUFFER_DEFAULT_PRIORITY,
+ FALSE,
+ pool, pool));
+
+ /* Store one entry in cache. */
+ SVN_ERR(svn_cache__set(cache, "twenty", &twenty, pool));
+
+ /* Test setting data in cache using partial setter that
+ always raises an error. */
+ SVN_TEST_ASSERT_ERROR(
+ svn_cache__set_partial(cache, "twenty",
+ raise_error_partial_setter_func,
+ NULL, pool),
+ APR_EGENERAL);
+
+ return SVN_NO_ERROR;
+}
static svn_error_t *
test_memcache_long_key(const svn_test_opts_t *opts,
@@ -274,6 +370,8 @@ static struct svn_test_descriptor_t test
"memcache svn_cache with very long keys"),
SVN_TEST_PASS2(test_membuffer_cache_basic,
"basic membuffer svn_cache test"),
+ SVN_TEST_PASS2(test_membuffer_serializer_error_handling,
+ "test for error handling in membuffer svn_cache"),
SVN_TEST_NULL
};
Modified: subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/config-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/config-test.c?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/config-test.c (original)
+++ subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/config-test.c Fri Jan 16 14:01:35 2015
@@ -347,6 +347,29 @@ test_read_only_mode(const svn_test_opts_
return SVN_NO_ERROR;
}
+static svn_error_t *
+test_expand(const svn_test_opts_t *opts,
+ apr_pool_t *pool)
+{
+ svn_config_t *cfg;
+ const char *cfg_file, *val;
+
+ SVN_ERR(get_config_file_path(&cfg_file, opts, pool));
+ SVN_ERR(svn_config_read3(&cfg, cfg_file, TRUE, TRUE, FALSE, pool));
+
+ /* Get expanded "g" which requires expanding "c". */
+ svn_config_get(cfg, &val, "section1", "g", NULL);
+
+ /* Get expanded "c". */
+ svn_config_get(cfg, &val, "section1", "c", NULL);
+
+ /* With pool debugging enabled this ensures that the expanded value
+ of "c" was not created in a temporary pool when expanding "g". */
+ SVN_TEST_STRING_ASSERT(val, "bar");
+
+ return SVN_NO_ERROR;
+}
+
/*
====================================================================
If you add a new test to this file, update this array.
@@ -377,6 +400,8 @@ static struct svn_test_descriptor_t test
"test parsing config file with BOM"),
SVN_TEST_OPTS_PASS(test_read_only_mode,
"test r/o mode"),
+ SVN_TEST_OPTS_PASS(test_expand,
+ "test variable expansion"),
SVN_TEST_NULL
};
Modified: subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/mergeinfo-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/mergeinfo-test.c?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/mergeinfo-test.c (original)
+++ subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/mergeinfo-test.c Fri Jan 16 14:01:35 2015
@@ -114,7 +114,7 @@ verify_mergeinfo_parse(const char *input
}
-#define NBR_MERGEINFO_VALS 24
+#define NBR_MERGEINFO_VALS 25
/* Valid mergeinfo values. */
static const char * const mergeinfo_vals[NBR_MERGEINFO_VALS] =
@@ -148,7 +148,8 @@ static const char * const mergeinfo_vals
"/A/:7-8",
"/A///:7-8",
"/A/.:7-8",
- "/A/./B:7-8"
+ "/A/./B:7-8",
+ ":7-8",
};
/* Paths corresponding to mergeinfo_vals. */
static const char * const mergeinfo_paths[NBR_MERGEINFO_VALS] =
@@ -181,7 +182,8 @@ static const char * const mergeinfo_path
"/A",
"/A",
"/A",
- "/A/B"
+ "/A/B",
+ "/",
};
/* First ranges from the paths identified by mergeinfo_paths. */
static svn_merge_range_t mergeinfo_ranges[NBR_MERGEINFO_VALS][MAX_NBR_RANGES] =
@@ -212,6 +214,7 @@ static svn_merge_range_t mergeinfo_range
{ {6, 8, TRUE} },
{ {6, 8, TRUE} },
{ {6, 8, TRUE} },
+ { {6, 8, TRUE} },
};
static svn_error_t *
@@ -298,7 +301,7 @@ test_parse_combine_rangeinfo(apr_pool_t
}
-#define NBR_BROKEN_MERGEINFO_VALS 27
+#define NBR_BROKEN_MERGEINFO_VALS 26
/* Invalid mergeinfo values. */
static const char * const broken_mergeinfo_vals[NBR_BROKEN_MERGEINFO_VALS] =
{
@@ -330,8 +333,6 @@ static const char * const broken_mergein
"/trunk:",
"/trunk:2-9\n/branch:",
"::",
- /* No path */
- ":1-3",
/* Invalid revisions */
"trunk:a-3",
"branch:3-four",
Modified: subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/string-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/string-test.c?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/string-test.c (original)
+++ subversion/branches/svn-auth-x509/subversion/tests/libsvn_subr/string-test.c Fri Jan 16 14:01:35 2015
@@ -604,7 +604,19 @@ test_stringbuf_insert(apr_pool_t *pool)
SVN_TEST_STRING_ASSERT(a->data, "test hello, world");
svn_stringbuf_insert(a, 1200, "!", 1);
- return expect_stringbuf_equal(a, "test hello, world!", pool);
+ SVN_TEST_STRING_ASSERT(a->data, "test hello, world!");
+
+ svn_stringbuf_insert(a, 4, "\0-\0", 3);
+ SVN_TEST_ASSERT(svn_stringbuf_compare(a,
+ svn_stringbuf_ncreate("test\0-\0 hello, world!",
+ 21, pool)));
+
+ svn_stringbuf_insert(a, 14, a->data + 4, 3);
+ SVN_TEST_ASSERT(svn_stringbuf_compare(a,
+ svn_stringbuf_ncreate("test\0-\0 hello,\0-\0 world!",
+ 24, pool)));
+
+ return SVN_NO_ERROR;
}
static svn_error_t *
@@ -643,8 +655,24 @@ test_stringbuf_replace(apr_pool_t *pool)
SVN_TEST_STRING_ASSERT(a->data, "test hello, world!");
svn_stringbuf_replace(a, 1200, 199, "!!", 2);
+ SVN_TEST_STRING_ASSERT(a->data, "test hello, world!!!");
+
+ svn_stringbuf_replace(a, 10, 2, "\0-\0", 3);
+ SVN_TEST_ASSERT(svn_stringbuf_compare(a,
+ svn_stringbuf_ncreate("test hello\0-\0world!!!",
+ 21, pool)));
+
+ svn_stringbuf_replace(a, 10, 3, a->data + 10, 3);
+ SVN_TEST_ASSERT(svn_stringbuf_compare(a,
+ svn_stringbuf_ncreate("test hello\0-\0world!!!",
+ 21, pool)));
+
+ svn_stringbuf_replace(a, 19, 1, a->data + 10, 3);
+ SVN_TEST_ASSERT(svn_stringbuf_compare(a,
+ svn_stringbuf_ncreate("test hello\0-\0world!\0-\0!",
+ 23, pool)));
- return expect_stringbuf_equal(a, "test hello, world!!!", pool);
+ return SVN_NO_ERROR;
}
static svn_error_t *
Modified: subversion/branches/svn-auth-x509/subversion/tests/libsvn_wc/op-depth-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/subversion/tests/libsvn_wc/op-depth-test.c?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/subversion/tests/libsvn_wc/op-depth-test.c (original)
+++ subversion/branches/svn-auth-x509/subversion/tests/libsvn_wc/op-depth-test.c Fri Jan 16 14:01:35 2015
@@ -9296,14 +9296,42 @@ move4_update_delself_AAA(const svn_test_
/* Update and resolve via mine strategy */
SVN_ERR(sbox_wc_update(&b, "", 2));
+ {
+ nodes_row_t nodes[] = {
+
+ {1, "A_moved", "normal", 1, "A", MOVED_HERE},
+ {1, "A_moved/A", "normal", 1, "A/A", MOVED_HERE},
+ {1, "A_moved/A/A", "normal", 1, "A/A/A", MOVED_HERE},
+ {3, "A_moved/A/A", "base-deleted", NO_COPY_FROM, "AAA_1"},
+ {1, "A_moved/A/A/A", "normal", 1, "A/A/A/A", MOVED_HERE},
+ {3, "A_moved/A/A/A", "base-deleted", NO_COPY_FROM},
+
+ { 0 },
+ };
+ SVN_ERR(check_db_rows(&b, "A_moved", nodes));
+ }
+
/* Resolve a few conflicts manually */
SVN_ERR(sbox_wc_resolve(&b, "A", svn_depth_empty,
svn_wc_conflict_choose_mine_conflict));
+
+ {
+ nodes_row_t nodes[] = {
+
+ {1, "A_moved", "normal", 2, "A", MOVED_HERE},
+ {1, "A_moved/A", "normal", 2, "A/A", MOVED_HERE},
+
+ { 0 },
+ };
+ SVN_ERR(check_db_rows(&b, "A_moved", nodes));
+ }
+
SVN_ERR(sbox_wc_resolve(&b, "B", svn_depth_empty,
svn_wc_conflict_choose_mine_conflict));
SVN_ERR(sbox_wc_resolve(&b, "C/A", svn_depth_empty,
svn_wc_conflict_choose_mine_conflict));
+
/* ### These can currently only be resolved to merged ???? */
SVN_ERR(sbox_wc_resolve(&b, "D/A/A", svn_depth_empty,
svn_wc_conflict_choose_merged));
@@ -9319,6 +9347,55 @@ move4_update_delself_AAA(const svn_test_
SVN_ERR(sbox_wc_resolve(&b, "", svn_depth_infinity, svn_wc_conflict_choose_mine_conflict));
/* Go back to start position */
SVN_ERR(sbox_wc_update(&b, "", 1));
+ {
+ nodes_row_t nodes[] = {
+ {0, "", "normal", 1, ""},
+ {0, "A", "normal", 1, "A"},
+ {1, "A", "normal", 2, "B", FALSE, "A_moved", TRUE},
+ {0, "A/A", "normal", 1, "A/A"},
+ {1, "A/A", "normal", 2, "B/A", MOVED_HERE},
+ {2, "A/A", "normal", 2, "C/A", FALSE, "BA_moved", TRUE},
+ {1, "A/A/A", "base-deleted", NO_COPY_FROM},
+ {0, "A/A/A", "normal", 1, "A/A/A"},
+ {3, "A/A/A", "normal", 1, "D/A/A"},
+ {1, "A/A/A/A", "base-deleted", NO_COPY_FROM},
+ {0, "A/A/A/A", "normal", 1, "A/A/A/A"},
+ {3, "A/A/A/A", "normal", 1, "D/A/A/A"},
+ {1, "AAA_1", "normal", 1, "A/A/A"},
+ {1, "AAA_1/A", "normal", 1, "A/A/A/A"},
+ {1, "AAA_2", "normal", 1, "B/A/A"},
+ {1, "AAA_2/A", "normal", 1, "B/A/A/A"},
+ {1, "AAA_3", "normal", 1, "C/A/A"},
+ {1, "AAA_3/A", "normal", 1, "C/A/A/A"},
+ {1, "A_moved", "normal", 2, "A", MOVED_HERE},
+ {1, "A_moved/A", "normal", 2, "A/A", MOVED_HERE},
+ {1, "B", "base-deleted", NO_COPY_FROM, "A"},
+ {0, "B", "normal", 1, "B"},
+ {1, "B/A", "base-deleted", NO_COPY_FROM},
+ {0, "B/A", "normal", 1, "B/A"},
+ {1, "B/A/A", "base-deleted", NO_COPY_FROM},
+ {0, "B/A/A", "normal", 1, "B/A/A"},
+ {1, "B/A/A/A", "base-deleted", NO_COPY_FROM},
+ {0, "B/A/A/A", "normal", 1, "B/A/A/A"},
+ {1, "BA_moved", "normal", 1, "A/A", MOVED_HERE},
+ {1, "BA_moved/A", "normal", 1, "A/A/A", MOVED_HERE},
+ {1, "BA_moved/A/A", "normal", 1, "A/A/A/A", MOVED_HERE},
+ {0, "C", "normal", 1, "C"},
+ {2, "C/A", "base-deleted", NO_COPY_FROM, "A/A"},
+ {0, "C/A", "normal", 1, "C/A"},
+ {2, "C/A/A", "base-deleted", NO_COPY_FROM},
+ {0, "C/A/A", "normal", 1, "C/A/A"},
+ {2, "C/A/A/A", "base-deleted", NO_COPY_FROM},
+ {0, "C/A/A/A", "normal", 1, "C/A/A/A"},
+ {0, "D", "normal", 1, "D"},
+ {0, "D/A", "normal", 1, "D/A"},
+ {0, "D/A/A", "normal", 1, "D/A/A"},
+ {0, "D/A/A/A", "normal", 1, "D/A/A/A"},
+
+ { 0 },
+ };
+ SVN_ERR(check_db_rows(&b, "", nodes));
+ }
SVN_ERR(sbox_wc_resolve(&b, "", svn_depth_infinity, svn_wc_conflict_choose_mine_conflict));
/* Update and resolve via their strategy */
SVN_ERR(sbox_wc_update(&b, "", 2));
@@ -9733,6 +9810,127 @@ break_move_in_delete(const svn_test_opts
}
+static svn_error_t *
+nested_move_delete(const svn_test_opts_t *opts, apr_pool_t *pool)
+{
+ svn_test__sandbox_t b;
+
+ SVN_ERR(svn_test__sandbox_create(&b, "nested_move_delete", opts, pool));
+
+ SVN_ERR(sbox_add_and_commit_greek_tree(&b));
+
+ SVN_ERR(sbox_wc_mkdir(&b, "A/Z"));
+ SVN_ERR(sbox_wc_move(&b, "A/B/lambda", "A/Z/lambda"));
+
+ SVN_ERR(sbox_wc_delete(&b, "A/B"));
+
+ {
+ nodes_row_t nodes_AB[] = {
+ {0, "A/B", "normal", 1, "A/B"},
+ {2, "A/B", "base-deleted", NO_COPY_FROM},
+ {0, "A/B/E", "normal", 1, "A/B/E"},
+ {2, "A/B/E", "base-deleted", NO_COPY_FROM},
+ {0, "A/B/E/alpha", "normal", 1, "A/B/E/alpha"},
+ {2, "A/B/E/alpha", "base-deleted", NO_COPY_FROM},
+ {0, "A/B/E/beta", "normal", 1, "A/B/E/beta"},
+ {2, "A/B/E/beta", "base-deleted", NO_COPY_FROM},
+ {0, "A/B/F", "normal", 1, "A/B/F"},
+ {2, "A/B/F", "base-deleted", NO_COPY_FROM},
+ {0, "A/B/lambda", "normal", 1, "A/B/lambda"},
+ {2, "A/B/lambda", "base-deleted", NO_COPY_FROM, "A/Z/lambda"},
+ {0}
+ };
+ nodes_row_t nodes_AZ[] = {
+ {2, "A/Z", "normal", NO_COPY_FROM},
+ {3, "A/Z/lambda", "normal", 1, "A/B/lambda", MOVED_HERE },
+ {0}
+ };
+
+ SVN_ERR(check_db_rows(&b, "A/B", nodes_AB));
+ SVN_ERR(check_db_rows(&b, "A/Z", nodes_AZ));
+ }
+
+ SVN_ERR(sbox_wc_move(&b, "A", "A_moved"));
+
+ {
+ nodes_row_t nodes[] = {
+ {0, "", "normal", 0, ""},
+ {0, "A", "normal", 1, "A"},
+ {1, "A", "base-deleted", NO_COPY_FROM, "A_moved"},
+ {0, "A/B", "normal", 1, "A/B"},
+ {1, "A/B", "base-deleted", NO_COPY_FROM},
+ {0, "A/B/E", "normal", 1, "A/B/E"},
+ {1, "A/B/E", "base-deleted", NO_COPY_FROM},
+ {0, "A/B/E/alpha", "normal", 1, "A/B/E/alpha"},
+ {1, "A/B/E/alpha", "base-deleted", NO_COPY_FROM},
+ {0, "A/B/E/beta", "normal", 1, "A/B/E/beta"},
+ {1, "A/B/E/beta", "base-deleted", NO_COPY_FROM},
+ {0, "A/B/F", "normal", 1, "A/B/F"},
+ {1, "A/B/F", "base-deleted", NO_COPY_FROM},
+ {0, "A/B/lambda", "normal", 1, "A/B/lambda"},
+ {1, "A/B/lambda", "base-deleted", NO_COPY_FROM},
+ {0, "A/C", "normal", 1, "A/C"},
+ {1, "A/C", "base-deleted", NO_COPY_FROM},
+ {0, "A/D", "normal", 1, "A/D"},
+ {1, "A/D", "base-deleted", NO_COPY_FROM},
+ {0, "A/D/G", "normal", 1, "A/D/G"},
+ {1, "A/D/G", "base-deleted", NO_COPY_FROM},
+ {0, "A/D/G/pi", "normal", 1, "A/D/G/pi"},
+ {1, "A/D/G/pi", "base-deleted", NO_COPY_FROM},
+ {0, "A/D/G/rho", "normal", 1, "A/D/G/rho"},
+ {1, "A/D/G/rho", "base-deleted", NO_COPY_FROM},
+ {0, "A/D/G/tau", "normal", 1, "A/D/G/tau"},
+ {1, "A/D/G/tau", "base-deleted", NO_COPY_FROM},
+ {0, "A/D/H", "normal", 1, "A/D/H"},
+ {1, "A/D/H", "base-deleted", NO_COPY_FROM},
+ {0, "A/D/H/chi", "normal", 1, "A/D/H/chi"},
+ {1, "A/D/H/chi", "base-deleted", NO_COPY_FROM},
+ {0, "A/D/H/omega", "normal", 1, "A/D/H/omega"},
+ {1, "A/D/H/omega", "base-deleted", NO_COPY_FROM},
+ {0, "A/D/H/psi", "normal", 1, "A/D/H/psi"},
+ {1, "A/D/H/psi", "base-deleted", NO_COPY_FROM},
+ {0, "A/D/gamma", "normal", 1, "A/D/gamma"},
+ {1, "A/D/gamma", "base-deleted", NO_COPY_FROM},
+ {0, "A/mu", "normal", 1, "A/mu"},
+ {1, "A/mu", "base-deleted", NO_COPY_FROM},
+ {1, "A_moved", "normal", 1, "A", MOVED_HERE},
+ {1, "A_moved/B", "normal", 1, "A/B", MOVED_HERE},
+ {2, "A_moved/B", "base-deleted", NO_COPY_FROM},
+ {2, "A_moved/B/E", "base-deleted", NO_COPY_FROM},
+ {1, "A_moved/B/E", "normal", 1, "A/B/E", MOVED_HERE},
+ {1, "A_moved/B/E/alpha", "normal", 1, "A/B/E/alpha", MOVED_HERE},
+ {2, "A_moved/B/E/alpha", "base-deleted", NO_COPY_FROM},
+ {1, "A_moved/B/E/beta", "normal", 1, "A/B/E/beta", MOVED_HERE},
+ {2, "A_moved/B/E/beta", "base-deleted", NO_COPY_FROM},
+ {1, "A_moved/B/F", "normal", 1, "A/B/F", MOVED_HERE},
+ {2, "A_moved/B/F", "base-deleted", NO_COPY_FROM},
+ {1, "A_moved/B/lambda", "normal", 1, "A/B/lambda", MOVED_HERE},
+ {2, "A_moved/B/lambda", "base-deleted", NO_COPY_FROM, "A_moved/Z/lambda"},
+ {1, "A_moved/C", "normal", 1, "A/C", MOVED_HERE},
+ {1, "A_moved/D", "normal", 1, "A/D", MOVED_HERE},
+ {1, "A_moved/D/G", "normal", 1, "A/D/G", MOVED_HERE},
+ {1, "A_moved/D/G/pi", "normal", 1, "A/D/G/pi", MOVED_HERE},
+ {1, "A_moved/D/G/rho", "normal", 1, "A/D/G/rho", MOVED_HERE},
+ {1, "A_moved/D/G/tau", "normal", 1, "A/D/G/tau", MOVED_HERE},
+ {1, "A_moved/D/H", "normal", 1, "A/D/H", MOVED_HERE},
+ {1, "A_moved/D/H/chi", "normal", 1, "A/D/H/chi", MOVED_HERE},
+ {1, "A_moved/D/H/omega", "normal", 1, "A/D/H/omega", MOVED_HERE},
+ {1, "A_moved/D/H/psi", "normal", 1, "A/D/H/psi", MOVED_HERE},
+ {1, "A_moved/D/gamma", "normal", 1, "A/D/gamma", MOVED_HERE},
+ {2, "A_moved/Z", "normal", NO_COPY_FROM},
+ {3, "A_moved/Z/lambda", "normal", 1, "A/B/lambda", MOVED_HERE},
+ {1, "A_moved/mu", "normal", 1, "A/mu", MOVED_HERE},
+ {0, "iota", "normal", 1, "iota"},
+
+ {0}
+ };
+
+ SVN_ERR(check_db_rows(&b, "", nodes));
+ }
+
+ return SVN_NO_ERROR;
+}
+
/* ---------------------------------------------------------------------- */
/* The list of test functions */
@@ -9854,7 +10052,7 @@ static struct svn_test_descriptor_t test
"move_replace"),
SVN_TEST_OPTS_PASS(layered_moved_to,
"layered_moved_to"),
- SVN_TEST_OPTS_XFAIL(update_within_move,
+ SVN_TEST_OPTS_PASS(update_within_move,
"update_within_move"),
SVN_TEST_OPTS_PASS(commit_moved_descendant,
"commit_moved_descendant"),
@@ -9876,7 +10074,7 @@ static struct svn_test_descriptor_t test
"new_basemove"),
SVN_TEST_OPTS_PASS(move_back,
"move_back (issue 4302)"),
- SVN_TEST_OPTS_XFAIL(move_update_subtree,
+ SVN_TEST_OPTS_PASS(move_update_subtree,
"move_update_subtree (issue 4232)"),
SVN_TEST_OPTS_PASS(move_parent_into_child,
"move_parent_into_child (issue 4333)"),
@@ -9886,7 +10084,7 @@ static struct svn_test_descriptor_t test
"move retract (issue 4336)"),
SVN_TEST_OPTS_PASS(move_delete_file_externals,
"move/delete file externals (issue 4293)"),
- SVN_TEST_OPTS_XFAIL(update_with_tree_conflict,
+ SVN_TEST_OPTS_PASS(update_with_tree_conflict,
"update with tree conflict (issue 4347)"),
SVN_TEST_OPTS_PASS(move_update_parent_replace,
"move update with replaced parent (issue 4388)"),
@@ -9916,7 +10114,7 @@ static struct svn_test_descriptor_t test
"move4: delete AAA"),
SVN_TEST_OPTS_PASS(move4_update_add_AAA,
"move4: add AAA"),
- SVN_TEST_OPTS_XFAIL(move4_update_delself_AAA,
+ SVN_TEST_OPTS_PASS(move4_update_delself_AAA,
"move4: delete self AAA"),
SVN_TEST_OPTS_PASS(simple_move_bump,
"simple move bump"),
@@ -9924,8 +10122,10 @@ static struct svn_test_descriptor_t test
"movedhere extract retract"),
SVN_TEST_OPTS_PASS(repo_wc_copy,
"repo_wc_copy"),
- SVN_TEST_OPTS_XFAIL(break_move_in_delete,
+ SVN_TEST_OPTS_PASS(break_move_in_delete,
"break move in delete (issue 4491)"),
+ SVN_TEST_OPTS_PASS(nested_move_delete,
+ "nested move delete"),
SVN_TEST_NULL
};
Modified: subversion/branches/svn-auth-x509/subversion/tests/libsvn_wc/wc-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/subversion/tests/libsvn_wc/wc-test.c?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/subversion/tests/libsvn_wc/wc-test.c (original)
+++ subversion/branches/svn-auth-x509/subversion/tests/libsvn_wc/wc-test.c Fri Jan 16 14:01:35 2015
@@ -141,7 +141,6 @@ test_node_get_base(const svn_test_opts_t
NULL,
b->wc_ctx, local_abspath,
TRUE /* ignore_enoent */,
- FALSE /* show_hidden */,
b->pool, b->pool));
SVN_TEST_ASSERT(revision == subtest->base_rev);
if (SVN_IS_VALID_REVNUM(subtest->base_rev))
Modified: subversion/branches/svn-auth-x509/tools/buildbot/slaves/svn-sparc-solaris/svnbuild.sh
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/tools/buildbot/slaves/svn-sparc-solaris/svnbuild.sh?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/tools/buildbot/slaves/svn-sparc-solaris/svnbuild.sh (original)
+++ subversion/branches/svn-auth-x509/tools/buildbot/slaves/svn-sparc-solaris/svnbuild.sh Fri Jan 16 14:01:35 2015
@@ -28,9 +28,10 @@ SVN_VER_MINOR=`awk '/define SVN_VER_MINO
cd ../obj
grep obj/subversion/tests /etc/mnttab > /dev/null || mount-tmpfs
-if [ $SVN_VER_MINOR -eq 8 ]; then
- # A bug causes 1.8 --enable-optimize to add -flto which isn't supported
- OPTIONS_1_8='--disable-optimize'
+# --enable-optimize adds -flto which breaks the 1.8 C tests because
+# they link main() from a library.
+if [ $SVN_VER_MINOR -gt 8 ]; then
+ OPTIMIZE_OPTION='--enable-optimize'
fi
echo "============ configure"
@@ -42,7 +43,7 @@ echo "============ configure"
--with-sqlite=/export/home/wandisco/buildbot/sqlite-amalgamation-3071501/sqlite3.c \
--enable-optimize \
--disable-shared \
- $OPTIONS_1_8 \
+ $OPTIMIZE_OPTION \
|| exit $?
echo "============ make"
Modified: subversion/branches/svn-auth-x509/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh (original)
+++ subversion/branches/svn-auth-x509/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh Fri Jan 16 14:01:35 2015
@@ -63,6 +63,14 @@ echo "============ autogen.sh"
cd ${abssrc}
./autogen.sh
+svnminor=$(awk '/define *SVN_VER_MINOR/ { print $3 }' subversion/include/svn_version.h)
+
+# --enable-optimize adds -flto which breaks the 1.8 C tests because
+# they link main() from a library.
+if [ ${svnminor} -gt 8 ]; then
+ optimizeconfig=' --enable-optimize'
+fi
+
#
# Step 3: Configure
#
@@ -72,8 +80,7 @@ cd ${absbld}
env CC=clang CXX=clang++ \
${abssrc}/configure \
--prefix="${absbld}/.install-prefix" \
- --disable-debug \
- --enable-optimize \
+ --disable-debug${optimizeconfig} \
--disable-nls \
--disable-mod-activation \
${aprconfig}${serfconfig} \
@@ -82,6 +89,7 @@ ${abssrc}/configure \
--enable-javahl \
--without-jikes \
--with-junit="${SVNBB_JUNIT}"
+
test -f config.log && mv config.log "${abssrc}/.test-logs/config.log"
#
Modified: subversion/branches/svn-auth-x509/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd (original)
+++ subversion/branches/svn-auth-x509/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd Fri Jan 16 14:01:35 2015
@@ -75,7 +75,7 @@ if "%SVN_BRANCH%" GTR "1.9." (
IF ERRORLEVEL 1 (
echo [Perl tests reported error !ERRORLEVEL!] 1>&2
- REM SET result=1
+ SET result=1
) ELSE (
echo Done.
)
Modified: subversion/branches/svn-auth-x509/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/tools/dev/unix-build/Makefile.svn?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/svn-auth-x509/tools/dev/unix-build/Makefile.svn Fri Jan 16 14:01:35 2015
@@ -1555,6 +1555,9 @@ endif
echo >>$@.tmp 'RedirectMatch permanent ^/svn-test-work/repositories/REDIRECT-PERM-(.*)$$ /svn-test-work/repositories/$$1'
echo >>$@.tmp 'RedirectMatch ^/svn-test-work/repositories/REDIRECT-TEMP-(.*)$$ /svn-test-work/repositories/$$1'
echo >>$@.tmp 'Include "conf/$(SVN_REL_WC)*-custom.conf"'
+ echo >> $@.tmp '#SVNInMemoryCacheSize 0'
+ echo >> $@.tmp '#SVNCacheTextDeltas Off'
+ echo >> $@.tmp '#SVNCacheRevProps Off'
mv -f $@.tmp $@
.PHONY: libpath
Modified: subversion/branches/svn-auth-x509/tools/hook-scripts/mailer/tests/mailer-init.sh
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/tools/hook-scripts/mailer/tests/mailer-init.sh?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/tools/hook-scripts/mailer/tests/mailer-init.sh (original)
+++ subversion/branches/svn-auth-x509/tools/hook-scripts/mailer/tests/mailer-init.sh Fri Jan 16 14:01:35 2015
@@ -101,14 +101,14 @@ echo change C6 >> dir6/file4
svn commit -m "copy dir, then make a change"
# add a binary file and set property to binary value
-echo -e "\x00\x01\x02\x03\x04" > file11
+printf "\x00\x01\x02\x03\x04\n" > file11
svn add file11
svn ps svn:mime-type application/octect-stream file11
svn ps prop2 -F file11 file9
svn commit -m "add binary file"
# change the binary file and set property to non binary value
-echo -e "\x20\x01\x02\x20" > file11
+printf "\x20\x01\x02\x20\n" > file11
svn ps prop2 propval2 file9
svn commit -m "change binary file"
Modified: subversion/branches/svn-auth-x509/win-tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/win-tests.py?rev=1652409&r1=1652408&r2=1652409&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/win-tests.py (original)
+++ subversion/branches/svn-auth-x509/win-tests.py Fri Jan 16 14:01:35 2015
@@ -866,6 +866,7 @@ elif test_swig == 'perl':
perl_exe = 'perl.exe'
print('-- Running Swig Perl tests --')
+ sys.stdout.flush()
old_cwd = os.getcwd()
try:
os.chdir(pm_src)
@@ -884,7 +885,6 @@ elif test_swig == 'perl':
if (r != 0):
print('[Test runner reported failure]')
failed = True
- sys.exit(1)
elif test_swig == 'python':
failed = False
swig_dir = os.path.join(abs_builddir, 'swig')
@@ -916,6 +916,7 @@ elif test_swig == 'python':
to_dir=swig_py_svn)
print('-- Running Swig Python tests --')
+ sys.stdout.flush()
pythonpath = swig_py_dir
if 'PYTHONPATH' in os.environ:
@@ -954,6 +955,7 @@ elif test_swig == 'ruby':
]
print('-- Running Swig Ruby tests --')
+ sys.stdout.flush()
old_cwd = os.getcwd()
try:
os.chdir(ruby_subdir)