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 2011/05/31 18:20:21 UTC

svn commit: r1129776 - in /subversion/trunk/subversion: libsvn_wc/wc-checks.sql tests/libsvn_wc/tree-conflict-data-test.c

Author: julianfoad
Date: Tue May 31 16:20:21 2011
New Revision: 1129776

URL: http://svn.apache.org/viewvc?rev=1129776&view=rev
Log:
Add another WC DB validation, and fix a test that was not obeying it.

* subversion/libsvn_wc/wc-checks.sql
  (validation_04): New trigger statement.

* subversion/tests/libsvn_wc/tree-conflict-data-test.c
  (test_read_write_tree_conflicts): Create a DB row for the parent directory
    of the conflict victims.

Modified:
    subversion/trunk/subversion/libsvn_wc/wc-checks.sql
    subversion/trunk/subversion/tests/libsvn_wc/tree-conflict-data-test.c

Modified: subversion/trunk/subversion/libsvn_wc/wc-checks.sql
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-checks.sql?rev=1129776&r1=1129775&r2=1129776&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc-checks.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-checks.sql Tue May 31 16:20:21 2011
@@ -62,3 +62,14 @@ BEGIN
   SELECT RAISE(FAIL, 'WC DB validity check 03 failed');
 END;
 
+/* Verify: on every ACTUAL row (except root): a NODES row exists at its
+ * parent path. */
+CREATE TEMP TRIGGER validation_04 BEFORE INSERT ON actual_node
+WHEN NOT (new.local_relpath = ''
+          OR (SELECT COUNT(*) FROM nodes
+              WHERE wc_id = new.wc_id
+                AND local_relpath = new.parent_relpath) >= 1)
+BEGIN
+  SELECT RAISE(FAIL, 'WC DB validity check 04 failed');
+END;
+

Modified: subversion/trunk/subversion/tests/libsvn_wc/tree-conflict-data-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_wc/tree-conflict-data-test.c?rev=1129776&r1=1129775&r2=1129776&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_wc/tree-conflict-data-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_wc/tree-conflict-data-test.c Tue May 31 16:20:21 2011
@@ -198,6 +198,8 @@ test_read_write_tree_conflicts(const svn
 
   SVN_ERR(svn_test__sandbox_create(&sbox, "read_write_tree_conflicts", opts, pool));
   parent_abspath = svn_dirent_join(sbox.wc_abspath, "A", pool);
+  SVN_ERR(svn_wc__db_op_add_directory(sbox.wc_ctx->db, parent_abspath, NULL,
+                                      pool));
   child1_abspath = svn_dirent_join(parent_abspath, "foo", pool);
   child2_abspath = svn_dirent_join(parent_abspath, "bar", pool);