Author: rhuijben
Date: Tue Jan 22 01:55:32 2013
New Revision: 1436723
URL: http://svn.apache.org/viewvc?rev=1436723&view=rev
Log:
Switch diff-diff3-test.c to using our current io apis instead of the apr ones
that need the binary flag to avoid platform differences.
* subversion/tests/libsvn_diff/diff-diff3-test.c
(make_random_file,
make_file,
three_way_merge,
two_way_diff,
make_random_merge_file,
random_trivial_merge,
random_three_way_merge,
merge_with_part_already_present): Use svn_io_* instead of apr_file_*.
Modified:
subversion/trunk/subversion/tests/libsvn_diff/diff-diff3-test.c
Modified: subversion/trunk/subversion/tests/libsvn_diff/diff-diff3-test.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_diff/diff-diff3-test.c?rev=1436723&r1=1436722&r2=1436723&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_diff/diff-diff3-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_diff/diff-diff3-test.c Tue Jan 22
01:55:32 2013
@@ -76,16 +76,14 @@ make_random_file(const char *filename,
apr_pool_t *pool)
{
apr_file_t *file;
- apr_status_t status;
int num_lines;
num_lines = range_rand(min_lines, max_lines);
- status = apr_file_open(&file, filename,
- APR_WRITE | APR_CREATE | APR_TRUNCATE, APR_OS_DEFAULT,
- pool);
- if (status)
- return svn_error_createf(status, NULL, "failed to open '%s'", filename);
+ SVN_ERR(svn_io_file_open(&file, filename,
+ APR_WRITE | APR_CREATE | APR_TRUNCATE,
+ APR_OS_DEFAULT,
+ pool));
while (num_lines--)
{
@@ -100,9 +98,7 @@ make_random_file(const char *filename,
apr_file_printf(file, "line %d line %d line %d", x, x, x);
}
- status = apr_file_close(file);
- if (status)
- return svn_error_createf(status, NULL, "failed to close '%s'", filename);
+ SVN_ERR(svn_io_file_close(file, pool));
return SVN_NO_ERROR;
}
@@ -117,19 +113,15 @@ make_file(const char *filename,
apr_file_t *file;
apr_status_t status;
- status = apr_file_open(&file, filename,
- APR_WRITE | APR_CREATE | APR_TRUNCATE, APR_OS_DEFAULT,
- pool);
- if (status)
- return svn_error_createf(status, NULL, "failed to open '%s'", filename);
+ SVN_ERR(svn_io_file_open(&file, filename,
+ APR_WRITE | APR_CREATE | APR_TRUNCATE,
+ APR_OS_DEFAULT, pool));
status = apr_file_write_full(file, contents, strlen(contents), NULL);
if (status)
return svn_error_createf(status, NULL, "failed to write '%s'", filename);
- status = apr_file_close(file);
- if (status)
- return svn_error_createf(status, NULL, "failed to close '%s'", filename);
+ SVN_ERR(svn_io_file_close(file, pool));
return SVN_NO_ERROR;
}
@@ -159,7 +151,6 @@ three_way_merge(const char *filename1,
svn_diff_t *diff;
apr_file_t *output;
svn_stream_t *ostream;
- apr_status_t status;
svn_stringbuf_t *actual;
char *merge_name = apr_psprintf(pool, "merge-%s-%s-%s",
filename1, filename2, filename3);
@@ -199,34 +190,29 @@ three_way_merge(const char *filename1,
SVN_ERR(svn_diff_file_diff3_2(&diff, filename1, filename2, filename3,
options, pool));
- status = apr_file_open(&output, merge_name,
- APR_WRITE | APR_CREATE | APR_TRUNCATE, APR_OS_DEFAULT,
- pool);
- if (status)
- return svn_error_createf(status, NULL, "failed to open '%s'", merge_name);
+ SVN_ERR(svn_io_file_open(&output, merge_name,
+ APR_WRITE | APR_CREATE | APR_TRUNCATE,
+ APR_OS_DEFAULT, pool));
- ostream = svn_stream_from_aprfile(output, pool);
+ ostream = svn_stream_from_aprfile2(output, FALSE, pool);
SVN_ERR(svn_diff_file_output_merge2(ostream, diff,
filename1, filename2, filename3,
NULL, NULL, NULL, NULL,
style,
pool));
SVN_ERR(svn_stream_close(ostream));
- status = apr_file_close(output);
- if (status)
- return svn_error_createf(status, NULL, "failed to close '%s'", merge_name);
- SVN_ERR(svn_stringbuf_from_file(&actual, merge_name, pool));
+ SVN_ERR(svn_stringbuf_from_file2(&actual, merge_name, pool));
if (strcmp(actual->data, expected))
return svn_error_createf(SVN_ERR_TEST_FAILED, NULL,
"failed merging diff '%s' to '%s' into '%s'",
filename1, filename2, filename3);
- SVN_ERR(svn_io_remove_file(filename1, pool));
+ SVN_ERR(svn_io_remove_file2(filename1, TRUE, pool));
if (strcmp(filename1, filename2))
- SVN_ERR(svn_io_remove_file(filename2, pool));
+ SVN_ERR(svn_io_remove_file2(filename2, TRUE, pool));
if (strcmp(filename1, filename3) && strcmp(filename2, filename3))
- SVN_ERR(svn_io_remove_file(filename3, pool));
- SVN_ERR(svn_io_remove_file(merge_name, pool));
+ SVN_ERR(svn_io_remove_file2(filename3, TRUE, pool));
+ SVN_ERR(svn_io_remove_file2(merge_name, TRUE, pool));
return SVN_NO_ERROR;
}
@@ -252,7 +238,6 @@ two_way_diff(const char *filename1,
svn_diff_t *diff;
apr_file_t *output;
svn_stream_t *ostream;
- apr_status_t status;
svn_stringbuf_t *actual;
char *diff_name = apr_psprintf(pool, "diff-%s-%s", filename1, filename2);
@@ -285,26 +270,23 @@ two_way_diff(const char *filename1,
/* Check that two-way diff between contents1 and contents2 produces
expected output. */
SVN_ERR(svn_diff_file_diff_2(&diff, filename1, filename2, options, pool));
- status = apr_file_open(&output, diff_name,
- APR_WRITE | APR_CREATE | APR_TRUNCATE, APR_OS_DEFAULT,
- pool);
- if (status)
- return svn_error_createf(status, NULL, "failed to open '%s'", diff_name);
- ostream = svn_stream_from_aprfile(output, pool);
+ SVN_ERR(svn_io_file_open(&output, diff_name,
+ APR_WRITE | APR_CREATE | APR_TRUNCATE,
+ APR_OS_DEFAULT, pool));
+
+ ostream = svn_stream_from_aprfile2(output, FALSE, pool);
SVN_ERR(svn_diff_file_output_unified2(ostream, diff,
filename1, filename2,
filename1, filename2,
SVN_APR_LOCALE_CHARSET, pool));
SVN_ERR(svn_stream_close(ostream));
- status = apr_file_close(output);
- if (status)
- return svn_error_createf(status, NULL, "failed to close '%s'", diff_name);
- SVN_ERR(svn_stringbuf_from_file(&actual, diff_name, pool));
+ SVN_ERR(svn_stringbuf_from_file2(&actual, diff_name, pool));
if (strcmp(actual->data, expected))
return svn_error_createf(SVN_ERR_TEST_FAILED, NULL,
- "failed comparing '%s' and '%s'",
+ "failed comparing '%s' and '%s'"
+ " (memory and file results are different)",
filename1, filename2);
/* May as well do the trivial merges while we are here */
@@ -317,7 +299,7 @@ two_way_diff(const char *filename1,
svn_diff_conflict_display_modified_latest,
pool));
- SVN_ERR(svn_io_remove_file(diff_name, pool));
+ SVN_ERR(svn_io_remove_file2(diff_name, TRUE, pool));
return SVN_NO_ERROR;
}
@@ -373,14 +355,11 @@ make_random_merge_file(const char *filen
apr_pool_t *pool)
{
apr_file_t *file;
- apr_status_t status;
int i;
- status = apr_file_open(&file, filename,
- APR_WRITE | APR_CREATE | APR_TRUNCATE, APR_OS_DEFAULT,
- pool);
- if (status)
- return svn_error_createf(status, NULL, "failed to open '%s'", filename);
+ SVN_ERR(svn_io_file_open(&file, filename,
+ APR_WRITE | APR_CREATE | APR_TRUNCATE,
+ APR_OS_DEFAULT, pool));
for (i = 0; i < num_lines; ++i)
{
@@ -413,9 +392,7 @@ make_random_merge_file(const char *filen
}
}
- status = apr_file_close(file);
- if (status)
- return svn_error_createf(status, NULL, "failed to close '%s'", filename);
+ SVN_ERR(svn_io_file_close(file, pool));
return SVN_NO_ERROR;
}
@@ -2193,8 +2170,8 @@ random_trivial_merge(apr_pool_t *pool)
min_lines, max_lines, var_lines, block_lines,
i % 2, subpool));
- SVN_ERR(svn_stringbuf_from_file(&contents1, filename1, subpool));
- SVN_ERR(svn_stringbuf_from_file(&contents2, filename2, subpool));
+ SVN_ERR(svn_stringbuf_from_file2(&contents1, filename1, subpool));
+ SVN_ERR(svn_stringbuf_from_file2(&contents2, filename2, subpool));
SVN_ERR(three_way_merge(filename1, filename2, filename1,
contents1->data, contents2->data,
@@ -2262,10 +2239,10 @@ random_three_way_merge(apr_pool_t *pool)
SVN_ERR(make_random_merge_file(filename4, num_lines, mrg_lines,
num_src + num_dst, pool));
- SVN_ERR(svn_stringbuf_from_file(&original, filename1, pool));
- SVN_ERR(svn_stringbuf_from_file(&modified1, filename2, pool));
- SVN_ERR(svn_stringbuf_from_file(&modified2, filename3, pool));
- SVN_ERR(svn_stringbuf_from_file(&combined, filename4, pool));
+ SVN_ERR(svn_stringbuf_from_file2(&original, filename1, pool));
+ SVN_ERR(svn_stringbuf_from_file2(&modified1, filename2, pool));
+ SVN_ERR(svn_stringbuf_from_file2(&modified2, filename3, pool));
+ SVN_ERR(svn_stringbuf_from_file2(&combined, filename4, pool));
SVN_ERR(three_way_merge(filename1, filename2, filename3,
original->data, modified1->data,
@@ -2278,7 +2255,7 @@ random_three_way_merge(apr_pool_t *pool)
svn_diff_conflict_display_modified_latest,
subpool));
- SVN_ERR(svn_io_remove_file(filename4, pool));
+ SVN_ERR(svn_io_remove_file2(filename4, TRUE, pool));
svn_pool_clear(subpool);
}
@@ -2335,10 +2312,10 @@ merge_with_part_already_present(apr_pool
SVN_ERR(make_random_merge_file(filename4, num_lines, mrg_lines,
num_src + num_dst / 2, pool));
- SVN_ERR(svn_stringbuf_from_file(&original, filename1, pool));
- SVN_ERR(svn_stringbuf_from_file(&modified1, filename2, pool));
- SVN_ERR(svn_stringbuf_from_file(&modified2, filename3, pool));
- SVN_ERR(svn_stringbuf_from_file(&combined, filename4, pool));
+ SVN_ERR(svn_stringbuf_from_file2(&original, filename1, pool));
+ SVN_ERR(svn_stringbuf_from_file2(&modified1, filename2, pool));
+ SVN_ERR(svn_stringbuf_from_file2(&modified2, filename3, pool));
+ SVN_ERR(svn_stringbuf_from_file2(&combined, filename4, pool));
SVN_ERR(three_way_merge(filename1, filename2, filename3,
original->data, modified1->data,
@@ -2351,7 +2328,7 @@ merge_with_part_already_present(apr_pool
svn_diff_conflict_display_modified_latest,
subpool));
- SVN_ERR(svn_io_remove_file(filename4, pool));
+ SVN_ERR(svn_io_remove_file2(filename4, TRUE, pool));
svn_pool_clear(subpool);
}