diff options
Diffstat (limited to 'subversion/tests/libsvn_delta/random-test.c')
-rw-r--r-- | subversion/tests/libsvn_delta/random-test.c | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/subversion/tests/libsvn_delta/random-test.c b/subversion/tests/libsvn_delta/random-test.c index 209ab1d..600989a 100644 --- a/subversion/tests/libsvn_delta/random-test.c +++ b/subversion/tests/libsvn_delta/random-test.c @@ -109,12 +109,9 @@ open_tempfile(const char *name_template, apr_pool_t *pool) { apr_status_t apr_err; apr_file_t *fp = NULL; - char *templ; - - if (!name_template) - templ = apr_pstrdup(pool, "tempfile_XXXXXX"); - else - templ = apr_pstrdup(pool, name_template); + char *templ = (char *)apr_pstrdup( + pool, svn_test_data_path( + name_template ? name_template : "tempfile_XXXXXX", pool)); apr_err = apr_file_mktemp(&fp, templ, 0, pool); assert(apr_err == 0); @@ -283,9 +280,10 @@ copy_tempfile(apr_file_t *fp, apr_pool_t *pool) -/* Implements svn_test_driver_t. */ +/* (Note: *LAST_SEED is an output parameter.) */ static svn_error_t * -random_test(apr_pool_t *pool) +do_random_test(apr_pool_t *pool, + apr_uint32_t *last_seed) { apr_uint32_t seed, maxlen; apr_size_t bytes_range; @@ -300,7 +298,7 @@ random_test(apr_pool_t *pool) for (i = 0; i < iterations; i++) { /* Generate source and target for the delta and its application. */ - apr_uint32_t subseed_base = svn_test_rand(&seed); + apr_uint32_t subseed_base = svn_test_rand((*last_seed = seed, &seed)); apr_file_t *source = generate_random_file(maxlen, subseed_base, &seed, random_bytes, bytes_range, dump_files, pool); @@ -360,6 +358,17 @@ random_test(apr_pool_t *pool) return SVN_NO_ERROR; } +/* Implements svn_test_driver_t. */ +static svn_error_t * +random_test(apr_pool_t *pool) +{ + apr_uint32_t seed; + svn_error_t *err = do_random_test(pool, &seed); + if (err) + fprintf(stderr, "SEED: %lu\n", (unsigned long)seed); + return err; +} + /* (Note: *LAST_SEED is an output parameter.) */ @@ -500,6 +509,8 @@ random_combine_test(apr_pool_t *pool) { apr_uint32_t seed; svn_error_t *err = do_random_combine_test(pool, &seed); + if (err) + fprintf(stderr, "SEED: %lu\n", (unsigned long)seed); return err; } @@ -513,7 +524,9 @@ random_combine_test(apr_pool_t *pool) /* The test table. */ -struct svn_test_descriptor_t test_funcs[] = +static int max_threads = 1; + +static struct svn_test_descriptor_t test_funcs[] = { SVN_TEST_NULL, SVN_TEST_PASS2(random_test, @@ -526,3 +539,5 @@ struct svn_test_descriptor_t test_funcs[] = #endif SVN_TEST_NULL }; + +SVN_TEST_MAIN |