summaryrefslogtreecommitdiff
path: root/subversion/tests/libsvn_wc/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/tests/libsvn_wc/utils.h')
-rw-r--r--subversion/tests/libsvn_wc/utils.h55
1 files changed, 53 insertions, 2 deletions
diff --git a/subversion/tests/libsvn_wc/utils.h b/subversion/tests/libsvn_wc/utils.h
index 3004634..260139d 100644
--- a/subversion/tests/libsvn_wc/utils.h
+++ b/subversion/tests/libsvn_wc/utils.h
@@ -25,6 +25,8 @@
#include <apr_pools.h>
#include "svn_error.h"
+#include "svn_client.h"
+
#include "../svn_test.h"
#ifdef __cplusplus
@@ -53,6 +55,8 @@ typedef struct svn_test__sandbox_t
svn_wc_context_t *wc_ctx;
/* The repository URL. */
const char *repos_url;
+ /* Local path to the repository */
+ const char *repos_dir;
/* The absolute local path of the WC root. */
const char *wc_abspath;
/* A pool that can be used for all allocations. */
@@ -83,7 +87,7 @@ svn_test__sandbox_create(svn_test__sandbox_t *sandbox,
(svn_dirent_join((b)->wc_abspath, (path), (b)->pool))
/* Create a file on disk at PATH, with TEXT as its content. */
-void
+svn_error_t *
sbox_file_write(svn_test__sandbox_t *b, const char *path, const char *text);
/* Schedule for addition the single node that exists on disk at PATH,
@@ -162,6 +166,12 @@ sbox_wc_resolve(svn_test__sandbox_t *b, const char *path, svn_depth_t depth,
/* */
svn_error_t *
+sbox_wc_resolve_prop(svn_test__sandbox_t *b, const char *path,
+ const char *propname,
+ svn_wc_conflict_choice_t conflict_choice);
+
+/* */
+svn_error_t *
sbox_wc_move(svn_test__sandbox_t *b, const char *src, const char *dst);
/* Set property NAME to VALUE on PATH. If VALUE=NULL, delete the property. */
@@ -175,6 +185,39 @@ sbox_wc_propset(svn_test__sandbox_t *b,
svn_error_t *
sbox_add_and_commit_greek_tree(svn_test__sandbox_t *b);
+/* Initial data to store in NODES */
+typedef struct svn_test__nodes_data_t
+{
+ int op_depth;
+ const char *local_relpath;
+ const char *presence;
+ int repos_id;
+ const char *repos_relpath;
+ svn_revnum_t revision;
+ svn_boolean_t moved_here;
+ const char *moved_to;
+ svn_node_kind_t kind;
+ const char *properties;
+ const char *depth;
+ const char *checksum;
+ const char *symlink_target;
+ svn_revnum_t last_revision;
+ apr_time_t last_date;
+ const char *last_author;
+ svn_boolean_t file_external;
+ const char *inherited_props;
+ svn_filesize_t recorded_size;
+ apr_time_t recorded_time;
+} svn_test__nodes_data_t;
+
+/* Initial data to store in ACTUAL */
+typedef struct svn_test__actual_data_t
+{
+ const char *local_relpath;
+ const char *properties;
+ const char *changelist;
+ const char *conflict_data;
+} svn_test__actual_data_t;
/* Create a WC directory at WC_ABSPATH containing a fake WC DB, generated by
* executing the SQL statements EXTRA_STATEMENTS in addition to the standard
@@ -182,10 +225,18 @@ sbox_add_and_commit_greek_tree(svn_test__sandbox_t *b);
svn_error_t *
svn_test__create_fake_wc(const char *wc_abspath,
const char *extra_statements,
- apr_pool_t *result_pool,
+ const svn_test__nodes_data_t nodes[],
+ const svn_test__actual_data_t actuals[],
apr_pool_t *scratch_pool);
+/* Create a client context for the specified sandbox */
+svn_error_t *
+svn_test__create_client_ctx(svn_client_ctx_t **ctx,
+ svn_test__sandbox_t *sbox,
+ apr_pool_t *result_pool);
+
+
#ifdef __cplusplus
}
#endif /* __cplusplus */