Commit Graph

240 Commits (9f20d020855c8ee87ba64d53ef94051c06aab860)

Author SHA1 Message Date
iannucci@chromium.org 0af3bb37eb Parallelize pylint PRESUBMIT checks.
R=maruel@chromium.org
BUG=479837,499650

Review URL: https://codereview.chromium.org/1181103002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295664 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com 5fc6c8c0e7 Skip OWNERS checks for CQ dry runs
The CQ dry run feature was announced in https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/G5-X0_tfmok

The primary complain is that the presubmit builders fail because of OWNERS checks or because of "Missing LGTM from someone other than...".
This change skips those checks for dry runs.

BUG=chromium:477190

Review URL: https://codereview.chromium.org/1090943003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294853 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vadimsh@chromium.org cf6a5d2026 Extract authentication options handling into a separate function.
It is done in preparation for switching to OAuth2 as default (and only)
authentication method. Having all auth options handled by the same code makes it
easier to gradually add OAuth2 support.

As part of this, some options that would no longer work with OAuth2 (and that
are not being used from anywhere now, as far as I can tell) are removed:
  * Passing account password for authentication via command line.
  * Overriding 'Host' header when making requests to Rietveld (won't work with
    SSL anyway).
  * --account_type option (seems to be ClientLogin specific).

R=maruel@chromium.org
BUG=356813

Review URL: https://codereview.chromium.org/1075723002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294746 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dtu@chromium.org 03f0c53648 Remove 150% hard line length limit for long URLs.
BUG=

Review URL: https://codereview.chromium.org/1033363002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294600 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sbc@chromium.org 013731e832 Handle KeyboardInterrupt consistently in python scripts
Handle KeyboardInterrupt gracefully rather the printing a
backtrace. Most users of these tools don't expect a
backtrace when then hit Ctrl-C.

Also, fix a few other inconsistencies found in the python
startup code of these different scripts:
- always call main function 'main' (rather than 'Main')
- always return 0 from main function
- if main takes args never include argv[0]

Review URL: https://codereview.chromium.org/955993006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294250 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
rmistry@google.com 5626a92eec Add ability to specify and run post upload hooks.
Motivation: There are a few things we want to do in Skia infrastructure that is not possible to do without this functionality.
Eg1: If there is a change made to Skia's markdown then automatically include a 'DOCS_PREVIEW_URL=https://skia.org?cl=1234' in the CL's description.
Eg2: Automatically add 'NOTRY=true' for changes impacting things that do not need trybot runs.
Eg3: Include CL specific links to skia's perf (https://perf.skia.org/) and correctness (https://gold.skia.org/) servers.

BUG=chromium:462208

Review URL: https://codereview.chromium.org/949273002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294242 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
glider@chromium.org c3617f3fdd Remove the Singleton<T> presubmit check from presubmit_canned_checks.py
This check is specific to Chromium codebase, there's no point in having it in depot_tools.

BUG=None
R=maruel@chromium.org

Review URL: https://codereview.chromium.org/924863002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294124 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dpranke@chromium.org bce925dfdd Remove the 'author_counts_as_owner' option from CheckOwners().
Way back in r185294 I added the ability to request that, when
checking owners, the patch author *should not* count (normally it does
count). We did this in order to be able to mimic the review processes
of WebKit in the Blink repo.

However, we ended up never using this feature, so I'm finally getting
around to deleting it.

R=maruel@chromium.org
BUG=none

Review URL: https://codereview.chromium.org/851103004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293685 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
raphael.kubo.da.costa@intel.com e589f98b8e presubmit_unittest: Fix pylint errors.
The recent pylint 1.3.1 and 1.4.0 upgrades have caused some new errors
to be reported for presubmit_unittest:

* presubmit_support.InputApi.AffectedFiles() expectes a parameter called
  |include_deletes|, not |include_deleted|.

* The mock AffectedFiles() implementation in
  CannedChecksUnittest.testCannedCheckChangeHasNoTabs() had its
  signature updated to match the one in presubmit_support.InputApi,
  otherwise pylint would (erroneously) consider that this mock
  implementation was used in all other AffectedFiles() invocations in
  CannedChecksUnittest and complain that some parameters were missing.
  It makes more sense to do this than disable the check and miss real
  problems in the future.

R=maruel@chromium.org, iannucci@chromium.org, pgervais@chromium.org
BUG=443232

Review URL: https://codereview.chromium.org/802403003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293468 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
tfarina@chromium.org b6795643ec Add lint_filters parameter to CheckChangeLintsClean function.
The idea here is that when one of the filters are cleaned up in Chromium,
they should not be filtered out, otherwise we won't catch them in
the presubmit step.

See for example -> https://codereview.chromium.org/788493002/

BUG=None
R=agable@chromium.org, dpranke@chromium.org

Review URL: https://codereview.chromium.org/779033003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293357 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
scottmg@chromium.org d05ab35296 Add canned presubmit check for GN formatting
Requires https://codereview.chromium.org/779883002/ to be landed/rolled before it's useful.

R=dpranke@chromium.org
BUG=348474

Review URL: https://codereview.chromium.org/779513005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293269 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
thakis@chromium.org c6ef53a877 Revert of Added orphaned compiled Python file checks. (patchset #2 id:20001 of https://codereview.chromium.org/621533002/)
Reason for revert:
Makes `git cl upload` very slow in chrome checkouts.

Original issue's description:
> Added orphaned compiled Python file checks.
> 
> There have been a handful of cases where orphaned compiled Python files (.pyc
> files without an accompanying .py file) have been loaded preferentially by
> the presubmit scripts, causing weird problems. This adds a check and a mode for
> such files, either warning the user or deleting them.
> 
> BUG=None
> TEST=local
>   - Tested against local repository.
> 
> R=iannucci@chromium.org, szager@chromium.org
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=292703

TBR=iannucci@chromium.org,szager@chromium.org,dnj@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=None

Review URL: https://codereview.chromium.org/701683002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292818 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dnj@chromium.org e917ddc33d Added orphaned compiled Python file checks.
There have been a handful of cases where orphaned compiled Python files (.pyc
files without an accompanying .py file) have been loaded preferentially by
the presubmit scripts, causing weird problems. This adds a check and a mode for
such files, either warning the user or deleting them.

BUG=None
TEST=local
  - Tested against local repository.

R=iannucci@chromium.org, szager@chromium.org

Review URL: https://codereview.chromium.org/621533002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292703 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
pgervais@chromium.org bd0cace8c1 Added os to input_api
BUG=
R=maruel@chromium.org

Review URL: https://codereview.chromium.org/614413003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292291 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
treib@chromium.org de3ee9016f Add exception for long url(..) lines in css files in presubmit_canned_checks.CheckLongLines
BUG=397508

Review URL: https://codereview.chromium.org/424733003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@285901 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
agable@chromium.org 40a3d0b62b Recursively find all tests in a git repo.
This method is necessary to allow good code organization (i.e., unittests live
adjacent to the source files they test) in the new infra.git repository.

R=maruel@chromium.org

Review URL: https://codereview.chromium.org/281013002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@270564 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
agable@chromium.org ea84ef1828 Get presubmit_support to compute diffs against a given upstream.
R=hinoka@chromium.org
BUG=368720

Review URL: https://codereview.chromium.org/269483002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@267309 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
nednguyen@google.com 2d8c977b8e Add file:// case in presubmit_canned_checks.CheckLongLines
BUG=

Review URL: https://codereview.chromium.org/234293002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@263142 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
isherman@chromium.org 103ae03aa1 For determining OWNERS, drop reviewers specified via '-r' that aren't in email address format.
BUG=none
R=agable@chromium.org

Review URL: https://codereview.chromium.org/215153004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262641 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
isherman@chromium.org b5cded6951 Infer CL author and reviewer list from local state if the issue has not previously been uploaded.
R=agable@chromium.org
BUG=none

Review URL: https://codereview.chromium.org/195793021

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@259250 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
machenbach@chromium.org 58a69cbe01 Support multiple try masters when sending tries to rietveld.
BUG=

Review URL: https://codereview.chromium.org/178223016

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@254321 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
enne@chromium.org 3b7e15c58f Add a canned clang-format presubmit check
For simplicity, the canned presubmit check just calls git cl format
directly with a new option --dry-run which does not change the files on
disk.

Because some users may not have git or clang-format might somehow have
errors, this canned check is a warning.  Additionally, if git cl format
fails with an error then the presubmit check will silently report
success to avoid spamming misconfigured users during upload.

BUG=none

Review URL: https://codereview.chromium.org/141493002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@246066 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
maruel@chromium.org 1ce8e665e7 Do not tell people to ask me for help. I won't help them.
Write a small HowTo to help confused people by confusing checks.

R=iannucci@chromium.org
BUG=

Review URL: https://codereview.chromium.org/137653003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@244717 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
stip@chromium.org 5ca2762dea Allow PRESUBMIT.py files to have old and new-style trybot specifications (as long as each file is consistent).
BUG=278554

Review URL: https://codereview.chromium.org/74163002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@241590 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
maruel@chromium.org ffeb2f36d7 Print test duration in verbose mode.
This is useful to diagnose slow tests. Make this multiprocessing aware. Stop
printing when the commands are added but use the proper message system instead.

R=iannucci@chromium.org
BUG=

Review URL: https://codereview.chromium.org/99453003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@238388 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
erikchen@google.com 12816087e7 Allow obj-c import statements to be as long as necessary.
I've unified the checks for language specific exceptions to line length. There is a behavior change where cpp compiler directives no longer have a maximum line length (previously they were restricted to 150% of max line length). This change was made to match the behavior for java files.

BUG=NONE

Review URL: https://codereview.chromium.org/100163002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@238268 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
dpranke@chromium.org 31b42c0192 Change the "Missing OWNERS" presubmit check to only suggest owners for missing files.
Previously we would suggest owners for the whole CL, rather than just
the files currently missing owner approval.

R=maruel@chromium.org
BUG=130978

Review URL: https://chromiumcodereview.appspot.com/23591064

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@224183 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
danakj@chromium.org c5965bae62 Change default ReportErrorFileAndLine to use filename:lineno format.
Currently the output is:

Found line ending with white spaces in:
cc/trees/layer_tree_host_impl_unittest.cc, line 379

This format is extremely annoying because you must combine the
file and line number together by hand. A more standard format
for expressing a position in a file is filename:lineno. This
changes the format to match:

Found line ending with white spaces in:
cc/trees/layer_tree_host_impl_unittest.cc:379

R=maruel@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/22837004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@217405 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
nick@chromium.org ff526198c4 presubmit_support: Call git once per change, to get a diff for all files. Parse this result to generate per-file diffs, which go into a cache that's shared between the AffectedFile instances.
Greatly improves presubmit performance on Blink where there may be rule violations (my test case went from 50s to 5s).

BUG=236206
TEST=new test in presubmit_unittest.py; manual performance test on Mac and Windows after touching hundreds of files in webkit; testing included add/move/edit/delete on both binary and text files.

Review URL: https://chromiumcodereview.appspot.com/15898005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@205275 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
maruel@chromium.org 9717013017 Fix many (but not all[1]) depot_tools tests on Windows.
[1] *scm_test.py are deeply broken, svnadmin is missing for svn_bin\.
And the git test are failing at shutdown.

Also Fix SvnCheckout.testMove flakiness.

TBR=ilevy@chromium.org,szager@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/14729012

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198900 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
ilevy@chromium.org bc11731a9e Add support for parallel presubmit unit testing.
Enable parallel tests on depot_tools.
On Z620 presubmit times: 3m -> 35s.

Review URL: https://codereview.chromium.org/14247012

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@195377 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
bauerb@chromium.org b3b5201bb6 Sort list of files that are missing OWNERS LGTM in presubmit check.
BUG=none

Review URL: https://chromiumcodereview.appspot.com/13852011

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@194983 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
enne@chromium.org e72c5f519a Add cpplint to presubmit input_api
This will let clients that don't use the heavily filtered canned cpplint
check and want to behave more strictly (aka cc/) reuse any common
settings applied to the cpplint module.

R=maruel@chromium.org
BUG=none

Review URL: https://codereview.chromium.org/13866044

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@194264 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
jamesr@chromium.org af27f462d4 Make maxlen configurable in PanProjectChecks
Blink wants to override the maxlen which is currently configurable in CheckLongLines but not in PanProjectChecks. This exposes the parameter on PanProjectChecks.


Review URL: https://chromiumcodereview.appspot.com/13403004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@192394 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
wez@chromium.org a6d011e8dc Add PresubmitPromptOrNotify helper.
PresubmitPromptOrNotify prints the message and prompts the user only
if the presubmit is on upload, not commit.

This is useful to provide upload-time sanity checks without blocking
the CL from being landed via the commit-queue.


Review URL: https://chromiumcodereview.appspot.com/12676031

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@190711 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 8a4a2bc611 Add skip_canned option to presubmit_support.
This will replace the hack in commit-queue/verification/presubmit_shim, and will
be used on the presubmit trybot.

R=maruel@chromium.org
BUG=

Review URL: https://codereview.chromium.org/12481002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@186922 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
dpranke@chromium.org f6ddfa4ba0 Use author as determined from scm if we can not get it from rietveld
Until an issue is uploaded to Rietveld, we don't know the official
email address to use for an owners check. There are three ways to fix
this: we could attempt to log in to rietveld prior to doing the check
and extract the address to use, or we could use ~/.last_codereview_email_address,
or we can use the email address we can determine from the checkout.

All three options have flaws; the first is particularly awkward since there
doesn't seem to be a good way to fetch the email without posting an issue.
The second is flawed if we use different addresses for different repos,
and the third is flawed if the checkout's email address is different from
the rietveld address, or if it is anonymous.

However, since this is only being used for owners checks (in this case),
anonymous checkouts probably don't matter, and hopefully the cases where
the email addresses differ are rare.

R=maruel@chromium.org
BUG=118388, 150049


Review URL: https://chromiumcodereview.appspot.com/12377023

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@186259 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
dpranke@chromium.org dbf8b4edd4 Add a way to require approval from owners other than the author.
Right now we require approval from someone, and we require an owner
approval, but we don't require an approval from an owner *other than
the patch other*. It's conceivable that we might want this, so
I am making this a configurable argument to the presubmit check.

This will also be needed to ensure that we don't suggest you as an
owner for your own patches, when we actually know who you are.

R=maruel@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/12326151

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@185294 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
dpranke@chromium.org 6b1e3ee9e3 Change the OWNERS check to print files, not directories
Currently, when we run the OWNERS check, we print the list of directories
that contain the relevant OWNERS files for any modified files in a change
still needing approval. 

This has two problems:

1) if we bubble all the way up to the top level OWNERS, we print "" instead of
"src/" or something more useful (bug 157191)

2) for OWNERS files that contain per-file set-noparent entries (like changes to IPC messages), this can be really confusing because an owner of other stuff in the directory might've approved things already.

This change will now print the list of files in the CL that are still unapproved.
This might be a lot more verbose (since you get N lines rather than 1 for N files in a given directory), but hopefully it'll be clearer in the two cases above.

Also, this change takes care of some lingering clean-up in the code to rename some methods to be clearer.

R=maruel@chromium.org
BUG=157191




Review URL: https://chromiumcodereview.appspot.com/12314044

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@184219 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
torne@chromium.org 0ecad9c05d Presubmit tests: allow 200 columns in .mk files.
The Android WebView code includes several manually-maintained .mk files
that are included by the Android build system. These contain some fairly
long lines as they need to refer to deep pathnames, which means the CQ
cannot be used as it always triggers a presubmit warning.

Allow .mk files to have 200 columns per line instead, which should be
enough for the long paths that are used. Add a test case for this.

BUG=


Review URL: https://chromiumcodereview.appspot.com/12252067

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@182733 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
ilevy@chromium.org 7b677f7a11 Fix RunPylint affected files regex issue
The AffectedSourceFiles query matches against files with paths relative
to repository root.  On the other hand _FindAllFiles checks white_lists
and black_lists against files paths relative to PRESUBMIT.py

As a result, when a PRESUBMIT.py is not at RepositoryRoot, RunPylint
can misbehave.

I fix this by modifying the white_lists and black_list regexes to
include the relative directory of PRESUBMIT.py.

Also adding some logging to pylint and simplified misc logic.


Review URL: https://chromiumcodereview.appspot.com/11776016

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@175364 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
jam@chromium.org 1d3f02c716 Revert 171153 to add a presubmit check to check for closed issues.
BUG=161702

Review URL: https://chromiumcodereview.appspot.com/11566014

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173104 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
ilevy@chromium.org 6bf2b45c51 Remove committed check from depot_tools presubmit
BUG=161702

R=maruel@chromium.org


Review URL: https://chromiumcodereview.appspot.com/11438024

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@171277 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
ilevy@chromium.org c50d761bca Add presubmit check for dcommitted / CQed CLs
We use the fact the dcommit adds a "Committed:" link to the
description.  If we wanted to be more strict, we could make
git cl dcommit post a comment on the CL (which would be nice
since it would notify reviewers that the CL was committed).

Note that this is untested as written, because it doesn't appear
that we have either git-cl integration tests, nor a test for
git cl dcommit adding the word "Committed:" so as written, this
presubmit check is prone to failure.  Would like suggestions to
improve.

Also adding DoNotSubmit checks and a couple others to
PanPresubmitChecks.

R=maruel@chromium.org,dpranke@chromium.org
BUG=161702

Review URL: https://chromiumcodereview.appspot.com/11421050

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@171158 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
ilevy@chromium.org 1fa5cb9ce3 Add presubmit check to verify issue is not closed.
This can come up when CQ closed an issue but the user's
local branch is still tied to the issue.

BUG=161702


Review URL: https://chromiumcodereview.appspot.com/11348122

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@171153 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
dpranke@chromium.org 17cc244cdb implement per-file OWNERS support
R=maruel@chromium.org
BUG=119394


Review URL: https://chromiumcodereview.appspot.com/11114005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@162529 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
sivachandra@chromium.org 270db5c246 Allow special java statements (for example imports) to be as long as neccessary.
BUG=152209


Review URL: https://chromiumcodereview.appspot.com/11043031

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@160956 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org d254e84506 Fix depot_tools presubmit check for ubuntu 12.04.
R=cmp@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/10828393

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@152752 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
gavinp@chromium.org 656326d43d Permit google app engine to be installed in testing_support.
I recently needed to run presubmit tests in depot_tools, and I was helpfully told:

$ gcl presubmit mychange
... eliding stuff ...
Install google_appengine sdk in /scratch/scratch/chrome/depot_tools_git/testing_support or higher up

This was a lie. If you put google_appengine there, the same presubmit
tools that told you to install it there will fail you for numerous
style violations contained within appengine itself. This change makes
us ignore those by blacklisting google_appengine inside of
testing_support.

Review URL: https://chromiumcodereview.appspot.com/10829293

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@151210 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
chrisha@chromium.org 1b129e551f Pass arguments to pylint child process via a pipe.
This gets around command-line length limitations.

BUG=
TEST=


Review URL: https://chromiumcodereview.appspot.com/10654002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143620 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 22a6876246 Fix Pylint presubmit check.
First, the environment variable for the child process was created but not
specified to subprocess.call().

Second, third_party/logilab/__init__.py tried to initialize itself with
pkg_resources.

TBR=chrisha@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10582031

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143111 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
chrisha@google.com 267d659c93 Add pylint to depot_tools.
This CL adds pylint (and its dependencies) to third_party. It plumbs them into presubmit_canned_checks, and exposes a command-line tool to access pylint.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10447014

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@143016 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
zork@chromium.org 046e175ff0 Output a list of suggested OWNERS reviewers when needed.
BUG=None
TEST=Change files that need OWNERS review.  Upload the patch.  Check that the warning suggests a minimum set of reviewers.

Review URL: https://chromiumcodereview.appspot.com/10222020

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@135619 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org ff9a217e26 Add disabled_warnings arg to RunPylint() and use the default pylintrc file by default.
Update pylintrc to be near the pylint 0.25.1 default file.

R=cmp@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@133707 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
bauerb@chromium.org 4cea01ef65 Allow 'class Singleton<T>' in header files.
BUG=none
TEST='friend class Singleton<T>' is allowed.


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@127751 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
pam@chromium.org aba6776889 Add a message that the list of directories needing owners may not be accurate on first upload, because we have no way to know whether the user is an OWNER for any of them.
BUG=117974
TEST=covered by presubmit unit tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@126894 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 3ecc8ea477 Adds saner behavior for git try -t foo to not fail in a inexplicable way.
Enforces that each builder and builder:test association must be in its own list item in PRESUBMIT.py/GetPreferredTrySlaves().

If a user run git try -t foo, trychange.py will now take the list of all the
slaves, will skip any :compile builder, and apply the test filter to them.

Currently, git try -t foo on a chromium checkout throws an exception because of
PRESUBMIT.py files containing test specification.

R=petermayo@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@125975 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
pam@chromium.org f46aed992a Show a list of directories missing OWNER reviewers on upload, and show directories rather than files missing OWNER approvals on commit.
BUG=117166
TEST=covered by presubmit unittests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@125588 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
bulach@chromium.org bfffd45e89 Presubmit tests: allow 100columns limit for .java files.
Chrome for Android introduced the requirement for java files.
Android's style guide:
http://source.android.com/source/code-style.html#limit-line-length
defines 100 columns for .java files.
This patch changes the presubmit tests which are also used by chromium's CQ.

TEST=testCannedCheckJavaLongLines

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@122938 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
estade@chromium.org ae7af92aba Add CSS as a source file type.
this forces license headers, no line-end whitespace, etc.

Also update the default license header regex to allow concluding */ on the final line.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@119448 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org d579fcf951 Enforces using cwd in all svn calls.
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
13 years ago
maruel@chromium.org 0927b7eef8 Create a new testing_support module to move utility modules there
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
14 years ago
maruel@chromium.org 428342a0a7 Standardize the sys.path fix up and fix a few pylint warnings.
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
14 years ago
maruel@chromium.org 7ccb4bb83e Blacklist .diff and .patch files
Otherwise, silly checks like EOL whitespace triggers constantly.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@108899 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 85da74b671 Temporarily disable CheckRietveldTryJobExecution() while the Rietveld API is being upgraded
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@107590 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org e085d81a36 Add assert to make sure the files argument type is valid.
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
14 years ago
asvitkine@chromium.org 1516995e79 Support for |change| argument to |GetPreferredTrySlaves()|, try 2.
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
14 years ago
maruel@chromium.org 6fb14d906b Revert r102783 "Support for |change| argument to |GetPreferredTrySlaves()|."
Cause an infinite recursion in some context.

TBR=asvitkine@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102836 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
asvitkine@chromium.org c0c424bca4 Support for |change| argument to |GetPreferredTrySlaves()|.
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
14 years ago
maruel@chromium.org fae707be99 Fix a typo that resulted in no tests to be run in depot_tools. :(
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
14 years ago
maruel@chromium.org cc73ad68ff Remove manual --tbr support and convert it into automatic TBR= detection.
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
14 years ago
maruel@chromium.org c33455af29 Remove files without an extension from the presubmit checks.
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
14 years ago
maruel@chromium.org eba646225d Improve CheckLongLines() to increase the hard limit at 50% when an exception is found.
Improve the list of exception to include very_long_symbol_names.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@89696 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 69eaecb312 Use tuple everywhere with explicit conversion.
TEST=Add PanProjectChecks unittest, there was none.

R=dpranke@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@88982 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 239f411a1d Add --rietveld_XXX arguments to presubmit_support to the commit queue can use it.
presubmit_support.py can now creates a Rietveld object on its own.

This is necessary since the object needs to be recreated out of process. The
commit queue runs the presubmit check out of process for sanity reasons.

Added TODO to push the cookie instead of the password.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87842 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org e4067ab7a2 Switch CheckOwners to use input_api.rietveld.
This enables private issue checking and simplifies testing.

R=dpranke@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87743 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 6fba34d0cf Add input_api.logging.
This makes it possible to dump logging information from a PRESUBMIT script when
calling git cl presubmit -v -v -v for example.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87603 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 80941c21e4 Use m['approval'] instead of looking at the text for 'lgtm'.
This makes it coherent with the commit queue by keeping the lgtm at a single
place.

This simplifies owners check code.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87251 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
bradnelson@google.com 9f90f807ad Fixing unit tests to match --project changes.
BUG=79546
TEST=None
R=maruel@google.com
Review URL: http://codereview.chromium.org/7062012

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@86837 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
sail@chromium.org 5538e022ab Remove presubmit warning for long lines in .grd files
The presubmit check complained about long lines in .grd files. This isn't a useful warning since .grd files aren't really source files.

The problem was that callers were passing in a file filter to InputApi.AffectedFiles but it was being ignored. Fix was to use the passed in file filter.

BUG=None
TEST=Ran on a local change and verified that I no longer got long line warnings on .grd files.
Review URL: http://codereview.chromium.org/6932060

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@85148 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nick@chromium.org 2a3ab7e861 presubmit_support: cache the result of ChangedContents.
Review URL: http://codereview.chromium.org/6897005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@83228 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nick@chromium.org e06cb4e55d Optimize presubmit checks for win32 where determining the diff
seems to take an inordinate amount of time.  The idea is to
lint whole files, and only try to compute deltas if the file
contains at least one error.

For my environment, the three affected presubmit rules took
2000ms each for a 4-file changelist.  With this change,
all my rules run in about a second, and none take anything
close to 500ms.

Also, since there seem to be environment-dependent factors at
work here, I'm proposing putting timer warnings that print
a message if any check takes longer than 500ms.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82559
Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=82568
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82607
Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=82653
Review URL: http://codereview.chromium.org/6883050

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82762 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nick@chromium.org 7b45069a28 :Revert r82607 (reportedly takes forever on long changes)
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82653 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nick@chromium.org 9c765d7aa1 Optimize presubmit checks for win32 where determining the diff
seems to take an inordinate amount of time.  The idea is to
lint whole files, and only try to compute deltas if the file
contains at least one error.

For my environment, the three affected presubmit rules took
2000ms each for a 4-file changelist.  With this change,
all my rules run in about a second, and none take anything
close to 500ms.

Also, since there seem to be environment-dependent factors at
work here, I'm proposing putting timer warnings that print
a message if any check takes longer than 500ms.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82559
Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=82568
Review URL: http://codereview.chromium.org/6883050

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82607 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nick@chromium.org cfbdd987b6 Revert 82559.
Review URL: http://codereview.chromium.org/6896004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82568 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nick@chromium.org baa40e63f9 Optimize presubmit checks for win32 where determining the diff
seems to take an inordinate amount of time.  The idea is to
lint whole files, and only try to compute deltas if the file
contains at least one error.

For my environment, the three affected presubmit rules took
2000ms each for a 4-file changelist.  With this change,
all my rules run in about a second, and none take anything
close to 500ms.

Also, since there seem to be environment-dependent factors at
work here, I'm proposing putting timer warnings that print
a message if any check takes longer than 500ms.
Review URL: http://codereview.chromium.org/6883050

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82559 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 58407af8be Add author to Change object. Don't set it yet.
It's mostly to be used with the commit queue.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81326 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 6c7723e796 Add --verbose flag when input_api.verbose is set.
It could result in failed tests so I'll revert if it ever becomes problematic.
It ran fine with my limited testing.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81279 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org cab38e994e First stab at using Rietveld wrapper object in both gcl.py and git-cl.
Exposes InputApi.rietveld and deprecate host_url.

This is useful since it places authentication at a single place.

BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81019 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 899e1c1a61 Add verbose support throught presubmit checks
Add propagation of verbose flag from git cl to presubmit_support

Rename NotImplementedException to standard NotImplementError.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80798 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org c98c0c5249 Make more tests pass on Windows.
Also fix a few issues found along the way.

Tests had regressed a lot. Add a lot of tweaks to make most test pass.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80618 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 0e766050d2 Use check_call() instead of Popen() for canned checks.
This removes a significant amount of code.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80616 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 45d8db04f9 Add more python 2.5 compatibility.
Makes all the tests runnable on python 2.5.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80068 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 2b5ce56a97 Add RunUnitTests() and RunUnitTestsInDirectory() canned checks.
Deprecate RunPythonUnitTests() since it is a bit awkward.

Add os_listdir, os_walk and platform to InputApi.

GOAL=Slowly adds python 2.5 support for unit tests
BUG=none
TEST=new unit test
R=dpranke@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80009 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 0a2bb37a5f improve logging slightly
Review URL: http://codereview.chromium.org/6736018

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79356 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 3e331bdf16 Clean up the parsing of approvals for OWNERS checks.
This fixes bugs 76724. We will now allow approvals from
only non-owners to be sufficient if the patch is from an OWNER.

Also, this strips out the code for suggesting reviewers during upload completely. I've come to believe that this should be done by gcl and git-cl directly rather than through a presubmit hook, when the change is being initially created. CheckOwners() is now a no-op on upload.

(We might need to add a new value to the codereview.settings file instead to indicate if we want this to happen).

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79339 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 0d1bdeadb7 fix a few minor lint and test issues. Note that presubmit_canned_checks
should never import any modules directly but always access modules
through input_api.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79337 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 35625c7e56 Fix locale.getlocale() exception.
Reapply r79006 with fixes for ubuntu 10.4.

The only change is in fix_default_encoding() to trap an exception
locale.getlocale() may throw.

R=dpranke@chromium.org
BUG=none
TEST=unit test

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79144 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org f946b22f96 Revert r79006: "Add code to 'fix' python encoding and it's unit test."
It is causing exception for some users on ubuntu 10.4 with:
"category LC_ALL is not supported"

TBR=dpranke

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79012 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 8e741d3bb1 Add code to 'fix' python encoding and it's unit test.
With this code in action, I can successfully print arabic and chinese on linux
and cygwin. It fails to print chinese on my Mac but prints arabic. It prints '?'
on Windows console but it *doesn't throw* which is the biggest improvement here.
It was particularly a problem on windows because WindowsError's description text
is in the current ANSI code page so it failed to print if the text was not pure
ASCII, like error message when using Windows' French UI.

R=dpranke@chromium.org
BUG=none
TEST=manual unit test ./tests/fix_encoding_test.py and it shouldn't throw

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79006 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago