You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2012/06/26 21:28:22 UTC
svn commit: r1354186 [32/33] - in /subversion/branches/inheritable-props: ./
build/ build/ac-macros/ build/generator/ build/generator/templates/
build/win32/ contrib/client-side/emacs/ contrib/server-side/ notes/
notes/api-errata/1.8/ notes/directory-i...
Modified: subversion/branches/inheritable-props/subversion/tests/cmdline/update_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/cmdline/update_tests.py?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/cmdline/update_tests.py (original)
+++ subversion/branches/inheritable-props/subversion/tests/cmdline/update_tests.py Tue Jun 26 19:26:49 2012
@@ -109,7 +109,7 @@ def update_binary_file(sbox):
# Add a binary file to the project.
theta_contents = open(os.path.join(sys.path[0], "theta.bin"), 'rb').read()
# Write PNG file data into 'A/theta'.
- theta_path = os.path.join(wc_dir, 'A', 'theta')
+ theta_path = sbox.ospath('A/theta')
svntest.main.file_write(theta_path, theta_contents, 'wb')
svntest.main.run_svn(None, 'add', theta_path)
@@ -226,9 +226,9 @@ def update_binary_file_2(sbox):
zeta_contents = zeta_contents + zeta_contents
# Write our two files' contents out to disk, in A/theta and A/zeta.
- theta_path = os.path.join(wc_dir, 'A', 'theta')
+ theta_path = sbox.ospath('A/theta')
svntest.main.file_write(theta_path, theta_contents, 'wb')
- zeta_path = os.path.join(wc_dir, 'A', 'zeta')
+ zeta_path = sbox.ospath('A/zeta')
svntest.main.file_write(zeta_path, zeta_contents, 'wb')
# Now, `svn add' those two files.
@@ -310,7 +310,6 @@ def update_binary_file_2(sbox):
#----------------------------------------------------------------------
-@XFail()
@Issue(4128)
def update_binary_file_3(sbox):
"update locally modified file to equal versions"
@@ -322,7 +321,7 @@ def update_binary_file_3(sbox):
theta_contents = open(os.path.join(sys.path[0], "theta.bin"), 'rb').read()
# Write our files contents out to disk, in A/theta.
- theta_path = os.path.join(wc_dir, 'A', 'theta')
+ theta_path = sbox.ospath('A/theta')
svntest.main.file_write(theta_path, theta_contents, 'wb')
# Now, `svn add' that file.
@@ -367,7 +366,7 @@ def update_binary_file_3(sbox):
# Create expected output tree for an update to rev 2.
expected_output = svntest.wc.State(wc_dir, {
- 'A/theta' : Item(status=' '),
+ 'A/theta' : Item(status='G '),
})
# Create expected disk tree for the update
@@ -403,10 +402,10 @@ def update_missing(sbox):
wc_dir = sbox.wc_dir
# Remove some files and dirs from the working copy.
- mu_path = os.path.join(wc_dir, 'A', 'mu')
- rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
- E_path = os.path.join(wc_dir, 'A', 'B', 'E')
- H_path = os.path.join(wc_dir, 'A', 'D', 'H')
+ mu_path = sbox.ospath('A/mu')
+ rho_path = sbox.ospath('A/D/G/rho')
+ E_path = sbox.ospath('A/B/E')
+ H_path = sbox.ospath('A/D/H')
# remove two files to verify that they get restored
os.remove(mu_path)
@@ -460,18 +459,18 @@ def update_ignores_added(sbox):
wc_dir = sbox.wc_dir
# Commit something so there's actually a new revision to update to.
- rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
+ rho_path = sbox.ospath('A/D/G/rho')
svntest.main.file_append(rho_path, "More stuff in rho.\n")
svntest.main.run_svn(None,
'ci', '-m', 'log msg', rho_path)
# Create a new file, 'zeta', and schedule it for addition.
- zeta_path = os.path.join(wc_dir, 'A', 'B', 'zeta')
+ zeta_path = sbox.ospath('A/B/zeta')
svntest.main.file_append(zeta_path, "This is the file 'zeta'.\n")
svntest.main.run_svn(None, 'add', zeta_path)
# Schedule another file, say, 'gamma', for replacement.
- gamma_path = os.path.join(wc_dir, 'A', 'D', 'gamma')
+ gamma_path = sbox.ospath('A/D/gamma')
svntest.main.run_svn(None, 'delete', gamma_path)
svntest.main.file_append(gamma_path, "This is a new 'gamma' now.\n")
svntest.main.run_svn(None, 'add', gamma_path)
@@ -519,8 +518,8 @@ def update_to_rev_zero(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- iota_path = os.path.join(wc_dir, 'iota')
- A_path = os.path.join(wc_dir, 'A')
+ iota_path = sbox.ospath('iota')
+ A_path = sbox.ospath('A')
# Create expected output tree for an update to rev 0
expected_output = svntest.wc.State(wc_dir, {
@@ -566,7 +565,7 @@ def receive_overlapping_same_change(sbox
wc_dir = sbox.wc_dir
# Modify iota.
- iota_path = os.path.join(wc_dir, 'iota')
+ iota_path = sbox.ospath('iota')
svntest.main.file_append(iota_path, "A change to iota.\n")
# Duplicate locally modified wc, giving us the "other" wc.
@@ -619,8 +618,8 @@ def update_to_resolve_text_conflicts(sbo
svntest.actions.duplicate_dir(wc_dir, wc_backup)
# Make a couple of local mods to files which will be committed
- mu_path = os.path.join(wc_dir, 'A', 'mu')
- rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
+ mu_path = sbox.ospath('A/mu')
+ rho_path = sbox.ospath('A/D/G/rho')
svntest.main.file_append(mu_path, 'Original appended text for mu\n')
svntest.main.file_append(rho_path, 'Original appended text for rho\n')
svntest.main.run_svn(None, 'propset', 'Kubla', 'Khan', rho_path)
@@ -729,12 +728,12 @@ def update_delete_modified_files(sbox):
wc_dir = sbox.wc_dir
# Delete a file
- alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
+ alpha_path = sbox.ospath('A/B/E/alpha')
svntest.actions.run_and_verify_svn("Deleting alpha failed", None, [],
'rm', alpha_path)
# Delete a directory containing files
- G_path = os.path.join(wc_dir, 'A', 'D', 'G')
+ G_path = sbox.ospath('A/D/G')
svntest.actions.run_and_verify_svn("Deleting G failed", None, [],
'rm', G_path)
@@ -809,8 +808,8 @@ def update_after_add_rm_deleted(sbox):
wc_dir = sbox.wc_dir
# Delete a file and directory from WC
- alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ alpha_path = sbox.ospath('A/B/E/alpha')
+ F_path = sbox.ospath('A/B/F')
svntest.actions.run_and_verify_svn(None, None, [], 'rm', alpha_path, F_path)
# Commit deletion
@@ -886,7 +885,7 @@ def obstructed_update_alters_wc_props(sb
# Create an obstruction, a file in the WC with the same name as
# present in a newer rev of the repo.
#print "Creating obstruction"
- obstruction_parent_path = os.path.join(wc_dir, 'A')
+ obstruction_parent_path = sbox.ospath('A')
obstruction_path = os.path.join(obstruction_parent_path, 'foo')
svntest.main.file_append(obstruction_path, 'an obstruction')
@@ -952,7 +951,7 @@ def update_replace_dir(sbox):
wc_dir = sbox.wc_dir
# Delete a directory
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ F_path = sbox.ospath('A/B/F')
svntest.actions.run_and_verify_svn(None, None, [], 'rm', F_path)
# Commit deletion
@@ -1025,7 +1024,7 @@ def update_single_file(sbox):
expected_disk = svntest.main.greek_state.copy()
# Make a local mod to a file which will be committed
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ mu_path = sbox.ospath('A/mu')
svntest.main.file_append(mu_path, '\nAppended text for mu')
# Commit.
@@ -1041,7 +1040,7 @@ def update_single_file(sbox):
# At one stage 'svn up file' failed with a parent lock error
was_cwd = os.getcwd()
- os.chdir(os.path.join(wc_dir, 'A'))
+ os.chdir(sbox.ospath('A'))
### Can't get run_and_verify_update to work having done the chdir.
svntest.actions.run_and_verify_svn("update failed", None, [],
@@ -1064,7 +1063,7 @@ def prop_update_on_scheduled_delete(sbox
# Make the "other" working copy.
svntest.actions.duplicate_dir(wc_dir, other_wc)
- iota_path = os.path.join(wc_dir, 'iota')
+ iota_path = sbox.ospath('iota')
other_iota_path = os.path.join(other_wc, 'iota')
svntest.main.run_svn(None, 'propset', 'foo', 'bar', iota_path)
@@ -1149,8 +1148,8 @@ def update_deleted_missing_dir(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- E_path = os.path.join(wc_dir, 'A', 'B', 'E')
- H_path = os.path.join(wc_dir, 'A', 'D', 'H')
+ E_path = sbox.ospath('A/B/E')
+ H_path = sbox.ospath('A/D/H')
# Create a new revision with directories deleted
svntest.main.run_svn(None, 'rm', E_path)
@@ -1233,7 +1232,7 @@ def another_hudson_problem(sbox):
wc_dir = sbox.wc_dir
# Delete/commit gamma thus making it 'deleted'
- gamma_path = os.path.join(wc_dir, 'A', 'D', 'gamma')
+ gamma_path = sbox.ospath('A/D/gamma')
svntest.main.run_svn(None, 'rm', gamma_path)
expected_output = svntest.wc.State(wc_dir, {
@@ -1255,7 +1254,7 @@ def another_hudson_problem(sbox):
sbox.repo_url + '/A/D/G')
# Remove corresponding tree from working copy
- G_path = os.path.join(wc_dir, 'A', 'D', 'G')
+ G_path = sbox.ospath('A/D/G')
svntest.main.safe_rmtree(G_path)
# Update missing directory to receive the delete, this should mark G
@@ -1305,8 +1304,8 @@ def update_deleted_targets(sbox):
wc_dir = sbox.wc_dir
# Delete/commit thus creating 'deleted=true' entries
- gamma_path = os.path.join(wc_dir, 'A', 'D', 'gamma')
- F_path = os.path.join(wc_dir, 'A', 'B', 'F')
+ gamma_path = sbox.ospath('A/D/gamma')
+ F_path = sbox.ospath('A/B/F')
svntest.main.run_svn(None, 'rm', gamma_path, F_path)
expected_output = svntest.wc.State(wc_dir, {
@@ -1392,8 +1391,8 @@ def non_recursive_update(sbox):
wc_dir = sbox.wc_dir
# Commit a change to A/mu and A/D/G/rho
- mu_path = os.path.join(wc_dir, 'A', 'mu')
- rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
+ mu_path = sbox.ospath('A/mu')
+ rho_path = sbox.ospath('A/D/G/rho')
svntest.main.file_append(mu_path, "new")
svntest.main.file_append(rho_path, "new")
@@ -1426,7 +1425,7 @@ def non_recursive_update(sbox):
'-r', '1', wc_dir)
# Non-recursive update of A should change A/mu but not A/D/G/rho
- A_path = os.path.join(wc_dir, 'A')
+ A_path = sbox.ospath('A')
expected_output = svntest.wc.State(wc_dir, {
'A/mu' : Item(status='U '),
@@ -1470,7 +1469,7 @@ def update_to_deletion(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- iota_path = os.path.join(wc_dir, 'iota')
+ iota_path = sbox.ospath('iota')
# Update iota to rev 0, so it gets removed.
expected_output = svntest.wc.State(wc_dir, {
@@ -1510,7 +1509,7 @@ def update_deletion_inside_out(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- parent_path = os.path.join(wc_dir, 'A', 'B')
+ parent_path = sbox.ospath('A/B')
child_path = os.path.join(parent_path, 'E') # Could be a file, doesn't matter
# Delete the parent directory.
@@ -1553,7 +1552,7 @@ def update_schedule_add_dir(sbox):
wc_dir = sbox.wc_dir
# Delete directory A/D/G in the repository via immediate commit
- G_path = os.path.join(wc_dir, 'A', 'D', 'G')
+ G_path = sbox.ospath('A/D/G')
G_url = sbox.repo_url + '/A/D/G'
svntest.actions.run_and_verify_svn(None, None, [],
'rm', G_url, '-m', 'rev 2')
@@ -1576,7 +1575,7 @@ def update_schedule_add_dir(sbox):
# Do a URL->wc copy, creating a new schedule-add A/D/G.
# (Standard procedure when trying to resurrect the directory.)
- D_path = os.path.join(wc_dir, 'A', 'D')
+ D_path = sbox.ospath('A/D')
svntest.actions.run_and_verify_svn("Copy error:", None, [],
'cp', G_url + '@1', D_path)
@@ -1627,7 +1626,7 @@ def update_to_future_add(sbox):
'-r', '0', wc_dir)
# Update iota to the current HEAD.
- iota_path = os.path.join(wc_dir, 'iota')
+ iota_path = sbox.ospath('iota')
expected_output = svntest.wc.State(wc_dir, {
'iota' : Item(status='A '),
@@ -1645,7 +1644,7 @@ def update_to_future_add(sbox):
iota_path)
# Now try updating the directory into the future
- A_path = os.path.join(wc_dir, 'A')
+ A_path = sbox.ospath('A')
expected_output = svntest.wc.State(wc_dir, {
'A' : Item(status='A '),
@@ -1690,7 +1689,7 @@ def nested_in_read_only(sbox):
raise svntest.Skip('Unsupported in single-db')
# Delete/commit a file
- alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
+ alpha_path = sbox.ospath('A/B/E/alpha')
svntest.actions.run_and_verify_svn(None, None, [], 'rm', alpha_path)
expected_output = svntest.wc.State(wc_dir, {
@@ -1710,7 +1709,7 @@ def nested_in_read_only(sbox):
svntest.actions.run_and_verify_status(wc_dir, expected_status)
# Delete/commit a directory that used to contain the deleted file
- B_path = os.path.join(wc_dir, 'A', 'B')
+ B_path = sbox.ospath('A/B')
svntest.actions.run_and_verify_svn(None, None, [], 'rm', B_path)
expected_output = svntest.wc.State(wc_dir, {
@@ -1789,7 +1788,7 @@ def update_xml_unsafe_dir(sbox):
svntest.actions.duplicate_dir(wc_dir, wc_backup)
# Make a couple of local mods to files
- test_path = os.path.join(wc_dir, ' foo & bar')
+ test_path = sbox.ospath(' foo & bar')
svntest.main.run_svn(None, 'mkdir', test_path)
# Created expected output tree for 'svn ci'
@@ -1838,7 +1837,7 @@ def conflict_markers_matching_eol(sbox):
wc_dir = sbox.wc_dir
filecount = 1
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ mu_path = sbox.ospath('A/mu')
if os.name == 'nt':
crlf = '\n'
@@ -1969,7 +1968,7 @@ def update_eolstyle_handling(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ mu_path = sbox.ospath('A/mu')
if os.name == 'nt':
crlf = '\n'
@@ -2067,8 +2066,8 @@ def update_copy_of_old_rev(sbox):
sbox.build()
wc_dir = sbox.wc_dir
- dir = os.path.join(wc_dir, 'A')
- dir2 = os.path.join(wc_dir, 'A2')
+ dir = sbox.ospath('A')
+ dir2 = sbox.ospath('A2')
file = os.path.join(dir, 'mu')
file2 = os.path.join(dir2, 'mu')
url = sbox.repo_url + '/A/mu'
@@ -2115,21 +2114,21 @@ def forced_update(sbox):
svntest.actions.duplicate_dir(wc_dir, wc_backup)
# Make a couple of local mods to files
- mu_path = os.path.join(wc_dir, 'A', 'mu')
- rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
+ mu_path = sbox.ospath('A/mu')
+ rho_path = sbox.ospath('A/D/G/rho')
svntest.main.file_append(mu_path, 'appended mu text')
svntest.main.file_append(rho_path, 'new appended text for rho')
# Add some files
- nu_path = os.path.join(wc_dir, 'A', 'B', 'F', 'nu')
+ nu_path = sbox.ospath('A/B/F/nu')
svntest.main.file_append(nu_path, "This is the file 'nu'\n")
svntest.main.run_svn(None, 'add', nu_path)
- kappa_path = os.path.join(wc_dir, 'kappa')
+ kappa_path = sbox.ospath('kappa')
svntest.main.file_append(kappa_path, "This is the file 'kappa'\n")
svntest.main.run_svn(None, 'add', kappa_path)
# Add a dir with two files
- I_path = os.path.join(wc_dir, 'A', 'C', 'I')
+ I_path = sbox.ospath('A/C/I')
os.mkdir(I_path)
svntest.main.run_svn(None, 'add', I_path)
upsilon_path = os.path.join(I_path, 'upsilon')
@@ -2254,12 +2253,12 @@ def forced_update_failures(sbox):
svntest.actions.duplicate_dir(wc_dir, wc_backup)
# Add a file
- nu_path = os.path.join(wc_dir, 'A', 'B', 'F', 'nu')
+ nu_path = sbox.ospath('A/B/F/nu')
svntest.main.file_append(nu_path, "This is the file 'nu'\n")
svntest.main.run_svn(None, 'add', nu_path)
# Add a dir
- I_path = os.path.join(wc_dir, 'A', 'C', 'I')
+ I_path = sbox.ospath('A/C/I')
os.mkdir(I_path)
svntest.main.run_svn(None, 'add', I_path)
@@ -2580,8 +2579,8 @@ def update_wc_with_replaced_file(sbox):
svntest.actions.duplicate_dir(wc_dir, wc_backup)
# we need a change in the repository
- iota_path = os.path.join(wc_dir, 'iota')
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ iota_path = sbox.ospath('iota')
+ mu_path = sbox.ospath('A/mu')
iota_bu_path = os.path.join(wc_backup, 'iota')
svntest.main.file_append(iota_bu_path, "New line in 'iota'\n")
svntest.main.run_svn(None,
@@ -2710,17 +2709,17 @@ def update_with_obstructing_additions(sb
#
# A/D/H/I/J/eta: Conflicts with the file scheduled for addition in
# the backup WC. No props.
- upsilon_path = os.path.join(wc_dir, 'A', 'B', 'upsilon')
+ upsilon_path = sbox.ospath('A/B/upsilon')
svntest.main.file_append(upsilon_path, "This is the file 'upsilon'\n")
- nu_path = os.path.join(wc_dir, 'A', 'C', 'nu')
+ nu_path = sbox.ospath('A/C/nu')
svntest.main.file_append(nu_path, "This is the file 'nu'\n")
- kappa_path = os.path.join(wc_dir, 'A', 'D', 'kappa')
+ kappa_path = sbox.ospath('A/D/kappa')
svntest.main.file_append(kappa_path, "This is REPOS file 'kappa'\n")
- epsilon_path = os.path.join(wc_dir, 'A', 'D', 'epsilon')
+ epsilon_path = sbox.ospath('A/D/epsilon')
svntest.main.file_append(epsilon_path, "This is REPOS file 'epsilon'\n")
- zeta_path = os.path.join(wc_dir, 'A', 'D', 'zeta')
+ zeta_path = sbox.ospath('A/D/zeta')
svntest.main.file_append(zeta_path, "This is the file 'zeta'\n")
- I_path = os.path.join(wc_dir, 'A', 'D', 'H', 'I')
+ I_path = sbox.ospath('A/D/H/I')
os.mkdir(I_path)
J_path = os.path.join(I_path, 'J')
os.mkdir(J_path)
@@ -2922,9 +2921,9 @@ def update_with_obstructing_additions(sb
# WC to WC copy of A/D/H to A/M, M now scheduled for addition with
# history in WC and pending addition from the repos.
- H_path = os.path.join(wc_dir, 'A', 'D', 'H')
- A_path = os.path.join(wc_dir, 'A')
- M_path = os.path.join(wc_dir, 'A', 'M')
+ H_path = sbox.ospath('A/D/H')
+ A_path = sbox.ospath('A')
+ M_path = sbox.ospath('A/M')
svntest.actions.run_and_verify_svn("Copy error:", None, [],
'cp', H_path, M_path)
@@ -2938,8 +2937,8 @@ def update_with_obstructing_additions(sb
# WC to WC copy of A/D/H/chi to omicron, omicron now scheduled for
# addition with history in WC and pending addition from the repos.
- chi_path = os.path.join(wc_dir, 'A', 'D', 'H', 'chi')
- omicron_path = os.path.join(wc_dir, 'omicron')
+ chi_path = sbox.ospath('A/D/H/chi')
+ omicron_path = sbox.ospath('omicron')
svntest.actions.run_and_verify_svn("Copy error:", None, [],
'cp', chi_path,
@@ -3056,11 +3055,11 @@ def update_conflicted(sbox):
"update conflicted files"
sbox.build()
wc_dir = sbox.wc_dir
- iota_path = os.path.join(wc_dir, 'iota')
- lambda_path = os.path.join(wc_dir, 'A', 'B', 'lambda')
- mu_path = os.path.join(wc_dir, 'A', 'mu')
- D_path = os.path.join(wc_dir, 'A', 'D')
- pi_path = os.path.join(wc_dir, 'A', 'D', 'G', 'pi')
+ iota_path = sbox.ospath('iota')
+ lambda_path = sbox.ospath('A/B/lambda')
+ mu_path = sbox.ospath('A/mu')
+ D_path = sbox.ospath('A/D')
+ pi_path = sbox.ospath('A/D/G/pi')
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
@@ -3224,20 +3223,20 @@ def mergeinfo_update_elision(sbox):
wc_dir = sbox.wc_dir
# Some paths we'll care about
- alpha_COPY_path = os.path.join(wc_dir, "A", "B_COPY", "E", "alpha")
- alpha_path = os.path.join(wc_dir, "A", "B", "E", "alpha")
- B_COPY_path = os.path.join(wc_dir, "A", "B_COPY")
- E_COPY_path = os.path.join(wc_dir, "A", "B_COPY", "E")
- beta_path = os.path.join(wc_dir, "A", "B", "E", "beta")
- lambda_path = os.path.join(wc_dir, "A", "B", "lambda")
+ alpha_COPY_path = sbox.ospath('A/B_COPY/E/alpha')
+ alpha_path = sbox.ospath('A/B/E/alpha')
+ B_COPY_path = sbox.ospath('A/B_COPY')
+ E_COPY_path = sbox.ospath('A/B_COPY/E')
+ beta_path = sbox.ospath('A/B/E/beta')
+ lambda_path = sbox.ospath('A/B/lambda')
# Make a branch A/B_COPY
expected_stdout = verify.UnorderedOutput([
- "A " + os.path.join(wc_dir, "A", "B_COPY", "lambda") + "\n",
- "A " + os.path.join(wc_dir, "A", "B_COPY", "E") + "\n",
- "A " + os.path.join(wc_dir, "A", "B_COPY", "E", "alpha") + "\n",
- "A " + os.path.join(wc_dir, "A", "B_COPY", "E", "beta") + "\n",
- "A " + os.path.join(wc_dir, "A", "B_COPY", "F") + "\n",
+ "A " + sbox.ospath('A/B_COPY/lambda') + "\n",
+ "A " + sbox.ospath('A/B_COPY/E') + "\n",
+ "A " + sbox.ospath('A/B_COPY/E/alpha') + "\n",
+ "A " + sbox.ospath('A/B_COPY/E/beta') + "\n",
+ "A " + sbox.ospath('A/B_COPY/F') + "\n",
"Checked out revision 1.\n",
"A " + B_COPY_path + "\n",
])
@@ -3725,8 +3724,8 @@ def update_copied_and_deleted_prop(sbox)
sbox.build()
wc_dir = sbox.wc_dir
- iota_path = os.path.join(wc_dir, 'iota')
- iota2_path = os.path.join(wc_dir, 'iota2')
+ iota_path = sbox.ospath('iota')
+ iota2_path = sbox.ospath('iota2')
# Add a property on iota
svntest.actions.run_and_verify_svn(None, None, [],
@@ -3819,13 +3818,13 @@ def update_accept_conflicts(sbox):
svntest.actions.duplicate_dir(wc_dir, wc_backup)
# Make a few local mods to files which will be committed
- iota_path = os.path.join(wc_dir, 'iota')
- lambda_path = os.path.join(wc_dir, 'A', 'B', 'lambda')
- mu_path = os.path.join(wc_dir, 'A', 'mu')
- alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
- beta_path = os.path.join(wc_dir, 'A', 'B', 'E', 'beta')
- pi_path = os.path.join(wc_dir, 'A', 'D', 'G', 'pi')
- rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
+ iota_path = sbox.ospath('iota')
+ lambda_path = sbox.ospath('A/B/lambda')
+ mu_path = sbox.ospath('A/mu')
+ alpha_path = sbox.ospath('A/B/E/alpha')
+ beta_path = sbox.ospath('A/B/E/beta')
+ pi_path = sbox.ospath('A/D/G/pi')
+ rho_path = sbox.ospath('A/D/G/rho')
svntest.main.file_append(lambda_path, 'Their appended text for lambda\n')
svntest.main.file_append(iota_path, 'Their appended text for iota\n')
svntest.main.file_append(mu_path, 'Their appended text for mu\n')
@@ -3915,8 +3914,12 @@ def update_accept_conflicts(sbox):
# Accept the pre-update base file.
svntest.actions.run_and_verify_svn(None,
["Updating '%s':\n" % (mu_path_backup),
- 'G %s\n' % (mu_path_backup,),
- 'Updated to revision 2.\n'],
+ 'C %s\n' % (mu_path_backup,),
+ 'Updated to revision 2.\n',
+ "Resolved conflicted state of '%s'\n"
+ % (mu_path_backup),
+ 'Summary of conflicts:\n',
+ ' Text conflicts: 1\n'],
[],
'update', '--accept=base',
mu_path_backup)
@@ -3925,8 +3928,12 @@ def update_accept_conflicts(sbox):
# Accept the user's working file.
svntest.actions.run_and_verify_svn(None,
["Updating '%s':\n" % (alpha_path_backup),
- 'G %s\n' % (alpha_path_backup,),
- 'Updated to revision 2.\n'],
+ 'C %s\n' % (alpha_path_backup,),
+ 'Updated to revision 2.\n',
+ "Resolved conflicted state of '%s'\n"
+ % (alpha_path_backup),
+ 'Summary of conflicts:\n',
+ ' Text conflicts: 1\n'],
[],
'update', '--accept=mine-full',
alpha_path_backup)
@@ -3935,8 +3942,12 @@ def update_accept_conflicts(sbox):
# Accept their file.
svntest.actions.run_and_verify_svn(None,
["Updating '%s':\n" % (beta_path_backup),
- 'G %s\n' % (beta_path_backup,),
- 'Updated to revision 2.\n'],
+ 'C %s\n' % (beta_path_backup,),
+ 'Updated to revision 2.\n',
+ "Resolved conflicted state of '%s'\n"
+ % (beta_path_backup),
+ 'Summary of conflicts:\n',
+ ' Text conflicts: 1\n'],
[],
'update', '--accept=theirs-full',
beta_path_backup)
@@ -3947,8 +3958,12 @@ def update_accept_conflicts(sbox):
# svn to exit with an exit code of 0.
svntest.actions.run_and_verify_svn2(None,
["Updating '%s':\n" % (pi_path_backup),
- 'G %s\n' % (pi_path_backup,),
- 'Updated to revision 2.\n'],
+ 'C %s\n' % (pi_path_backup,),
+ 'Updated to revision 2.\n',
+ "Resolved conflicted state of '%s'\n"
+ % (pi_path_backup),
+ 'Summary of conflicts:\n',
+ ' Text conflicts: 1\n'],
"system(.*) returned.*", 0,
'update', '--accept=edit',
pi_path_backup)
@@ -4057,7 +4072,7 @@ interactive-conflicts = true
config_dir = os.path.join(tmp_dir, 'interactive-conflicts-config')
svntest.main.create_config_dir(config_dir, config_contents)
- iota_path = os.path.join(wc_dir, 'iota')
+ iota_path = sbox.ospath('iota')
# Modify iota and commit for r2.
svntest.main.file_append(iota_path, "Appended text in r2.\n")
@@ -4096,14 +4111,27 @@ interactive-conflicts = true
wc_dir, '--config-dir', config_dir)
# Now update -r1 again. Hopefully we don't get a checksum error!
- expected_output = svntest.wc.State(wc_dir, {})
+ expected_output = svntest.wc.State(wc_dir, {
+ 'iota': Item(verb="Skipped"),
+ })
+
+ # The interactive callback aborts, so the file remains in conflict.
+ expected_disk.tweak('iota', contents="This is the file 'iota'.\n"
+ "<<<<<<< .mine\n"
+ "Local mods to r1 text.\n"
+ "=======\n"
+ "Appended text in r2.\n"
+ ">>>>>>> .r2\n"),
+ expected_disk.add({
+ 'iota.r1' : Item(contents="This is the file 'iota'.\n"),
+ 'iota.r2' : Item(contents="This is the file 'iota'.\n"
+ "Appended text in r2.\n"),
+ 'iota.mine' : Item(contents="This is the file 'iota'.\n"
+ "Local mods to r1 text.\n"),
+ })
- # note: it's possible that the correct disk here should be the
- # merged file?
- expected_disk.tweak('iota', contents=("This is the file 'iota'.\n"
- "Local mods to r1 text.\n"))
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
- expected_status.tweak('iota', status='M ')
+ expected_status.tweak('iota', status='C ', wc_rev=2)
svntest.actions.run_and_verify_update(wc_dir,
expected_output,
@@ -4155,7 +4183,7 @@ def restarted_update_should_delete_dir_p
sbox.build()
wc_dir = sbox.wc_dir
- A_path = os.path.join(wc_dir, 'A')
+ A_path = sbox.ospath('A')
zeta_path = os.path.join(A_path, 'zeta')
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
@@ -4846,7 +4874,7 @@ def tree_conflict_uc1_update_deleted_tre
]]]
"""
- A = os.path.join(wc_dir, 'A')
+ A = sbox.ospath('A')
def modify_dir(dir):
"""Make some set of local modifications to an existing tree:
@@ -5079,9 +5107,9 @@ def set_deep_depth_on_target_with_shallo
wc_dir = sbox.wc_dir
# Some paths we'll care about
- A_path = os.path.join(wc_dir, "A")
- B_path = os.path.join(wc_dir, "A", "B")
- D_path = os.path.join(wc_dir, "A", "D")
+ A_path = sbox.ospath('A')
+ B_path = sbox.ospath('A/B')
+ D_path = sbox.ospath('A/D')
# Trim the tree: Set A/B to depth empty and A/D to depth immediates.
expected_output = svntest.wc.State(wc_dir, {
@@ -5273,8 +5301,8 @@ def mergeinfo_updates_merge_with_local_m
expected_disk, expected_status = set_up_branch(sbox)
# Some paths we'll care about
- A_path = os.path.join(wc_dir, "A")
- A_COPY_path = os.path.join(wc_dir, "A_COPY")
+ A_path = sbox.ospath('A')
+ A_COPY_path = sbox.ospath('A_COPY')
# Merge -c3 from A to A_COPY at --depth empty, commit as r7.
###
@@ -5326,7 +5354,7 @@ def update_with_excluded_subdir(sbox):
wc_dir = sbox.wc_dir
- G = os.path.join(os.path.join(wc_dir, 'A', 'D', 'G'))
+ G = os.path.join(sbox.ospath('A/D/G'))
# Make the directory 'G' excluded.
expected_output = svntest.wc.State(wc_dir, {
@@ -5364,7 +5392,7 @@ def update_with_file_lock_and_keywords_p
wc_dir = sbox.wc_dir
- mu_path = os.path.join(wc_dir, 'A', 'mu')
+ mu_path = sbox.ospath('A/mu')
svntest.main.file_append(mu_path, '$Id$')
svntest.main.run_svn(None, 'ps', 'svn:keywords', 'Id', mu_path)
svntest.main.run_svn(None, 'lock', mu_path)
@@ -5793,6 +5821,62 @@ def update_nested_move_text_mod(sbox):
None, None, None,
None, None, 1)
+def update_with_parents_and_exclude(sbox):
+ "bring a subtree in over an excluded path"
+
+ sbox.build(read_only = True)
+ wc_dir = sbox.wc_dir
+
+ # Now we are going to exclude A
+ expected_output = svntest.wc.State(wc_dir, {
+ 'A' : Item(status='D '),
+ })
+
+ expected_status = svntest.wc.State(wc_dir, {
+ '' : Item(status=' ', wc_rev='1'),
+ 'iota' : Item(status=' ', wc_rev='1'),
+ })
+
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ None,
+ expected_status,
+ None, None, None,
+ None, None, False,
+ '--set-depth', 'exclude',
+ sbox.ospath('A'))
+
+ expected_output = svntest.wc.State(wc_dir, {
+ 'A' : Item(status='A '),
+ 'A/B' : Item(status='A '),
+ 'A/B/F' : Item(status='A '),
+ 'A/B/E' : Item(status='A '),
+ 'A/B/E/beta' : Item(status='A '),
+ 'A/B/E/alpha' : Item(status='A '),
+ 'A/B/lambda' : Item(status='A '),
+ })
+
+ expected_status = svntest.wc.State(wc_dir, {
+ '' : Item(status=' ', wc_rev='1'),
+ 'A' : Item(status=' ', wc_rev='1'),
+ 'A/B' : Item(status=' ', wc_rev='1'),
+ 'A/B/F' : Item(status=' ', wc_rev='1'),
+ 'A/B/E' : Item(status=' ', wc_rev='1'),
+ 'A/B/E/beta' : Item(status=' ', wc_rev='1'),
+ 'A/B/E/alpha' : Item(status=' ', wc_rev='1'),
+ 'A/B/lambda' : Item(status=' ', wc_rev='1'),
+ 'iota' : Item(status=' ', wc_rev='1'),
+ })
+
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ None,
+ expected_status,
+ None, None, None,
+ None, None, False,
+ '--parents',
+ sbox.ospath('A/B'))
+
#######################################################################
# Run the tests
@@ -5868,6 +5952,7 @@ test_list = [ None,
update_binary_file_3,
update_move_text_mod,
update_nested_move_text_mod,
+ update_with_parents_and_exclude,
]
if __name__ == '__main__':
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_client/client-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_client/client-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_client/client-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_client/client-test.c Tue Jun 26 19:26:49 2012
@@ -689,7 +689,7 @@ test_youngest_common_ancestor(const svn_
repos_url, repos_uuid, 2, "iota", pool),
svn_client__pathrev_create_with_relpath(
repos_url, repos_uuid, 2, "A/iota", pool),
- ctx, pool, pool));
+ NULL, ctx, pool, pool));
SVN_TEST_STRING_ASSERT(svn_client__pathrev_relpath(yc_ancestor, pool),
"iota");
SVN_TEST_ASSERT(yc_ancestor->rev == 1);
@@ -713,7 +713,7 @@ test_youngest_common_ancestor(const svn_
repos_url, repos_uuid, 0, "", pool),
svn_client__pathrev_create_with_relpath(
repos_url, repos_uuid, 3, "A/ROOT", pool),
- ctx, pool, pool));
+ NULL, ctx, pool, pool));
SVN_TEST_STRING_ASSERT(svn_client__pathrev_relpath(yc_ancestor, pool), "");
SVN_TEST_ASSERT(yc_ancestor->rev == 0);
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_delta/random-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_delta/random-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_delta/random-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_delta/random-test.c Tue Jun 26 19:26:49 2012
@@ -189,7 +189,7 @@ generate_random_file(apr_uint32_t maxlen
{
const int ch = (random_bytes
? (unsigned)random_bytes[r % bytes_range]
- : r % bytes_range);
+ : (int)(r % bytes_range));
if (buf == end)
{
apr_size_t ignore_length;
@@ -198,7 +198,7 @@ generate_random_file(apr_uint32_t maxlen
buf = file_buffer;
}
- *buf++ = ch;
+ *buf++ = (char)ch;
r = r * 1103515245 + 12345;
}
}
@@ -336,10 +336,11 @@ random_test(apr_pool_t *pool)
delta_pool);
/* Make stage 1: create the text delta. */
- svn_txdelta(&txdelta_stream,
- svn_stream_from_aprfile(source, delta_pool),
- svn_stream_from_aprfile(target, delta_pool),
- delta_pool);
+ svn_txdelta2(&txdelta_stream,
+ svn_stream_from_aprfile(source, delta_pool),
+ svn_stream_from_aprfile(target, delta_pool),
+ FALSE,
+ delta_pool);
SVN_ERR(svn_txdelta_send_txstream(txdelta_stream,
handler,
@@ -421,15 +422,17 @@ do_random_combine_test(apr_pool_t *pool,
/* Make stage 1: create the text deltas. */
- svn_txdelta(&txdelta_stream_A,
- svn_stream_from_aprfile(source, delta_pool),
- svn_stream_from_aprfile(middle, delta_pool),
- delta_pool);
-
- svn_txdelta(&txdelta_stream_B,
- svn_stream_from_aprfile(middle_copy, delta_pool),
- svn_stream_from_aprfile(target, delta_pool),
- delta_pool);
+ svn_txdelta2(&txdelta_stream_A,
+ svn_stream_from_aprfile(source, delta_pool),
+ svn_stream_from_aprfile(middle, delta_pool),
+ FALSE,
+ delta_pool);
+
+ svn_txdelta2(&txdelta_stream_B,
+ svn_stream_from_aprfile(middle_copy, delta_pool),
+ svn_stream_from_aprfile(target, delta_pool),
+ FALSE,
+ delta_pool);
{
svn_txdelta_window_t *window_A;
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_delta/svndiff-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_delta/svndiff-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_delta/svndiff-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_delta/svndiff-test.c Tue Jun 26 19:26:49 2012
@@ -75,10 +75,11 @@ main(int argc, char **argv)
if (argc == 4)
version = atoi(argv[3]);
- svn_txdelta(&txdelta_stream,
- svn_stream_from_aprfile(source_file, pool),
- svn_stream_from_aprfile(target_file, pool),
- pool);
+ svn_txdelta2(&txdelta_stream,
+ svn_stream_from_aprfile(source_file, pool),
+ svn_stream_from_aprfile(target_file, pool),
+ FALSE,
+ pool);
err = svn_stream_for_stdout(&stdout_stream, pool);
if (err)
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_delta/vdelta-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_delta/vdelta-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_delta/vdelta-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_delta/vdelta-test.c Tue Jun 26 19:26:49 2012
@@ -28,6 +28,7 @@
#include "../svn_test.h"
+#include "svn_ctype.h"
#include "svn_delta.h"
#include "svn_error.h"
#include "svn_pools.h"
@@ -59,10 +60,11 @@ do_one_diff(apr_file_t *source_file, apr
*count = 0;
*len = 0;
- svn_txdelta(&delta_stream,
- svn_stream_from_aprfile(source_file, fpool),
- svn_stream_from_aprfile(target_file, fpool),
- fpool);
+ svn_txdelta2(&delta_stream,
+ svn_stream_from_aprfile(source_file, fpool),
+ svn_stream_from_aprfile(target_file, fpool),
+ FALSE,
+ fpool);
do {
svn_error_t *err;
err = svn_txdelta_next_window(&delta_window, delta_stream, wpool);
@@ -82,75 +84,17 @@ do_one_diff(apr_file_t *source_file, apr
}
-static apr_file_t *
-open_binary_read(const char *path, apr_pool_t *pool)
-{
- apr_status_t apr_err;
- apr_file_t *fp;
-
- apr_err = apr_file_open(&fp, path, (APR_READ | APR_BINARY),
- APR_OS_DEFAULT, pool);
-
- if (apr_err)
- {
- fprintf(stderr, "unable to open \"%s\" for reading\n", path);
- exit(1);
- }
-
- return fp;
-}
-
-
-int
-main(int argc, char **argv)
+static void
+do_one_test_cycle(apr_file_t *source_file_A, apr_file_t *target_file_A,
+ apr_file_t *source_file_B, apr_file_t *target_file_B,
+ int quiet, apr_pool_t *pool)
{
- apr_file_t *source_file_A = NULL;
- apr_file_t *target_file_A = NULL;
int count_A = 0;
apr_off_t len_A = 0;
- apr_file_t *source_file_B = NULL;
- apr_file_t *target_file_B = NULL;
int count_B = 0;
apr_off_t len_B = 0;
- apr_pool_t *pool;
- int quiet = 0;
-
- if (argc > 1 && argv[1][0] == '-' && argv[1][1] == 'q')
- {
- quiet = 1;
- --argc; ++argv;
- }
-
- apr_initialize();
- pool = svn_pool_create(NULL);
-
- if (argc == 2)
- {
- target_file_A = open_binary_read(argv[1], pool);
- }
- else if (argc == 3)
- {
- source_file_A = open_binary_read(argv[1], pool);
- target_file_A = open_binary_read(argv[2], pool);
- }
- else if (argc == 4)
- {
- source_file_A = open_binary_read(argv[1], pool);
- target_file_A = open_binary_read(argv[2], pool);
- source_file_B = open_binary_read(argv[2], pool);
- target_file_B = open_binary_read(argv[3], pool);
- }
- else
- {
- fprintf(stderr,
- "Usage: vdelta-test [-q] <target>\n"
- " or: vdelta-test [-q] <source> <target>\n"
- " or: vdelta-test [-q] <source> <intermediate> <target>\n");
- exit(1);
- }
-
do_one_diff(source_file_A, target_file_A,
&count_A, &len_A, quiet, pool, "A ", stdout);
@@ -181,14 +125,16 @@ main(int argc, char **argv)
apr_file_seek(target_file_B, APR_SET, &offset);
}
- svn_txdelta(&stream_A,
- svn_stream_from_aprfile(source_file_A, fpool),
- svn_stream_from_aprfile(target_file_A, fpool),
- fpool);
- svn_txdelta(&stream_B,
- svn_stream_from_aprfile(source_file_B, fpool),
- svn_stream_from_aprfile(target_file_B, fpool),
- fpool);
+ svn_txdelta2(&stream_A,
+ svn_stream_from_aprfile(source_file_A, fpool),
+ svn_stream_from_aprfile(target_file_A, fpool),
+ FALSE,
+ fpool);
+ svn_txdelta2(&stream_B,
+ svn_stream_from_aprfile(source_file_B, fpool),
+ svn_stream_from_aprfile(target_file_B, fpool),
+ FALSE,
+ fpool);
for (count_AB = 0; count_AB < count_B; ++count_AB)
{
@@ -219,6 +165,98 @@ main(int argc, char **argv)
fprintf(stdout, "AB: (LENGTH %" APR_OFF_T_FMT " +%d)\n",
len_AB, count_AB);
}
+}
+
+
+static apr_file_t *
+open_binary_read(const char *path, apr_pool_t *pool)
+{
+ apr_status_t apr_err;
+ apr_file_t *fp;
+
+ apr_err = apr_file_open(&fp, path, (APR_READ | APR_BINARY),
+ APR_OS_DEFAULT, pool);
+
+ if (apr_err)
+ {
+ fprintf(stderr, "unable to open \"%s\" for reading\n", path);
+ exit(1);
+ }
+
+ return fp;
+}
+
+
+int
+main(int argc, char **argv)
+{
+ apr_file_t *source_file_A = NULL;
+ apr_file_t *target_file_A = NULL;
+
+ apr_file_t *source_file_B = NULL;
+ apr_file_t *target_file_B = NULL;
+
+ apr_pool_t *pool;
+ int quiet = 0;
+ int repeat = 1;
+
+ while (argc > 1)
+ {
+ const char *const arg = argv[1];
+ if (arg[0] != '-')
+ break;
+
+ if (arg[1] == 'q')
+ quiet = 1;
+ else if (svn_ctype_isdigit(arg[1]))
+ repeat = atoi(arg + 1);
+ else
+ break;
+ --argc; ++argv;
+ }
+
+ apr_initialize();
+ pool = svn_pool_create(NULL);
+
+ if (argc == 2)
+ {
+ target_file_A = open_binary_read(argv[1], pool);
+ }
+ else if (argc == 3)
+ {
+ source_file_A = open_binary_read(argv[1], pool);
+ target_file_A = open_binary_read(argv[2], pool);
+ }
+ else if (argc == 4)
+ {
+ source_file_A = open_binary_read(argv[1], pool);
+ target_file_A = open_binary_read(argv[2], pool);
+ source_file_B = open_binary_read(argv[2], pool);
+ target_file_B = open_binary_read(argv[3], pool);
+ }
+ else
+ {
+ fprintf(stderr,
+ "Usage: vdelta-test [-q] [-<repeat>] <target>\n"
+ " or: vdelta-test [-q] [-<repeat>] <source> <target>\n"
+ " or: vdelta-test [-q] [-<repeat>] "
+ "<source> <intermediate> <target>\n");
+ exit(1);
+ }
+
+ while (0 < repeat--)
+ {
+ apr_off_t offset = 0;
+
+ do_one_test_cycle(source_file_A, target_file_A,
+ source_file_B, target_file_B,
+ quiet, pool);
+
+ if (source_file_A) apr_file_seek(source_file_A, APR_SET, &offset);
+ if (target_file_A) apr_file_seek(target_file_A, APR_SET, &offset);
+ if (source_file_B) apr_file_seek(source_file_B, APR_SET, &offset);
+ if (target_file_B) apr_file_seek(target_file_B, APR_SET, &offset);
+ }
if (source_file_A) apr_file_close(source_file_A);
if (target_file_A) apr_file_close(target_file_A);
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_delta/window-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_delta/window-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_delta/window-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_delta/window-test.c Tue Jun 26 19:26:49 2012
@@ -70,7 +70,7 @@ stream_window_test(apr_pool_t *pool)
target_str.len = 109000;
target_stream = svn_stream_from_string(&target_str, pool);
- svn_txdelta(&txstream, source_stream, target_stream, pool);
+ svn_txdelta2(&txstream, source_stream, target_stream, TRUE, pool);
while (1)
{
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_repos/repos-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_repos/repos-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_repos/repos-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_repos/repos-test.c Tue Jun 26 19:26:49 2012
@@ -2256,7 +2256,7 @@ prop_validation(const svn_test_opts_t *o
{
svn_error_t *err;
svn_repos_t *repos;
- const char non_utf8_string[5] = { 'a', 0xff, 'b', '\n', 0 };
+ const char non_utf8_string[5] = { 'a', (char)0xff, 'b', '\n', 0 };
const char *non_lf_string = "a\r\nb\n\rc\rd\n";
apr_pool_t *subpool = svn_pool_create(pool);
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_subr/dirent_uri-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_subr/dirent_uri-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_subr/dirent_uri-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_subr/dirent_uri-test.c Tue Jun 26 19:26:49 2012
@@ -882,6 +882,8 @@ static const testcase_canonicalize_t uri
{ "https://SERVER:80/", "https://server:80" },
{ "svn://server:80", "svn://server:80" },
{ "svn://SERVER:443/", "svn://server:443" },
+ { "file:///C%7C/temp/REPOS", "file:///C%7C/temp/REPOS" },
+ { "file:///C|/temp/REPOS", "file:///C%7C/temp/REPOS" },
#ifdef SVN_USE_DOS_PATHS
{ "file:///c:/temp/repos", "file:///C:/temp/repos" },
{ "file:///c:/temp/REPOS", "file:///C:/temp/REPOS" },
@@ -2017,15 +2019,34 @@ test_dirent_condense_targets(apr_pool_t
const char* common;
apr_array_header_t *hdr = apr_array_make(pool, 8, sizeof(const char*));
apr_array_header_t *condensed;
+ svn_boolean_t skip = FALSE;
for (j = 0; j < COUNT_OF(tests[i].paths); j++)
{
if (tests[i].paths[j] != NULL)
- APR_ARRAY_PUSH(hdr, const char*) = tests[i].paths[j];
+ {
+ APR_ARRAY_PUSH(hdr, const char*) = tests[i].paths[j];
+#ifdef SVN_USE_DOS_PATHS
+ /* For tests that are referencing a D: drive, specifically test
+ if such a drive exists on the system. If not, skip the test
+ (svn_dirent_condense_targets will fail, because
+ apr_filepath_merge will produce an APR_EBADPATH error). */
+ if (strncmp(tests[i].paths[j], "D:", 2) == 0
+ && GetDriveType("D:\\") == DRIVE_NO_ROOT_DIR)
+ {
+ /* There is no D: drive, skip this. */
+ skip = TRUE;
+ break;
+ }
+#endif
+ }
else
break;
}
+ if (skip)
+ continue;
+
SVN_ERR(svn_dirent_condense_targets(&common, &condensed, hdr,
FALSE, pool, pool));
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_subr/mergeinfo-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_subr/mergeinfo-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_subr/mergeinfo-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_subr/mergeinfo-test.c Tue Jun 26 19:26:49 2012
@@ -712,7 +712,7 @@ test_merge_mergeinfo(apr_pool_t *pool)
SVN_ERR(svn_mergeinfo_to_string(&info2_starting, info2, pool));
SVN_ERR(svn_mergeinfo_merge(info1, info2, pool));
- if (mergeinfo[i].expected_paths != apr_hash_count(info1))
+ if (mergeinfo[i].expected_paths != (int)apr_hash_count(info1))
return fail(pool, "Wrong number of paths in merged mergeinfo");
/* Check that info2 remained unchanged. */
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_subr/named_atomic-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_subr/named_atomic-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_subr/named_atomic-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_subr/named_atomic-test.c Tue Jun 26 19:26:49 2012
@@ -45,37 +45,6 @@ static int hw_thread_count = 0;
* (will be calibrated to about 1s runtime)*/
static int suggested_iterations = 0;
-/* Return FALSE if we can't create SHMs due to missing privileges
- */
-static svn_boolean_t
-has_sufficient_privileges(void)
-{
-#ifdef _WIN32
- static svn_tristate_t result = svn_tristate_unknown;
-
- if (result == svn_tristate_unknown)
- {
- HANDLE handle = CreateFileMappingA(INVALID_HANDLE_VALUE,
- NULL,
- PAGE_READONLY,
- 0,
- 1,
- "Global\\__RandomXZY_svn");
- if (handle != NULL)
- {
- CloseHandle(handle);
- result = svn_tristate_true;
- }
- else
- result = svn_tristate_false;
- }
-
- return result == svn_tristate_true ? TRUE : FALSE;
-#else
- return TRUE;
-#endif
-}
-
/* If possible, translate PROC to a global path and set DIRECTORY to
* the current directory.
*/
@@ -113,7 +82,10 @@ proc_found(const char *proc, apr_pool_t
/* all processes and their I/O data */
apr_proc_t process;
- const char * args[2] = {proc, NULL};
+ const char * args[2];
+
+ args[0] = proc;
+ args[1] = NULL;
svn_error_clear(adjust_proc_path(&args[0], &directory, pool));
/* try to start the process */
@@ -174,7 +146,7 @@ init_test_shm(apr_pool_t *pool)
}
/* skip tests if the current user does not have the required privileges */
- if (!has_sufficient_privileges())
+ if (!svn_named_atomic__is_supported())
return svn_error_wrap_apr(SVN_ERR_TEST_SKIPPED,
"user has insufficient privileges");
@@ -338,15 +310,14 @@ run_procs(apr_pool_t *pool, const char *
/* start sub-processes */
for (i = 0; i < count; ++i)
{
- const char * args[6] =
- {
- proc,
- apr_itoa(pool, i),
- apr_itoa(pool, count),
- apr_itoa(pool, iterations),
- name_namespace,
- NULL
- };
+ const char * args[6];
+
+ args[0] = proc;
+ args[1] = apr_itoa(pool, i);
+ args[2] = apr_itoa(pool, count);
+ args[3] = apr_itoa(pool, iterations);
+ args[4] = name_namespace;
+ args[5] = NULL;
error = svn_io_start_cmd3(&process[i],
directory, /* working directory */
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_subr/skel-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_subr/skel-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_subr/skel-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_subr/skel-test.c Tue Jun 26 19:26:49 2012
@@ -216,7 +216,7 @@ gen_implicit_length_all_chars(apr_size_t
for (i = 0; i < 256; i++)
if (! skel_is_space( (apr_byte_t)i)
&& ! skel_is_paren( (apr_byte_t)i))
- name[pos++] = i;
+ name[pos++] = (char)i;
*len_p = pos;
return name;
@@ -375,7 +375,7 @@ parse_explicit_length(apr_pool_t *pool)
{
char buf[1];
- buf[0] = i;
+ buf[0] = (char)i;
SVN_ERR(try_explicit_length(buf, 1, 1, pool));
}
}
@@ -386,7 +386,7 @@ parse_explicit_length(apr_pool_t *pool)
char data[256];
for (i = 0; i < 256; i++)
- data[i] = i;
+ data[i] = (char)i;
SVN_ERR(try_explicit_length(data, 256, 256, pool));
}
@@ -592,7 +592,7 @@ parse_list(apr_pool_t *pool)
svn_skel_t *child;
char buf[1];
- buf[0] = atom_byte;
+ buf[0] = (char)atom_byte;
put_list_start(str, (apr_byte_t)sep, sep_count);
for (i = 0; i < list_len; i++)
@@ -619,7 +619,7 @@ parse_list(apr_pool_t *pool)
char data[256];
for (i = 0; i < 256; i++)
- data[i] = i;
+ data[i] = (char)i;
put_list_start(str, (apr_byte_t)sep, sep_count);
for (i = 0; i < list_len; i++)
@@ -797,7 +797,7 @@ unparse_list(apr_pool_t *pool)
for (byte = 0; byte < 256; byte++)
if (skel_is_name( (apr_byte_t)byte))
{
- char buf = byte;
+ char buf = (char)byte;
add(build_atom(1, &buf, pool), list);
}
@@ -858,7 +858,7 @@ unparse_list(apr_pool_t *pool)
val = i * 10 + j;
for (k = 0; k < sizeof(buf); k++)
{
- buf[k] = val;
+ buf[k] = (char)val;
val += j;
}
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_subr/stream-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_subr/stream-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_subr/stream-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_subr/stream-test.c Tue Jun 26 19:26:49 2012
@@ -138,7 +138,7 @@ generate_test_bytes(int num_bytes, apr_p
{
if (c == 127)
repeat++;
- c = (c + 1) % 127;
+ c = (char)((c + 1) % 127);
repeat_iter = repeat;
}
}
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_subr/string-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_subr/string-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_subr/string-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_subr/string-test.c Tue Jun 26 19:26:49 2012
@@ -521,7 +521,7 @@ test24(apr_pool_t *pool)
SVN_TEST_ASSERT(length == 1);
SVN_TEST_STRING_ASSERT(buffer, "0");
- length = svn__i64toa(buffer, -0x8000000000000000ll);
+ length = svn__i64toa(buffer, 0x8000000000000000ll);
SVN_TEST_ASSERT(length == 20);
SVN_TEST_STRING_ASSERT(buffer, "-9223372036854775808");
@@ -529,11 +529,11 @@ test24(apr_pool_t *pool)
SVN_TEST_ASSERT(length == 19);
SVN_TEST_STRING_ASSERT(buffer, "9223372036854775807");
- length = svn__ui64toa(buffer, 0);
+ length = svn__ui64toa(buffer, 0ull);
SVN_TEST_ASSERT(length == 1);
SVN_TEST_STRING_ASSERT(buffer, "0");
- length = svn__ui64toa(buffer, 0xffffffffffffffffll);
+ length = svn__ui64toa(buffer, 0xffffffffffffffffull);
SVN_TEST_ASSERT(length == 20);
SVN_TEST_STRING_ASSERT(buffer, "18446744073709551615");
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_subr/utf-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_subr/utf-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_subr/utf-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_subr/utf-test.c Tue Jun 26 19:26:49 2012
@@ -197,7 +197,7 @@ utf_validate2(apr_pool_t *pool)
/* A random string; experiment shows that it's occasionally (less
than 1%) valid but usually invalid. */
for (j = 0; j < sizeof(str) - 1; ++j)
- str[j] = range_rand(0, 255);
+ str[j] = (char)range_rand(0, 255);
str[sizeof(str) - 1] = 0;
len = strlen(str);
Propchange: subversion/branches/inheritable-props/subversion/tests/libsvn_wc/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Jun 26 19:26:49 2012
@@ -9,3 +9,4 @@ entries-compat-test
op-depth-test
wc-lock-tester
wc-incomplete-tester
+wc-queries-test
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_wc/op-depth-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_wc/op-depth-test.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_wc/op-depth-test.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_wc/op-depth-test.c Tue Jun 26 19:26:49 2012
@@ -238,7 +238,10 @@ wc_update(svn_test__sandbox_t *b, const
apr_array_header_t *result_revs;
apr_array_header_t *paths = apr_array_make(b->pool, 1,
sizeof(const char *));
- svn_opt_revision_t revision = { svn_opt_revision_number, { revnum } };
+ svn_opt_revision_t revision;
+
+ revision.kind = svn_opt_revision_number;
+ revision.value.number = revnum;
APR_ARRAY_PUSH(paths, const char *) = wc_path(b, path);
SVN_ERR(svn_client_create_context(&ctx, b->pool));
@@ -455,8 +458,12 @@ check_db_rows(svn_test__sandbox_t *b,
svn_boolean_t have_row;
apr_hash_t *found_hash = apr_hash_make(b->pool);
apr_hash_t *expected_hash = apr_hash_make(b->pool);
- comparison_baton_t comparison_baton
- = { expected_hash, found_hash, b->pool, NULL };
+ comparison_baton_t comparison_baton;
+
+ comparison_baton.expected_hash = expected_hash;
+ comparison_baton.found_hash = found_hash;
+ comparison_baton.scratch_pool = b->pool;
+ comparison_baton.errors = NULL;
/* Fill ACTUAL_HASH with data from the WC DB. */
SVN_ERR(open_wc_db(&sdb, b->wc_abspath, statements, b->pool, b->pool));
@@ -523,23 +530,23 @@ struct copy_subtest_t
nodes_row_t expected[20];
};
+#define source_everything "A/B"
+
+#define source_base_file "A/B/lambda"
+#define source_base_dir "A/B/E"
+
+#define source_added_file "A/B/file-added"
+#define source_added_dir "A/B/D-added"
+#define source_added_dir2 "A/B/D-added/D2"
+
+#define source_copied_file "A/B/lambda-copied"
+#define source_copied_dir "A/B/E-copied"
+
/* Check that all kinds of WC-to-WC copies give correct op_depth results:
* create a Greek tree, make copies in it, and check the resulting DB rows. */
static svn_error_t *
wc_wc_copies(svn_test__sandbox_t *b)
{
- const char source_everything[] = "A/B";
-
- const char source_base_file[] = "A/B/lambda";
- const char source_base_dir[] = "A/B/E";
-
- const char source_added_file[] = "A/B/file-added";
- const char source_added_dir[] = "A/B/D-added";
- const char source_added_dir2[] = "A/B/D-added/D2";
-
- const char source_copied_file[] = "A/B/lambda-copied";
- const char source_copied_dir[] = "A/B/E-copied";
-
SVN_ERR(add_and_commit_greek_tree(b));
/* Create the various kinds of source node which will be copied */
@@ -756,13 +763,15 @@ repo_wc_copies(svn_test__sandbox_t *b)
for (subtest = subtests; subtest->from_path; subtest++)
{
svn_opt_revision_t rev = { svn_opt_revision_number, { 1 } };
- svn_client_copy_source_t source = { NULL, &rev, &rev };
+ svn_client_copy_source_t source;
apr_array_header_t *sources
= apr_array_make(b->pool, 0, sizeof(svn_client_copy_source_t *));
source.path = svn_path_url_add_component2(b->repos_url,
subtest->from_path,
b->pool);
+ source.revision = &rev;
+ source.peg_revision = &rev;
APR_ARRAY_PUSH(sources, svn_client_copy_source_t *) = &source;
SVN_ERR(svn_client_copy6(sources,
wc_path(b, subtest->to_path),
@@ -1217,9 +1226,9 @@ insert_dirs(svn_test__sandbox_t *b,
if (nodes->local_relpath[0])
{
SVN_ERR(svn_sqlite__get_statement(&stmt, sdb, 2));
- SVN_ERR(svn_sqlite__bindf(stmt, "sissrs",
+ SVN_ERR(svn_sqlite__bindf(stmt, "sdssrs",
nodes->local_relpath,
- (apr_int64_t)nodes->op_depth,
+ nodes->op_depth,
nodes->presence,
nodes->repo_relpath,
nodes->repo_revnum,
@@ -1229,9 +1238,9 @@ insert_dirs(svn_test__sandbox_t *b,
else
{
SVN_ERR(svn_sqlite__get_statement(&stmt, sdb, 1));
- SVN_ERR(svn_sqlite__bindf(stmt, "sissr",
+ SVN_ERR(svn_sqlite__bindf(stmt, "sdssr",
nodes->local_relpath,
- (apr_int64_t)nodes->op_depth,
+ nodes->op_depth,
nodes->presence,
nodes->repo_relpath,
nodes->repo_revnum));
@@ -1277,7 +1286,7 @@ base_dir_insert_remove(svn_test__sandbox
NULL, NULL, FALSE, NULL, NULL,
b->pool));
- after = apr_palloc(b->pool, sizeof(*after) * (num_before + num_added + 1));
+ after = apr_palloc(b->pool, sizeof(*after) * (apr_size_t)(num_before + num_added + 1));
for (i = 0; i < num_before; ++i)
after[i] = before[i];
for (i = 0; i < num_added; ++i)
@@ -4577,10 +4586,35 @@ move_update(const svn_test_opts_t *opts,
}
static svn_error_t *
+check_moved_to(apr_array_header_t *moved_tos,
+ int i,
+ int op_depth,
+ const char *local_relpath)
+{
+ struct svn_wc__db_moved_to_t *moved_to;
+
+ if (i >= moved_tos->nelts)
+ return svn_error_createf(SVN_ERR_TEST_FAILED, NULL,
+ "moved-to %d not found", i);
+
+ moved_to = APR_ARRAY_IDX(moved_tos, i, struct svn_wc__db_moved_to_t *);
+
+ if (moved_to->op_depth != op_depth
+ || strcmp(moved_to->local_relpath, local_relpath))
+ return svn_error_createf(SVN_ERR_TEST_FAILED, NULL,
+ "expected: {%d '%s'} found[%d]: {%d '%s'}",
+ op_depth, local_relpath, i,
+ moved_to->op_depth, moved_to->local_relpath);
+
+ return SVN_NO_ERROR;
+}
+
+static svn_error_t *
test_scan_delete(const svn_test_opts_t *opts, apr_pool_t *pool)
{
svn_test__sandbox_t b;
const char *moved_to_abspath, *moved_to_op_root_abspath;
+ apr_array_header_t *moved_tos;
SVN_ERR(svn_test__sandbox_create(&b, "scan_delete", opts, pool));
@@ -4639,11 +4673,12 @@ test_scan_delete(const svn_test_opts_t *
SVN_TEST_STRING_ASSERT(moved_to_abspath, wc_path(&b, "X/B"));
SVN_TEST_STRING_ASSERT(moved_to_op_root_abspath, wc_path(&b, "X/B"));
- SVN_ERR(svn_wc__db_final_moved_to(&moved_to_abspath, b.wc_ctx->db,
- wc_path(&b, "A/B/C"), pool, pool));
- SVN_TEST_STRING_ASSERT(moved_to_abspath, wc_path(&b, "Y"));
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A/B/C"), pool, pool));
+ SVN_ERR(check_moved_to(moved_tos, 0, 2, "X/B/C"));
+ SVN_ERR(check_moved_to(moved_tos, 1, 3, "Y"));
+ SVN_TEST_ASSERT(moved_tos->nelts == 2);
- /* Not clear what this should give: Y or X/B/C or ... ? */
SVN_ERR(svn_wc__db_scan_deletion(NULL, &moved_to_abspath,
NULL, &moved_to_op_root_abspath,
b.wc_ctx->db, wc_path(&b, "A/B/C"),
@@ -4658,7 +4693,6 @@ test_scan_delete(const svn_test_opts_t *
SVN_TEST_STRING_ASSERT(moved_to_abspath, wc_path(&b, "X"));
SVN_TEST_STRING_ASSERT(moved_to_op_root_abspath, wc_path(&b, "X"));
- /* Not clear what this should give: Z or X/B or ... ? */
SVN_ERR(svn_wc__db_scan_deletion(NULL, &moved_to_abspath,
NULL, &moved_to_op_root_abspath,
b.wc_ctx->db, wc_path(&b, "A2/B"),
@@ -4669,6 +4703,279 @@ test_scan_delete(const svn_test_opts_t *
return SVN_NO_ERROR;
}
+static svn_error_t *
+test_follow_moved_to(const svn_test_opts_t *opts, apr_pool_t *pool)
+{
+ svn_test__sandbox_t b;
+ apr_array_header_t *moved_tos;
+
+ SVN_ERR(svn_test__sandbox_create(&b, "follow_moved_to", opts, pool));
+
+ SVN_ERR(wc_mkdir(&b, "A1"));
+ SVN_ERR(wc_mkdir(&b, "A1/B"));
+ SVN_ERR(wc_mkdir(&b, "A1/B/C"));
+ SVN_ERR(wc_mkdir(&b, "A1/B/C/D"));
+ SVN_ERR(wc_mkdir(&b, "A1/B/C/D/E"));
+ SVN_ERR(wc_mkdir(&b, "A2"));
+ SVN_ERR(wc_mkdir(&b, "A2/B"));
+ SVN_ERR(wc_mkdir(&b, "A2/B/C"));
+ SVN_ERR(wc_mkdir(&b, "A2/B/C/D"));
+ SVN_ERR(wc_mkdir(&b, "A2/B/C/D/E"));
+ SVN_ERR(wc_mkdir(&b, "A3"));
+ SVN_ERR(wc_mkdir(&b, "A3/B"));
+ SVN_ERR(wc_mkdir(&b, "A3/B/C"));
+ SVN_ERR(wc_mkdir(&b, "A3/B/C/D"));
+ SVN_ERR(wc_mkdir(&b, "A3/B/C/D/E"));
+ SVN_ERR(wc_commit(&b, ""));
+ SVN_ERR(wc_update(&b, "", 1));
+
+ {
+ nodes_row_t nodes[] = {
+ {0, "", "normal", 1, ""},
+ {0, "A1", "normal", 1, "A1"},
+ {0, "A1/B", "normal", 1, "A1/B"},
+ {0, "A1/B/C", "normal", 1, "A1/B/C"},
+ {0, "A1/B/C/D", "normal", 1, "A1/B/C/D"},
+ {0, "A1/B/C/D/E", "normal", 1, "A1/B/C/D/E"},
+ {0, "A2", "normal", 1, "A2"},
+ {0, "A2/B", "normal", 1, "A2/B"},
+ {0, "A2/B/C", "normal", 1, "A2/B/C"},
+ {0, "A2/B/C/D", "normal", 1, "A2/B/C/D"},
+ {0, "A2/B/C/D/E", "normal", 1, "A2/B/C/D/E"},
+ {0, "A3", "normal", 1, "A3"},
+ {0, "A3/B", "normal", 1, "A3/B"},
+ {0, "A3/B/C", "normal", 1, "A3/B/C"},
+ {0, "A3/B/C/D", "normal", 1, "A3/B/C/D"},
+ {0, "A3/B/C/D/E", "normal", 1, "A3/B/C/D/E"},
+ {0}
+ };
+ SVN_ERR(check_db_rows(&b, "", nodes));
+ }
+
+ SVN_ERR(wc_move(&b, "A1", "X"));
+ SVN_ERR(wc_move(&b, "A2", "A1"));
+ SVN_ERR(wc_move(&b, "A3", "A2"));
+ SVN_ERR(wc_move(&b, "X", "A3"));
+ SVN_ERR(wc_move(&b, "A1/B", "X"));
+ SVN_ERR(wc_move(&b, "A2/B", "A1/B"));
+ SVN_ERR(wc_move(&b, "A3/B", "A2/B"));
+ SVN_ERR(wc_move(&b, "X", "A3/B"));
+ SVN_ERR(wc_move(&b, "A1/B/C/D", "X"));
+ SVN_ERR(wc_move(&b, "A2/B/C/D", "A1/B/C/D"));
+ SVN_ERR(wc_move(&b, "A3/B/C/D", "A2/B/C/D"));
+ SVN_ERR(wc_move(&b, "X", "A3/B/C/D"));
+ SVN_ERR(wc_move(&b, "A1/B/C/D/E", "X"));
+ SVN_ERR(wc_move(&b, "A2/B/C/D/E", "A1/B/C/D/E"));
+ SVN_ERR(wc_move(&b, "A3/B/C/D/E", "A2/B/C/D/E"));
+ SVN_ERR(wc_move(&b, "X", "A3/B/C/D/E"));
+
+ {
+ nodes_row_t nodes[] = {
+ {0, "", "normal", 1, ""},
+ {0, "A1", "normal", 1, "A1"},
+ {0, "A1/B", "normal", 1, "A1/B"},
+ {0, "A1/B/C", "normal", 1, "A1/B/C"},
+ {0, "A1/B/C/D", "normal", 1, "A1/B/C/D"},
+ {0, "A1/B/C/D/E", "normal", 1, "A1/B/C/D/E"},
+ {0, "A2", "normal", 1, "A2"},
+ {0, "A2/B", "normal", 1, "A2/B"},
+ {0, "A2/B/C", "normal", 1, "A2/B/C"},
+ {0, "A2/B/C/D", "normal", 1, "A2/B/C/D"},
+ {0, "A2/B/C/D/E", "normal", 1, "A2/B/C/D/E"},
+ {0, "A3", "normal", 1, "A3"},
+ {0, "A3/B", "normal", 1, "A3/B"},
+ {0, "A3/B/C", "normal", 1, "A3/B/C"},
+ {0, "A3/B/C/D", "normal", 1, "A3/B/C/D"},
+ {0, "A3/B/C/D/E", "normal", 1, "A3/B/C/D/E"},
+
+ {1, "A1", "normal", 1, "A2", FALSE, "A3", TRUE},
+ {1, "A1/B", "normal", 1, "A2/B", MOVED_HERE},
+ {1, "A1/B/C", "normal", 1, "A2/B/C", MOVED_HERE},
+ {1, "A1/B/C/D", "normal", 1, "A2/B/C/D", MOVED_HERE},
+ {1, "A1/B/C/D/E", "normal", 1, "A2/B/C/D/E", MOVED_HERE},
+
+ {1, "A2", "normal", 1, "A3", FALSE, "A1", TRUE},
+ {1, "A2/B", "normal", 1, "A3/B", MOVED_HERE},
+ {1, "A2/B/C", "normal", 1, "A3/B/C", MOVED_HERE},
+ {1, "A2/B/C/D", "normal", 1, "A3/B/C/D", MOVED_HERE},
+ {1, "A2/B/C/D/E", "normal", 1, "A3/B/C/D/E", MOVED_HERE},
+
+ {1, "A3", "normal", 1, "A1", FALSE, "A2", TRUE},
+ {1, "A3/B", "normal", 1, "A1/B", MOVED_HERE},
+ {1, "A3/B/C", "normal", 1, "A1/B/C", MOVED_HERE},
+ {1, "A3/B/C/D", "normal", 1, "A1/B/C/D", MOVED_HERE},
+ {1, "A3/B/C/D/E", "normal", 1, "A1/B/C/D/E", MOVED_HERE},
+
+ {2, "A1/B", "normal", 1, "A3/B", FALSE, "A3/B", TRUE},
+ {2, "A1/B/C", "normal", 1, "A3/B/C", MOVED_HERE},
+ {2, "A1/B/C/D", "normal", 1, "A3/B/C/D", MOVED_HERE},
+ {2, "A1/B/C/D/E", "normal", 1, "A3/B/C/D/E", MOVED_HERE},
+
+ {2, "A2/B", "normal", 1, "A1/B", FALSE, "A1/B", TRUE},
+ {2, "A2/B/C", "normal", 1, "A1/B/C", MOVED_HERE},
+ {2, "A2/B/C/D", "normal", 1, "A1/B/C/D", MOVED_HERE},
+ {2, "A2/B/C/D/E", "normal", 1, "A1/B/C/D/E", MOVED_HERE},
+
+ {2, "A3/B", "normal", 1, "A2/B", FALSE, "A2/B", TRUE},
+ {2, "A3/B/C", "normal", 1, "A2/B/C", MOVED_HERE},
+ {2, "A3/B/C/D", "normal", 1, "A2/B/C/D", MOVED_HERE},
+ {2, "A3/B/C/D/E", "normal", 1, "A2/B/C/D/E", MOVED_HERE},
+
+ {4, "A1/B/C/D", "normal", 1, "A1/B/C/D", FALSE, "A3/B/C/D", TRUE},
+ {4, "A1/B/C/D/E", "normal", 1, "A1/B/C/D/E", MOVED_HERE},
+
+ {4, "A2/B/C/D", "normal", 1, "A2/B/C/D", FALSE, "A1/B/C/D", TRUE},
+ {4, "A2/B/C/D/E", "normal", 1, "A2/B/C/D/E", MOVED_HERE},
+
+ {4, "A3/B/C/D", "normal", 1, "A3/B/C/D", FALSE, "A2/B/C/D", TRUE},
+ {4, "A3/B/C/D/E", "normal", 1, "A3/B/C/D/E", MOVED_HERE},
+
+ {5, "A1/B/C/D/E", "normal", 1, "A2/B/C/D/E", FALSE, "A3/B/C/D/E", TRUE},
+ {5, "A2/B/C/D/E", "normal", 1, "A3/B/C/D/E", FALSE, "A1/B/C/D/E", TRUE},
+ {5, "A3/B/C/D/E", "normal", 1, "A1/B/C/D/E", FALSE, "A2/B/C/D/E", TRUE},
+ {0}
+ };
+ SVN_ERR(check_db_rows(&b, "", nodes));
+ }
+
+ /* A1->A3, A3/B->A2/B, A2/B/C/D->A1/B/C/D, A1/B/C/D/E->A3/B/C/D/E */
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A1"), pool, pool));
+ SVN_ERR(check_moved_to(moved_tos, 0, 1, "A3"));
+ SVN_TEST_ASSERT(moved_tos->nelts == 1);
+
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A1/B"), pool, pool));
+ SVN_ERR(check_moved_to(moved_tos, 0, 1, "A3/B"));
+ SVN_ERR(check_moved_to(moved_tos, 1, 2, "A2/B"));
+ SVN_TEST_ASSERT(moved_tos->nelts == 2);
+
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A1/B/C"), pool, pool));
+ SVN_ERR(check_moved_to(moved_tos, 0, 1, "A3/B/C"));
+ SVN_ERR(check_moved_to(moved_tos, 1, 2, "A2/B/C"));
+ SVN_TEST_ASSERT(moved_tos->nelts == 2);
+
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A1/B/C/D"), pool, pool));
+ SVN_ERR(check_moved_to(moved_tos, 0, 1, "A3/B/C/D"));
+ SVN_ERR(check_moved_to(moved_tos, 1, 2, "A2/B/C/D"));
+ SVN_ERR(check_moved_to(moved_tos, 2, 4, "A1/B/C/D"));
+ SVN_TEST_ASSERT(moved_tos->nelts == 3);
+
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A1/B/C/D/E"), pool, pool));
+ SVN_ERR(check_moved_to(moved_tos, 0, 1, "A3/B/C/D/E"));
+ SVN_ERR(check_moved_to(moved_tos, 1, 2, "A2/B/C/D/E"));
+ SVN_ERR(check_moved_to(moved_tos, 2, 4, "A1/B/C/D/E"));
+ SVN_ERR(check_moved_to(moved_tos, 3, 5, "A3/B/C/D/E"));
+ SVN_TEST_ASSERT(moved_tos->nelts == 4);
+
+ return SVN_NO_ERROR;
+}
+
+static svn_error_t *
+mixed_rev_move(const svn_test_opts_t *opts, apr_pool_t *pool)
+{
+ svn_test__sandbox_t b;
+ apr_array_header_t *moved_tos;
+
+ SVN_ERR(svn_test__sandbox_create(&b, "mixed_rev_move", opts, pool));
+
+ SVN_ERR(wc_mkdir(&b, "A"));
+ SVN_ERR(wc_commit(&b, ""));
+ SVN_ERR(wc_mkdir(&b, "A/B"));
+ SVN_ERR(wc_commit(&b, ""));
+ SVN_ERR(wc_mkdir(&b, "A/B/C"));
+ SVN_ERR(wc_commit(&b, ""));
+
+ {
+ nodes_row_t nodes[] = {
+ {0, "", "normal", 0, ""},
+ {0, "A", "normal", 1, "A"},
+ {0, "A/B", "normal", 2, "A/B"},
+ {0, "A/B/C", "normal", 3, "A/B/C"},
+ {0}
+ };
+ SVN_ERR(check_db_rows(&b, "", nodes));
+ }
+
+ SVN_ERR(wc_move(&b, "A", "X"));
+
+ {
+ nodes_row_t nodes[] = {
+ {0, "", "normal", 0, ""},
+ {0, "A", "normal", 1, "A"},
+ {0, "A/B", "normal", 2, "A/B"},
+ {0, "A/B/C", "normal", 3, "A/B/C"},
+ {1, "A", "base-deleted", NO_COPY_FROM, "X"},
+ {1, "A/B", "base-deleted", NO_COPY_FROM},
+ {1, "A/B/C", "base-deleted", NO_COPY_FROM},
+ {1, "X", "normal", 1, "A", MOVED_HERE},
+ {1, "X/B", "not-present", 2, "A/B"},
+ {2, "X/B", "normal", 2, "A/B", MOVED_HERE},
+ {2, "X/B/C", "not-present", 3, "A/B/C"},
+ {3, "X/B/C", "normal", 3, "A/B/C", MOVED_HERE},
+ {0}
+ };
+ SVN_ERR(check_db_rows(&b, "", nodes));
+ }
+
+ /* ### These values PASS but I'm not sure they are correct. */
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A/B/C"), pool, pool));
+ SVN_ERR(check_moved_to(moved_tos, 0, 1, "X/B/C"));
+ SVN_TEST_ASSERT(moved_tos->nelts == 1);
+
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A/B"), pool, pool));
+ SVN_ERR(check_moved_to(moved_tos, 0, 1, "X/B"));
+ SVN_TEST_ASSERT(moved_tos->nelts == 1);
+
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A"), pool, pool));
+ SVN_ERR(check_moved_to(moved_tos, 0, 1, "X"));
+ SVN_TEST_ASSERT(moved_tos->nelts == 1);
+
+
+ /* This move doesn't record moved-to */
+ SVN_ERR(wc_move(&b, "X/B", "X/Y"));
+
+ {
+ nodes_row_t nodes[] = {
+ {0, "", "normal", 0, ""},
+ {0, "A", "normal", 1, "A"},
+ {0, "A/B", "normal", 2, "A/B"},
+ {0, "A/B/C", "normal", 3, "A/B/C"},
+ {1, "A", "base-deleted", NO_COPY_FROM, "X"},
+ {1, "A/B", "base-deleted", NO_COPY_FROM},
+ {1, "A/B/C", "base-deleted", NO_COPY_FROM},
+ {1, "X", "normal", 1, "A", MOVED_HERE},
+ {1, "X/B", "not-present", 2, "A/B"},
+ {2, "X/Y", "normal", 2, "A/B"},
+ {2, "X/Y/C", "not-present", NO_COPY_FROM},
+ {3, "X/Y/C", "normal", 3, "A/B/C"},
+ {0}
+ };
+ SVN_ERR(check_db_rows(&b, "", nodes));
+ }
+
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A/B/C"), pool, pool));
+ SVN_TEST_ASSERT(moved_tos->nelts == 0);
+
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A/B"), pool, pool));
+ SVN_TEST_ASSERT(moved_tos->nelts == 0);
+
+ SVN_ERR(svn_wc__db_follow_moved_to(&moved_tos, b.wc_ctx->db,
+ wc_path(&b, "A"), pool, pool));
+ SVN_ERR(check_moved_to(moved_tos, 0, 1, "X"));
+ SVN_TEST_ASSERT(moved_tos->nelts == 1);
+
+ return SVN_NO_ERROR;
+}
+
/* ---------------------------------------------------------------------- */
/* The list of test functions */
@@ -4760,7 +5067,11 @@ struct svn_test_descriptor_t test_funcs[
"move_added"),
SVN_TEST_OPTS_XFAIL(move_update,
"move_update"),
- SVN_TEST_OPTS_WIMP(test_scan_delete,
- "scan_delete", "move tracking"),
+ SVN_TEST_OPTS_PASS(test_scan_delete,
+ "scan_delete"),
+ SVN_TEST_OPTS_PASS(test_follow_moved_to,
+ "follow_moved_to"),
+ SVN_TEST_OPTS_PASS(mixed_rev_move,
+ "mixed_rev_move"),
SVN_TEST_NULL
};
Modified: subversion/branches/inheritable-props/subversion/tests/libsvn_wc/utils.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/tests/libsvn_wc/utils.c?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/tests/libsvn_wc/utils.c (original)
+++ subversion/branches/inheritable-props/subversion/tests/libsvn_wc/utils.c Tue Jun 26 19:26:49 2012
@@ -81,17 +81,18 @@ create_repos_and_wc(const char **repos_u
/* Create a WC. Set *WC_ABSPATH to its path. */
{
+ apr_pool_t *subpool = svn_pool_create(pool); /* To cleanup CTX */
svn_client_ctx_t *ctx;
svn_opt_revision_t head_rev = { svn_opt_revision_head, {0} };
- SVN_ERR(svn_client_create_context(&ctx, pool));
- /* SVN_ERR(svn_config_get_config(&ctx->config, config_dir, pool)); */
+ SVN_ERR(svn_client_create_context(&ctx, subpool));
SVN_ERR(svn_dirent_get_absolute(wc_abspath, wc_path, pool));
SVN_ERR(svn_client_checkout3(NULL, *repos_url, *wc_abspath,
&head_rev, &head_rev, svn_depth_infinity,
FALSE /* ignore_externals */,
FALSE /* allow_unver_obstructions */,
- ctx, pool));
+ ctx, subpool));
+ svn_pool_destroy(subpool);
}
/* Register this WC for cleanup. */
Modified: subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svnbuild.sh
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svnbuild.sh?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svnbuild.sh (original)
+++ subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svnbuild.sh Tue Jun 26 19:26:49 2012
@@ -22,5 +22,7 @@
set -e
set -x
+export JAVA_HOME=/usr/local/jdk-1.7.0
+
branch="$(basename $(svn info . | grep ^URL | cut -d' ' -f2))"
-(cd .. && gmake BRANCH="$branch")
+(cd .. && gmake BRANCH="$branch" THREADING="no")
Modified: subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svncheck-bindings.sh
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svncheck-bindings.sh?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svncheck-bindings.sh (original)
+++ subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svncheck-bindings.sh Tue Jun 26 19:26:49 2012
@@ -24,7 +24,7 @@ set -x
branch="$(basename $(svn info . | grep ^URL | cut -d' ' -f2))"
export MALLOC_OPTIONS=S
-(cd .. && gmake BRANCH="$branch" svn-check-bindings)
+(cd .. && gmake BRANCH="$branch" THREADING="no" svn-check-bindings)
grep -q "^Result: PASS$" tests.log.bindings.pl || exit 1
grep -q "^OK$" tests.log.bindings.py || exit 1
tail -n 1 tests.log.bindings.rb | grep -q ", 0 failures, 0 errors" || exit 1
Modified: subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svncheck.sh
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svncheck.sh?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svncheck.sh (original)
+++ subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svncheck.sh Tue Jun 26 19:26:49 2012
@@ -24,11 +24,11 @@ set -x
branch="$(basename $(svn info . | grep ^URL | cut -d' ' -f2))"
export MALLOC_OPTIONS=S
-(cd .. && gmake BRANCH="$branch" PARALLEL="" \
+(cd .. && gmake BRANCH="$branch" PARALLEL="" THREADING="no" \
svn-check-local \
svn-check-svn \
svn-check-neon \
svn-check-serf)
-grep -q "^FAIL:" tests.log* && exit 1
-grep -q "^XPASS:" tests.log* && exit 1
+grep -q "^FAIL:" tests.log.svn-check* && exit 1
+grep -q "^XPASS:" tests.log.svn-check* && exit 1
exit 0
Modified: subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svnclean.sh
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svnclean.sh?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svnclean.sh (original)
+++ subversion/branches/inheritable-props/tools/buildbot/slaves/bb-openbsd/svnclean.sh Tue Jun 26 19:26:49 2012
@@ -24,9 +24,10 @@ set -x
branch="$(basename $(svn info . | grep ^URL | cut -d' ' -f2))"
(test -h ../svn-trunk || ln -s build ../svn-trunk)
-for i in 3 4 5 6 7; do
+for i in 6 7; do
(test -h ../svn-1.${i}.x || ln -s build ../svn-1.${i}.x)
done
svn update ../../unix-build
(test -h ../GNUmakefile || ln -s ../unix-build/Makefile.svn ../GNUmakefile)
(cd .. && gmake BRANCH="$branch" reset clean)
+rm -f tests.log* fails.log*
Modified: subversion/branches/inheritable-props/tools/buildbot/slaves/centos/svnbuild.sh
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/tools/buildbot/slaves/centos/svnbuild.sh?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/tools/buildbot/slaves/centos/svnbuild.sh (original)
+++ subversion/branches/inheritable-props/tools/buildbot/slaves/centos/svnbuild.sh Tue Jun 26 19:26:49 2012
@@ -23,6 +23,7 @@
set -x
export MAKEFLAGS=-j4
+export PYTHON=/usr/local/python25/bin/python
echo "========= autogen.sh"
./autogen.sh || exit $?
@@ -30,15 +31,17 @@ echo "========= autogen.sh"
echo "========= configure"
# --with-junit=/usr/share/java/junit.jar
# --with-jdk=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64 \
+# --without-berkeley-db \
./configure --enable-javahl --enable-maintainer-mode \
--with-neon=/usr \
+ --with-serf=/usr/local \
--with-apxs=/usr/sbin/apxs \
- --without-berkeley-db \
+ --with-berkeley-db \
--with-apr=/usr \
--with-apr-util=/usr \
--with-jdk=/opt/java/jdk1.6.0_15 \
--with-junit=/home/bt/junit-4.4.jar \
- --with-sqlite=/home/bt/sqlite-3.6.17/sqlite3.c \
+ --with-sqlite=/home/bt/packages/sqlite-amalgamation-dir/sqlite3.c \
|| exit $?
echo "========= make"
Modified: subversion/branches/inheritable-props/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd (original)
+++ subversion/branches/inheritable-props/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd Tue Jun 26 19:26:49 2012
@@ -67,6 +67,12 @@ for %%i in (*.dll) do (
)
popd
+svnversion . /1.7.x | find "S" > nul:
+IF ERRORLEVEL 1 (
+ ECHO --- Building 1.7.x: Skipping perl tests ---
+ EXIT /B %result%
+)
+
SET PERL5LIB=%PERL5LIB%;%TESTDIR%\swig\pl-release;
pushd subversion\bindings\swig\perl\native
perl -MExtUtils::Command::MM -e test_harness() t\*.t
Modified: subversion/branches/inheritable-props/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd?rev=1354186&r1=1354185&r2=1354186&view=diff
==============================================================================
--- subversion/branches/inheritable-props/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd (original)
+++ subversion/branches/inheritable-props/tools/buildbot/slaves/win32-SharpSvn/svntest-cleanup.cmd Tue Jun 26 19:26:49 2012
@@ -31,12 +31,13 @@ IF NOT EXIST "imports\" (
svn co --username guest --password "" http://sharpsvn.open.collab.net/svn/sharpsvn/trunk/imports imports
)
IF NOT EXIST build\imports.done (
+ svn up imports
copy /y imports\dev-default.build default.build
nant prep-dev %NANTARGS%
IF ERRORLEVEL 1 (
exit /B 1
)
- del release\bin\*svn* release\bin\_*.*
+ del release\bin\*svn* release\bin\_*.* 2>nul:
echo. > build\imports.done
)
@@ -58,6 +59,8 @@ taskkill /im svnsync.exe /f 2> nul:
taskkill /im httpd.exe /f 2> nul:
taskkill /im fs-test.exe /f 2> nul:
taskkill /im op-depth-test.exe /f 2> nul:
+taskkill /im java.exe /f 2> nul:
+taskkill /im perl.exe /f 2> nul:
IF EXIST "%TESTDIR%\tests\subversion\tests\cmdline\httpd\" (
rmdir /s /q "%TESTDIR%\tests\subversion\tests\cmdline\httpd"
)