subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Shahaf <...@daniel.shahaf.name>
Subject Re: svn commit: r1075942 - in /subversion/trunk: notes/wc-ng/pristine-store subversion/libsvn_wc/wc_db.h subversion/libsvn_wc/wc_db_pristine.c subversion/tests/libsvn_wc/pristine-store-test.c
Date Wed, 02 Mar 2011 04:08:11 GMT
Daniel Shahaf wrote on Wed, Mar 02, 2011 at 05:44:14 +0200:
> julianfoad@apache.org wrote on Tue, Mar 01, 2011 at 17:47:05 -0000:
> > +    SVN_TEST_ASSERT(err != NULL);
> > +    SVN_TEST_ASSERT(err->apr_err == SVN_ERR_WC_CORRUPT_TEXT_BASE);

Perhaps something along these lines?

[[[
Index: subversion/tests/svn_test.h
===================================================================
--- subversion/tests/svn_test.h	(revision 1075469)
+++ subversion/tests/svn_test.h	(working copy)
@@ -67,6 +67,19 @@ extern "C" {
           tst_str2, tst_str1);                                      \
   } while(0)
 
+/** Handy macro for testing expected error codes.
+ */
+#define SVN_TEST_ERR_ASSERT(err, expected_apr_err)                    \
+  do {                                                                \
+    apr_status_t expected = (expected_apr_err);                       \
+    svn_error_t *svn_err__temp = (expr);                              \
+    apr_status_t *apr_err = (svn_err__temp ? svn_err__temp->apr_err   \
+                                           : 0);                      \
+    if (apr_err != expected)                                          \
+      return svn_error_createf(SVN_ERR_TEST_FAILED, NULL,             \
+                               "Expected error E%06d, but got E%06d", \
+                               expected, apr_err);                    \
+  }
 
 /* Baton for any arguments that need to be passed from main() to svn
  * test functions.
]]]

(it should learn to distinguish NULL from ->apr_err == 0 before
commit, though.)

Mime
View raw message