Index: subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c =================================================================== --- subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c (revision 1619038) +++ subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c (working copy) @@ -1208,6 +1208,44 @@ metadata_checksumming(const svn_test_opts_t *opts, #undef REPO_NAME /* ------------------------------------------------------------------------ */ + +#define REPO_NAME "revprop_caching_on_off" +static svn_error_t * +revprop_caching_on_off(const svn_test_opts_t *opts, + apr_pool_t *pool) +{ + svn_fs_t *fs1; + svn_fs_t *fs2; + apr_hash_t *fs_config; + svn_string_t *value; + const svn_string_t *new_value = svn_string_create("new", pool); + + /* Open two filesystem objects, enable revision property caching + * in one of them. */ + SVN_ERR(svn_test__create_fs(&fs1, REPO_NAME, opts, pool)); + + fs_config = apr_hash_make(pool); + svn_hash_sets(fs_config, SVN_FS_CONFIG_FSFS_CACHE_REVPROPS, "1"); + + SVN_ERR(svn_fs_open2(&fs2, svn_fs_path(fs1, pool), fs_config, pool, pool)); + + SVN_ERR(svn_fs_revision_prop(&value, fs2, 0, "svn:date", pool)); + SVN_ERR(svn_fs_change_rev_prop2(fs1, 0, "svn:date", &value, + new_value, pool)); + + /* Expect the change to be visible through both objects.*/ + SVN_ERR(svn_fs_revision_prop(&value, fs1, 0, "svn:date", pool)); + SVN_TEST_STRING_ASSERT(value->data, "new"); + + SVN_ERR(svn_fs_revision_prop(&value, fs2, 0, "svn:date", pool)); + SVN_TEST_STRING_ASSERT(value->data, "new"); + + return SVN_NO_ERROR; +} + +#undef REPO_NAME + +/* ------------------------------------------------------------------------ */ /* The test table. */ @@ -1248,6 +1286,9 @@ static struct svn_test_descriptor_t test_funcs[] = "prevent recursive locking"), SVN_TEST_OPTS_PASS(metadata_checksumming, "metadata checksums being checked"), + SVN_TEST_OPTS_WIMP(revprop_caching_on_off, + "change revprops with enabled and disabled caching", + "fails due to FSFS revprop caching implementation"), SVN_TEST_NULL };