You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ph...@apache.org on 2013/02/21 20:12:25 UTC
svn commit: r1448775 - in /subversion/trunk/subversion/tests:
cmdline/update_tests.py libsvn_wc/op-depth-test.c
Author: philip
Date: Thu Feb 21 19:12:25 2013
New Revision: 1448775
URL: http://svn.apache.org/r1448775
Log:
Add another XFail test for issue 4111 to show NODES problem.
* subversion/tests/libsvn_wc/op-depth-test.c
(update_child_under_add): New test.
(test_funcs): Add new test.
* subversion/tests/cmdline/update_tests.py
(update_child_below_add): Tweak comment.
Modified:
subversion/trunk/subversion/tests/cmdline/update_tests.py
subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c
Modified: subversion/trunk/subversion/tests/cmdline/update_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/update_tests.py?rev=1448775&r1=1448774&r2=1448775&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/update_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/update_tests.py Thu Feb 21 19:12:25 2013
@@ -6745,7 +6745,7 @@ def update_child_below_add(sbox):
sbox.simple_update('A/B', 0)
- # Update skips A/B/E because A/B doesn't have a BASE node.
+ # Update skips A/B/E because A/B has a not-present BASE node.
expected_output = svntest.wc.State(wc_dir, {
'A/B/E' : Item(verb='Skipped'),
})
Modified: subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c?rev=1448775&r1=1448774&r2=1448775&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_wc/op-depth-test.c Thu Feb 21 19:12:25 2013
@@ -6939,6 +6939,48 @@ move_not_present_variants(const svn_test
return SVN_NO_ERROR;
}
+static svn_error_t *
+update_child_under_add(const svn_test_opts_t *opts, apr_pool_t *pool)
+{
+ svn_test__sandbox_t b;
+ svn_error_t *err;
+ nodes_row_t nodes[] = {
+ {0, "", "normal", 1, ""},
+ {0, "A", "normal", 1, "A"},
+ {0, "A/B", "not-present", 0, "A/B"},
+ {2, "A/B", "normal", NO_COPY_FROM},
+ {3, "A/B/C", "normal", NO_COPY_FROM},
+ {4, "A/B/C/D", "normal", NO_COPY_FROM},
+ {0}
+ };
+
+ SVN_ERR(svn_test__sandbox_create(&b, "update_child_under_add",
+ opts, pool));
+
+ SVN_ERR(sbox_wc_mkdir(&b, "A"));
+ SVN_ERR(sbox_wc_mkdir(&b, "A/B"));
+ SVN_ERR(sbox_wc_mkdir(&b, "A/B/C"));
+ SVN_ERR(sbox_wc_mkdir(&b, "A/B/C/D"));
+ SVN_ERR(sbox_wc_commit(&b, ""));
+ SVN_ERR(sbox_wc_update(&b, "", 1));
+ SVN_ERR(sbox_wc_update(&b, "A/B", 0));
+ SVN_ERR(sbox_wc_mkdir(&b, "A/B"));
+ SVN_ERR(sbox_wc_mkdir(&b, "A/B/C"));
+ SVN_ERR(sbox_wc_mkdir(&b, "A/B/C/D"));
+ SVN_ERR(check_db_rows(&b, "", nodes));
+
+ /* A/B/C/D is skipped as it has no base node parent */
+ SVN_ERR(sbox_wc_update(&b, "A/B/C/D", 1));
+ SVN_ERR(check_db_rows(&b, "", nodes));
+
+ /* A/B/C should be skipped as it has a not-present base node parent */
+ err = sbox_wc_update(&b, "A/B/C", 1);
+ svn_error_clear(err); /* Allow any error and always check NODES. */
+ SVN_ERR(check_db_rows(&b, "", nodes));
+
+ return SVN_NO_ERROR;
+}
+
/* ---------------------------------------------------------------------- */
/* The list of test functions */
@@ -7071,5 +7113,7 @@ struct svn_test_descriptor_t test_funcs[
"move_away_delete_update"),
SVN_TEST_OPTS_PASS(move_not_present_variants,
"move_not_present_variants"),
+ SVN_TEST_OPTS_XFAIL(update_child_under_add,
+ "update_child_under_add (issue 4111)"),
SVN_TEST_NULL
};