You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
depot_tools/tests
maruel@chromium.org 6c48a304d4 Fix a concurrency issue happening with deep dependencies when the intermediary
directory doesn't exist, on fresh checkout and --jobs >1.

It happens in the case where there is 3 dependencies:
a
a/b/c/d
a/b/c/e

'a' is processed first. Then 'a/b/c/d' and 'a/b/c/e' are fired simultaneously.
If both are not present, both svn checkout tries to mkdir b and b/c and a race
condition occurs between their call for isdir() and mkdir().

This works around the issue by creating the intermediary directories ourself
before calling out svn and managing the error ourself.

TBR=dpranke@chromium.org
BUG=
TEST=fresh checkout shouldn't be flaky


Review URL: http://codereview.chromium.org/8359018

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106636 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
..
subversion_config Move commit-queue/checkout into depot_tools so it can be reused by the try server. 14 years ago
__init__.py Move git_cl back into depot_tools. 14 years ago
abandon.sh Move git_cl back into depot_tools. 14 years ago
basic.sh Move git_cl back into depot_tools. 14 years ago
breakpad_unittest.py Add a unit test to breakpad. 14 years ago
checkout_test.py Fix handling of file renames. 14 years ago
fake_repos.py Add a --deps-file flag to gclient to allow using a deps file other than DEPS. 14 years ago
filesystem_mock.py Add more python 2.5 compatibility. 14 years ago
fix_encoding_test.py Make more tests pass on Windows. 14 years ago
gcl_unittest.py Revert r106358 "Get rid of RunShell*() functions in gcl.py to finish the conversion to subprocess2" 14 years ago
gclient_scm_test.py Fix a concurrency issue happening with deep dependencies when the intermediary 14 years ago
gclient_smoketest.py Prepare to make --revision <number> to be an error when multiple solutions are present. 14 years ago
gclient_test.py Do not sort solutions anymore, only dependencies specified in DEPS files. 14 years ago
gclient_utils_test.py Fix a concurrency issue happening with deep dependencies when the intermediary 14 years ago
hooks.sh Move git_cl back into depot_tools. 14 years ago
local_rietveld.py Improve search algorithm for GAE SDK in depot_tools integration tests. 14 years ago
owners.sh Move git_cl back into depot_tools. 14 years ago
owners_unittest.py Add more python 2.5 compatibility. 14 years ago
patch.sh Move git_cl back into depot_tools. 14 years ago
patch_test.py Fix handling of file renames. 14 years ago
patches_data.py Share more data between checkout_test and patches_data. 14 years ago
post-dcommit-hook-test.sh Remove manual --tbr support and convert it into automatic TBR= detection. 14 years ago
presubmit_unittest.py Add assert to make sure the files argument type is valid. 14 years ago
push-basic.sh Move git_cl back into depot_tools. 14 years ago
push-from-logs.sh Move git_cl back into depot_tools. 14 years ago
rename.sh Move git_cl back into depot_tools. 14 years ago
rietveld_test.py Fix handling of file renames. 14 years ago
sample_pre_commit_hook Move commit-queue/checkout into depot_tools so it can be reused by the try server. 14 years ago
save-description-on-failure.sh Move git_cl back into depot_tools. 14 years ago
scm_unittest.py Reapply r104938 "Make svn update not prompt during a sync." 14 years ago
submit-from-new-dir.sh Move git_cl back into depot_tools. 14 years ago
subprocess2_test.py Update subprocess2.check_output() to behave like subprocess.check_output(). 14 years ago
super_mox.py Fix a typo that resulted in no tests to be run in depot_tools. :( 14 years ago
test-lib.sh Move git_cl back into depot_tools. 14 years ago
trial_dir.py Make TrialDirMixIn so it can be used stand alone. 14 years ago
trychange_unittest.py Add repo-managed checkout support to trychange.py 14 years ago
upload-local-tracking-branch.sh Move git_cl back into depot_tools. 14 years ago
upload-stale.sh Move git_cl back into depot_tools. 14 years ago
upstream.sh Do not run integration tests on upload, they are too slow. 14 years ago
watchlists_unittest.py Add more python 2.5 compatibility. 14 years ago