It speeds up significantly these tests.
R=cmp@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9283041
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@118912 0039d316-1c4b-4281-b951-d872f2087c98
This required fixing the adhoc mock to be more versatile.
TBR=cmp@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9178019
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117896 0039d316-1c4b-4281-b951-d872f2087c98
Enable it for git-cl and gcl.
R=nsylvain@chromium.org
BUG=107838
TEST=New connections go through https://
Review URL: http://codereview.chromium.org/9214004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117857 0039d316-1c4b-4281-b951-d872f2087c98
So any modification to the defaults is coded at only one place.
TBR=nsylvain@chromium.org
BUG=107838
TEST=
Review URL: http://codereview.chromium.org/9214002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117853 0039d316-1c4b-4281-b951-d872f2087c98
When a file contains a single line of text, svn diff will generate an odd hunk
header. Modify the hunk parsing code to accept this format.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9147056
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117143 0039d316-1c4b-4281-b951-d872f2087c98
Fix RAW.NEW_NOT_NULL parsing to detect correctly it's a new file.
Add proper Hunk parsing to fix these 2 bugs.
R=dpranke@chromium.org
BUG=109715
TEST=CQ'ing a patch generated with svn that delete files is applied properly, e.g. the file is deleted and not simple 0-length.
Review URL: http://codereview.chromium.org/9167015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117084 0039d316-1c4b-4281-b951-d872f2087c98
I don't want to receive them even in the case of a direct call to SendStack().
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9145001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117039 0039d316-1c4b-4281-b951-d872f2087c98
gcl change will look for unmodified files from the current directory and below
only.
Add shell out are cwd=checkout's root.
Fix try/finally handlers.
Remove extraneous os.chdir() calls since cwd is now correctly set.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8994004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@115027 0039d316-1c4b-4281-b951-d872f2087c98
R=maruel@chromium.org
TEST=Configure a checkout using the NewGitWorkflow with a safesync_url and everything works (though possibly with a really long git svn fetch time).
BUG=106015
Review URL: http://codereview.chromium.org/8382030
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@115011 0039d316-1c4b-4281-b951-d872f2087c98
That helps weed out some issues faces with svn plus helped me figure out some
misuses.
Most of the commands have been implicitly depending on os.getcwd(). This change
makes it always consistent and clear when dependence on the current directory is
needed.
Remove default arguments to scm.SVN.GenerateDiff and a few other calls to be
sure the refactoring was done right.
R=dpranke@chromium.org
BUG=
TEST=make sure most commands aren't broke
Review URL: http://codereview.chromium.org/8771042
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@114262 0039d316-1c4b-4281-b951-d872f2087c98
Also, increase the wait for socket binding to 0.2 seconds because OSX10.6 is
broken _and_ slow.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8749005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@112277 0039d316-1c4b-4281-b951-d872f2087c98
Previously, --send-mail required -r to pass. Now it uses the R=|TBR= lines from
the description, which is much more useful.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8735018
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@112221 0039d316-1c4b-4281-b951-d872f2087c98
This makes sure no regression relative to subprocess is introduced in
subprocess2.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8722001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@112217 0039d316-1c4b-4281-b951-d872f2087c98
Use it in subprocess2 and trial_dir to remove manually bookeeping.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8688011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@111941 0039d316-1c4b-4281-b951-d872f2087c98
No code change beside tests. This is mainly a regression test to make sure I
don't regress that code path.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8695003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@111535 0039d316-1c4b-4281-b951-d872f2087c98
This will be necessary to override member functions eventually. It also better
replicates what subprocess.Popen is.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8570005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@111530 0039d316-1c4b-4281-b951-d872f2087c98
Change return value from list to tuple for communicate(timeout != None).
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8539015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@110094 0039d316-1c4b-4281-b951-d872f2087c98
It will simplify importing utility modules from other projects. Otherwise I was getting name conflicts with 'test'.
Reenable W0403 that was disabled in the previous CL.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8508015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109636 0039d316-1c4b-4281-b951-d872f2087c98
Disable temporarily W0403, will be reenabled on the next CL
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8508017
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109435 0039d316-1c4b-4281-b951-d872f2087c98
"Add callback support for stdout and stderr."
"Add tests for both universal_newlines=True and False."
"Implement accelerated tee support for POSIX."
The reason is that the semantic of
subprocess2.check_call(cmd, timeout=60, stderr=subprocess2.STDOUT) changed,
stderr wasn't redirected to VOID anymore and for an unknown reason, it was
hanging until the timeout happened. Will reapply r109239 with a new regression
test to detect that bug.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8505046
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109369 0039d316-1c4b-4281-b951-d872f2087c98
This removes all the need of threading, which removes the contention on the GIL
lock.
Taking S2Test.test_check_output_tee_large as baseline, numbers are
real/user/sys in seconds:
Ubuntu workstation: ~25x 2.4/1.9/1.5 -> 0.10/0.70/0.02
OSX 10.6 laptop: ~40x 6.4/5.3/3.9 -> 0.15/0.80/0.07
Cygwin on win7: ~4x 2.8/2.2/1.3 -> 0.60/0.16/0.30
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8462008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109283 0039d316-1c4b-4281-b951-d872f2087c98
Fix stdout+stderr on Windows to binary mode in the child test process to make
sure testing is done correctly.
R=dpranke@chromium.org
BUG=
TEST=manually tested on OSX, Windows, cygwin and ubuntu
Review URL: http://codereview.chromium.org/8472002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109282 0039d316-1c4b-4281-b951-d872f2087c98
It's currently an inefficient thread implementation. Interestingly
enough, callback support is significantly faster on cygwin than on
native python.
Writing an efficient implementation is punted for a later change,
one per implementation.
Stops using a temporary file since it's not necessary anymore.
The goal is to reduce the number of places where a similar paradigm
is used by having a canonical generic implementation.
R=dpranke@chromium.org
BUG=
TEST=Tested manually on Windows, cygwin, linux, OSX 10.6
Review URL: http://codereview.chromium.org/8374026
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109239 0039d316-1c4b-4281-b951-d872f2087c98
This would cause random try job failures, especially when switching around
DEPS <-> svn directory conversion.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8431021
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@108144 0039d316-1c4b-4281-b951-d872f2087c98
Windows users wouldn't get the same behavior on git cl vs gcl.
Improve automatic CRLF<->LF conversion, some gcl users would be \n repeated in
their description depending on the editor used.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8360007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@107106 0039d316-1c4b-4281-b951-d872f2087c98
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
This eats stdout while gcl is committing, which is annoying. It needs tee-like
support first. Will revisit this change later, reverting in the meantime.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8344085
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106498 0039d316-1c4b-4281-b951-d872f2087c98
Otherwise it breaks naked --revision usage. One example issue is linux_chromeos
applying the revision to cros_deps instead of src.
TBR=dpranke@chromium.org
BUG=100335
TEST=
Review URL: http://codereview.chromium.org/8298002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105522 0039d316-1c4b-4281-b951-d872f2087c98
It will help catch issues like the one we are getting on linux_chromeos where
the ordering of the solution is now by name, causing the default solution to be
used for --revision being the wrong one.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8276020
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105387 0039d316-1c4b-4281-b951-d872f2087c98
Note that status() and revert() need to be correctly implemented before finishing this test.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8287002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105369 0039d316-1c4b-4281-b951-d872f2087c98
gclient status using --job 8 by default may return the items in a different
other. Simplify the test by forcing ordering.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8275009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105338 0039d316-1c4b-4281-b951-d872f2087c98
Improve revert to skip over non managed directory and to clobber invalid
checkouts.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8227033
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105103 0039d316-1c4b-4281-b951-d872f2087c98
It wasn't broken. The tree collapsed around the same time for unrelated reason.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8227036
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105090 0039d316-1c4b-4281-b951-d872f2087c98
I'm not sure if it's causing the tree blow up but I'm not taking any chance.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8228017
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104956 0039d316-1c4b-4281-b951-d872f2087c98
This fixes GClientSmokeBoth.testMultiSolutionsJobs flakiness by having
consistent ordering.
Now no out of thread modification is ever done, which result in much saner code.
R=dpranke@chromium.org
BUG=60725
TEST=tested manually with gclient sync --jobs 100 on chrome and with
gclient_smotetest.py
Review URL: http://codereview.chromium.org/8174014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104920 0039d316-1c4b-4281-b951-d872f2087c98
This means parsing the DEPS file all the time preemptively in case it's needed
for a From() reference. This could break certain checkout, we'll see.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8143022
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104817 0039d316-1c4b-4281-b951-d872f2087c98
This makes coherency checks more consistent for DEPS vs .gclient.
It's still not thread safe but the mutation code paths are easier to follow.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8135019
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104772 0039d316-1c4b-4281-b951-d872f2087c98
This would have caught a bug in the CQ instead of silently failing.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8203002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104767 0039d316-1c4b-4281-b951-d872f2087c98
Makes SCM take the |file_list| as a parameter instead of getting it from |options|.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8133032
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104148 0039d316-1c4b-4281-b951-d872f2087c98
While trying to fix all the multithreading issues...
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8135007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104026 0039d316-1c4b-4281-b951-d872f2087c98
While re-reading the code, I thought I had found a bug but I hadn't. So I wrote
the test to document the behavior to not make the same error again.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8121001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103772 0039d316-1c4b-4281-b951-d872f2087c98
The patches needs to by applied 'in-order' to not delete source files.
Added more tests.
R=dpranke@chromium.org
BUG=94330
TEST=
Review URL: http://codereview.chromium.org/8038056
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103309 0039d316-1c4b-4281-b951-d872f2087c98
Also reorder some patchset in preparation to patchset reording CL.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8066012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103147 0039d316-1c4b-4281-b951-d872f2087c98
Needed to make it so changes containing only *.mm are only sent to Mac trybots by default.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8059009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102930 0039d316-1c4b-4281-b951-d872f2087c98
This was causing issues for windows user with notepad2.
Fix trychange.py on python2.5.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8038028
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102797 0039d316-1c4b-4281-b951-d872f2087c98
Needed to make it so changes containing only *.mm are only sent to Mac trybots by default.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7925014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102783 0039d316-1c4b-4281-b951-d872f2087c98
The dependencies will continue to be managed. A new flag is present in the .gclient file to control this behavior.
Review URL: http://codereview.chromium.org/7918027
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102002 0039d316-1c4b-4281-b951-d872f2087c98
I had forgot one access to _requirements. Now that tests are run, this change is
safer to commit.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7909012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101856 0039d316-1c4b-4281-b951-d872f2087c98
Add a warning when RunUnitTestsInDirectory() finds no test to run to
catch this kind of regression.
Fix all the regressions that where introduced in the meantime...
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7906009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101347 0039d316-1c4b-4281-b951-d872f2087c98
This would result in a hang during gclient sync.
Includes regression test.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7885008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101070 0039d316-1c4b-4281-b951-d872f2087c98
stderr is not redirected by default. stdout is not allowed.
Both were oversight.
Do not override stdin=None in case the user would response to stderr output for
example.
Increase test coverage.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7860041
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100456 0039d316-1c4b-4281-b951-d872f2087c98
Makes the code clearer by separating good and bad use cases.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7850018
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100198 0039d316-1c4b-4281-b951-d872f2087c98
Add support for a few svn:* properties.
Silently ignore svn:mergeinfo. It's useless once we're switched to git-land anyway.
More testing.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7840003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99952 0039d316-1c4b-4281-b951-d872f2087c98
I plan to do some refactoring and these tests will help reduce the likehood of
regression.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7739039
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99799 0039d316-1c4b-4281-b951-d872f2087c98
Make tests more exhaustive in prospect to file move handling.
Rename 'c' variables to 'p' to easy copy paste.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7828017
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99439 0039d316-1c4b-4281-b951-d872f2087c98
gclient_scm_test.py throws randomly gclient_utils.Error.
Simply update the test expectation. It has no effect on runtime.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7828024
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99436 0039d316-1c4b-4281-b951-d872f2087c98
Verify correctness with a unit test written explicitly to verify all corner cases.
BUG=60725
TEST=new unit test
Review URL: http://codereview.chromium.org/6598087
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99234 0039d316-1c4b-4281-b951-d872f2087c98
That means some properties will being to be applied.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7776015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99182 0039d316-1c4b-4281-b951-d872f2087c98
Well, the funny thing is that it doesn't find the bug but the framework is
already good enough as-is to be worth checked-in, so the next commit can show
the relevant difference.
R=dpranke@chromium.org
BUG=60725
TEST=
Review URL: http://codereview.chromium.org/7773001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@98869 0039d316-1c4b-4281-b951-d872f2087c98
Still not enough to fix presubmit checks on commit queue but a step in the
right direction.
Review URL: http://codereview.chromium.org/7748020
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@98445 0039d316-1c4b-4281-b951-d872f2087c98
It's mostly for debugging when testing with a leaking service. It's going to be
rarely used but I used it often enough to warrant it being committed.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7744030
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@98438 0039d316-1c4b-4281-b951-d872f2087c98
It result in less code, forces uploading the change for eventual review and most
importantly enables the commit queue to correctly handle this.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7253015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@91575 0039d316-1c4b-4281-b951-d872f2087c98
This may include Makefile but it's saner to not include it by default
R=dpranke@chromium.org
BUG=
TEST=updated
Review URL: http://codereview.chromium.org/7251002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@90403 0039d316-1c4b-4281-b951-d872f2087c98