You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by cm...@apache.org on 2010/11/10 18:27:25 UTC

svn commit: r1033599 - /subversion/trunk/subversion/tests/libsvn_fs_fs/fs-pack-test.c

Author: cmpilato
Date: Wed Nov 10 17:27:25 2010
New Revision: 1033599

URL: http://svn.apache.org/viewvc?rev=1033599&view=rev
Log:
Add regression test for issue #3571 ("fsfs 'svnadmin recover' expects
youngest revprop to be outside revprops.db").

* subversion/tests/libsvn_fs_fs/fs-pack-test.c
  (recover_fully_packed): New test.
  (test_funcs): Add reference to new test.

Modified:
    subversion/trunk/subversion/tests/libsvn_fs_fs/fs-pack-test.c

Modified: subversion/trunk/subversion/tests/libsvn_fs_fs/fs-pack-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_fs_fs/fs-pack-test.c?rev=1033599&r1=1033598&r2=1033599&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_fs_fs/fs-pack-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_fs_fs/fs-pack-test.c Wed Nov 10 17:27:25 2010
@@ -407,6 +407,31 @@ get_set_revprop_packed_fs(const svn_test
 #undef SHARD_SIZE
 
 /* ------------------------------------------------------------------------ */
+/* Regression test for issue #3571 (fsfs 'svnadmin recover' expects
+   youngest revprop to be outside revprops.db). */
+#define REPO_NAME "test-recover-fully-packed"
+#define SHARD_SIZE 4
+#define MAX_REV 7
+static svn_error_t *
+recover_fully_packed(const svn_test_opts_t *opts,
+                     apr_pool_t *pool)
+{
+  /* Bail (with success) on known-untestable scenarios */
+  if ((strcmp(opts->fs_type, "fsfs") != 0)
+      || (opts->server_minor_version && (opts->server_minor_version < 7)))
+    return SVN_NO_ERROR;
+
+  /* Create the packed FS, and then recover it. */
+  SVN_ERR(create_packed_filesystem(REPO_NAME, opts, MAX_REV, SHARD_SIZE, pool));
+  SVN_ERR(svn_fs_recover(REPO_NAME, NULL, NULL, pool));
+
+  return SVN_NO_ERROR;
+}
+#undef REPO_NAME
+#undef MAX_REV
+#undef SHARD_SIZE
+
+/* ------------------------------------------------------------------------ */
 
 /* The test table.  */
 
@@ -423,5 +448,7 @@ struct svn_test_descriptor_t test_funcs[
                        "commit to a packed FSFS filesystem"),
     SVN_TEST_OPTS_PASS(get_set_revprop_packed_fs,
                        "get/set revprop while packing FSFS filesystem"),
+    SVN_TEST_OPTS_XFAIL(recover_fully_packed,
+                        "recover a fully packed filesystem"),
     SVN_TEST_NULL
   };