Commit Graph

102 Commits

Author SHA1 Message Date
Phil Cohen
66cb3160e1 sparse: don't materialize sparse files during IMM
There's no need to do this and not doing so speeds up IMM tremendously when the sparse profile had to be adjusted.

(This is the grafted version from the fb-hgext repo)

Test Plan:

I ran an IMM before and after this change. Both succeeded but the later version was
much faster.

Differential Revision: https://phab.mercurial-scm.org/D1805
2018-01-16 17:43:19 -08:00
Phil Cohen
5b330bb027 testsdir: fix for fb/packaging
Summary:
Moving stuff into fb/packaging broke a few tests since they're
trying to apply the Mercurial linters on scripts that don't conform.

Let's exclude these directorites for now.

Test Plan: This fixes a test.

Reviewers: #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D6701215
2018-01-10 21:19:51 -08:00
Saurabh Singh
fddb5ec798 test-check-code: fix path to correct value
Summary: D6700784 encoded the the incorrect path. This commit addresses that.

Test Plan: Ran all the tests

Reviewers: singhsrb, #mercurial, #sourcecontrol

Reviewed By: singhsrb

Differential Revision: https://phabricator.intern.facebook.com/D6700869

Signature: 6700869:1515643366:9de76782a770b7ddc42b09bd06d07038f25c20b7
2018-01-10 20:05:57 -08:00
Saurabh Singh
cf825689ed facebook-hg-rpms: fix the tests due to D6700605
Summary:
D6700605 exposed new code to tests which resulted in some issues. This
commit addresses those test failures.

Test Plan: Ran all the tests.

Reviewers: phillco, #mercurial, #sourcecontrol

Reviewed By: phillco

Differential Revision: https://phabricator.intern.facebook.com/D6700784

Signature: 6700784:1515640770:034c3ccd602abc0b546d3936a31418803c17247b
2018-01-10 19:19:46 -08:00
Mateusz Kwapich
6da99d7b2a hgsubversion: fix core tests
Summary: Mostly just check code updates.

Test Plan: Ran the tests

Reviewers: singhsrb, #mercurial

Reviewed By: singhsrb

Differential Revision: https://phabricator.intern.facebook.com/D6698640

Signature: 6698640:1515628510:7b80ef593d2007810064d8226a3b45e2a1ee370f
2018-01-10 16:20:45 -08:00
Durham Goode
7f67b6a618 tests: update check code tests for fb/facebook-hg-rpms/ 2018-01-10 13:27:59 -08:00
Ryan McElroy
559e7547a0 remotenames: re-enable hggit-related test
Summary: Backed out changeset 213f1f4306c1

Test Plan: `run-tests.py`

Reviewers: ikostia, #mercurial

Reviewed By: ikostia

Differential Revision: https://phabricator.intern.facebook.com/D6693062

Signature: 6693062:1515600922:d8380108fd3129ee6b739a47e72523e1c19b86ce
2018-01-10 08:15:55 -08:00
Saurabh Singh
567b4fad29 infinitepush: fix test-check-code.t related errors
Summary:
We changed the location of infinitepush which exposed it to the
additional test that failed. This commit fixes infinitepush to address that
test.

Test Plan: Ran all the tests.

Reviewers: rmcelroy, #mercurial, #sourcecontrol

Reviewed By: rmcelroy

Subscribers: rmcelroy

Differential Revision: https://phabricator.intern.facebook.com/D6691723

Signature: 6691723:1515578651:230bafc88354ecf10a31487967b43ab46a5a1279
2018-01-10 08:10:27 -08:00
Ryan McElroy
4488942ef2 infinitepush: move infinitepush from fb-hgext to hgext
Summary:
This is part of the overall plan to move extensions from fb-hgext to
hgext. Follow up commits will address some of the test issues and move the
infinitepush related tests out of fb-hgext to hgext.

Test Plan: Ran all the tests.

Reviewers: rmcelroy, #mercurial, #sourcecontrol

Reviewed By: rmcelroy

Differential Revision: https://phabricator.intern.facebook.com/D6691670

Signature: 6691670:1515578586:8d7836aebb474856559c6dbe6fe2f572c8bdf7f1
2018-01-10 08:10:27 -08:00
Mark Thomas
75980fb243 build: vendor in Rust dependencies
Summary:
Rust dependencies are vendored in by downloading a package containing all Rust
dependencies.

The package can be updated using the new `vendorcrates.py` script.

Test Plan: Build using the vendored packages.

Reviewers: quark, #mercurial

Reviewed By: quark

Differential Revision: https://phabricator.intern.facebook.com/D6689642

Tasks: T24908724

Signature: 6689642:1515548647:8051ec3dadd98873f0312bb67978846ba029b558
2018-01-09 17:48:32 -08:00
Saurabh Singh
163b35ec2e fastmanifest: fix test-check-code.t related errors
Summary:
D6685044 changed the location of fastmanifest which exposed it to the
additional test that failed. This commit fixes fastmanifest to address that
test.

Test Plan: Ran all the tests.

Reviewers: #mercurial, #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D6685170
2018-01-09 11:13:10 -08:00
Saurabh Singh
ad7d64e944 fastmanifest: move fastmanifest from fb-hgext to hgext
Summary:
This is part of the overall plan to move extensions from fb-hgext to
hgext. Follow up commits will address some of the test issues and move the
fastmanifest related tests out of fb-hgext to hgext.

Test Plan: Ran all the tests.

Reviewers: durham, #mercurial, #sourcecontrol

Reviewed By: durham

Subscribers: durham

Differential Revision: https://phabricator.intern.facebook.com/D6685044

Signature: 6685044:1515524660:7cb9f8f28478e7bbf816f3823406c788b79a053a
2018-01-09 11:13:10 -08:00
Saurabh Singh
9da30944be cfastmanifest: move to hgext/extlib/
Summary:
Moves ctreemanifest into hgext/extlib/. D6679698 was committed to scratch branch
by mistake.

Test Plan: make local && cd tests && ./run-tests.py

Reviewers: durham, #mercurial, #sourcecontrol

Reviewed By: durham

Differential Revision: https://phabricator.intern.facebook.com/D6684623

Signature: 6684623:1515522634:9bec363d00990d9ff7d5f655e30ab8cae636155c
2018-01-09 10:36:54 -08:00
Ryan McElroy
66bd74e558 hggit: internalize extension
Test Plan: run-tests-.py

Reviewers: mitrandir, #mercurial

Reviewed By: mitrandir

Subscribers: ps, terrelln

Differential Revision: https://phabricator.intern.facebook.com/D6675896

Tasks: T24908724

Signature: 6675896:1515448382:df8d80cd7356ae8f5fb04586dc4a0a651bc498fd
2018-01-09 06:08:01 -08:00
Ryan McElroy
86609d7d59 hggit: fix check-code issues
Summary:
Some issues are difficult to fix right now so I'm just checking a few
errors in.

Test Plan: run-tests.py

Reviewers: mitrandir, #mercurial

Reviewed By: mitrandir

Subscribers: mitrandir, terrelln

Differential Revision: https://phabricator.intern.facebook.com/D6675890

Tasks: T24908724

Signature: 6675890:1515493853:bfdd6c504be2bd0208c2e272183354c688019ac9
2018-01-09 05:53:20 -08:00
Kostia Balytskyi
c40bd9954a fb-hgext: temporarily accept failures for test-check-code.t
Summary: This is a temporary commit, meant to be fixed later.

Test Plan: - test passes now

Reviewers: #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D6675412
2018-01-09 04:45:57 -08:00
Durham Goode
fe980ff373 remotefilelog: move to hgext/
Summary:
Moves the remotefilelog extension into hgext/ and it's tests into
tests/.

I did not fix up all the check-module errors, since it's a ton of work for
very little impact at this point.

Test Plan: make local && ./run-tests.py

Reviewers: #mercurial

Differential Revision: https://phabricator.intern.facebook.com/D6680030
2018-01-08 18:58:08 -08:00
Durham Goode
228e6a901e cstore: move to hgext/extlib/
Summary: Moves cstore to hgext/extlib/ and makes it build.

Test Plan: make local && run-tests.py

Reviewers: #mercurial

Differential Revision: https://phabricator.intern.facebook.com/D6678852
2018-01-08 17:55:53 -08:00
Durham Goode
3ae4bd8cf5 ctreemanifest: move to hgext/extlib/
Summary:
Moves ctreemanifest into hgext/extlib/. It will be built in a later
step when we add cstore to the build.

Test Plan: make local && cd tests && ./run-tests.py

Reviewers: #mercurial

Differential Revision: https://phabricator.intern.facebook.com/D6678844
2018-01-08 17:55:53 -08:00
Durham Goode
eb099b7fe1 cdatapack: move to lib/
Summary:
This moves the cdatapack code to the new lib/ directory and adds it to the main
setup.py.

Test Plan: hg purge --all && make local && cd tests && ./run-tests.py -S -j 48

Reviewers: #mercurial

Differential Revision: https://phabricator.intern.facebook.com/D6677491
2018-01-08 17:55:53 -08:00
Jun Wu
1055b4aeae test-remotenames-basic: skip hggit test cases
Summary:
hggit is not guaranteed available in the repo. So let's skip the test
temporarily.

Test Plan:
Run the test with clean PYTHONPATH and it does not complain about failed to
import hggit.

Reviewers: durham, #mercurial

Reviewed By: durham

Differential Revision: https://phabricator.intern.facebook.com/D6678488

Signature: 6678488:1515453639:bf9c4b53273c9b00d7c09c947af9849ebd272ad0
2018-01-08 13:55:19 -08:00
Durham Goode
0938fe19a3 clib: move fb-hgext/clib/ to lib
Summary:
cdatapack depends on clib, so let's move it to lib/ outside of fb-hgext.

None of the consumers of these files were changed. They will be changed as they
are moved into the main part of the repo.

Test Plan: hg purge --all && make local && cd tests && ./run-tests.py -S -j 48

Reviewers: mitrandir, #mercurial

Reviewed By: mitrandir

Differential Revision: https://phabricator.intern.facebook.com/D6677197

Signature: 6677197:1515447873:399fb3e7beb5cc1ad8db18f42b359ffbfbeb21f2
2018-01-08 15:08:18 -08:00
Durham Goode
1ab0bb112d sha1: add sha1detectcoll library to setup.py
Summary:
cdatapack depends on sha1detectcoll, so let's add the library to setup.py before
we add cdatapack.

Test Plan:
hg purge --all && make local && cd tests/ && ./run-tests.py -S -j 48

Verified sha1dc was in the build output and the tests passed.

Reviewers: quark, #mercurial

Reviewed By: quark

Differential Revision: https://phabricator.intern.facebook.com/D6676405

Signature: 6676405:1515444508:2da65c6c3a18267a1d3c151c8e9acf60b674ffc2
2018-01-08 12:54:57 -08:00
Mark Thomas
34c6eb7ccf hgsql: update check-code test output
Summary: Update check-code test output to reflect new locations of hgsql.

Test Plan: Run tests.

Reviewers: rmcelroy, #sourcecontrol

Reviewed By: rmcelroy

Differential Revision: https://phabricator.intern.facebook.com/D6661008

Tasks: T24908724

Signature: 6661008:1515089234:3c082103ebe6ec083b02281777c1f1d159528c27
2018-01-04 10:54:02 -08:00
Ryan McElroy
00e6e6f4bd hgsubversion: changes to pass check-code 2018-01-03 11:51:20 -08:00
Richard Langston
6debc1248f hg-git: exclude hg-git from checks 2018-01-03 10:03:16 -08:00
Kostia Balytskyi
a8eac4349b fb-hgext: ignore test-check-code failures 2018-01-03 09:46:16 -08:00
Mark Thomas
355f57bd1a hgsql: accept new test failures 2018-01-03 07:03:21 -08:00
Stanislau Hlebik
23dd2cf1eb remotenames: accept test failures 2018-01-03 06:28:53 -08:00
Yuya Nishihara
655da40532 thirdparty: move selectors2 module to where it should be 2017-11-30 22:43:03 +09:00
Anton Shestakov
9c20612eac hgweb: add .jshintrc with some basic rules
This file is picked up automatically by jshint, so no extra changes required in
test-check-jshint.t.
2017-11-22 22:18:06 +08:00
Augie Fackler
8616945a99 clang-format: configuration for the clang-format source formatter
Differential Revision: https://phab.mercurial-scm.org/D1129
2015-01-24 17:04:25 -05:00
David Demelier
f8643ab014 doc: rename README to README.rst
Many hosting services consider README without extension as plain text. By using
.rst extension, we bring better formatting on many services (e.g. bitbucket).
2017-09-26 08:37:17 +02:00
Siddharth Agarwal
4247de0b07 tests: disable lints on mercurial/thirdparty
In the next patch, this directory will be used to vendor in some third-party
code.

Differential Revision: https://phab.mercurial-scm.org/D866
2017-10-01 03:24:19 -07:00
Alex Gaynor
dbc20f0fe6 phabricator: include the suggested arc config in the repo
Test Plan:
I uploaded this revision with `arc diff`

Differential Revision: https://phab.mercurial-scm.org/D171
2017-07-21 14:22:08 +00:00
Jun Wu
9e22912b3c selector2: vendor selector2 library
This library was a backport of the Python 3 "selectors" library. It is
useful to provide a better selector interface for Python2, to address some
issues of the plain old select.select, mentioned in the next patch.

The code [1] was ported using the MIT license, with some minor modifications
to make our test happy:

  1. "# no-check-code" was added since it's foreign code.
  2. "from __future__ import absolute_import" was added.
  3. "from collections import namedtuple, Mapping" changed to avoid direct
     symbol import.

[1]: d27dbd2fdc/selectors2.py

# no-check-commit
2017-07-14 20:19:46 -07:00
Yuya Nishihara
8f3fa790c1 tests: alias syshg and syshgenv so they can be switched conditionally 2017-07-02 13:14:20 +09:00
Adam Simpkins
55a457de69 tests: use the system hg for examining the local repository
Most test scripts use "hg" to interact with a temporary test repository.
However a few tests also want to run hg commands to interact with the local
repository containing the mercurial source code.  Notably, many of the
test-check-* tests want to check local files and commit messages.

These tests were previously using the version of hg being tested to query the
source repository.  However, this will fail if the source repository requires
extensions or other settings not supported by the version of mercurial being
tested.  The source repository was typically initially cloned using the system
hg installation, so we should use the system hg installation to query it.

There was already a helpers-testrepo.sh script designed to help cope with
different requirements for the source repository versus the test repositories.
However, it only handled the evolve extension.  This new behavior works with
any extensions that are different between the system installation and the test
installation.
2017-06-27 17:24:31 -07:00
Gregory Szorc
6d8d6e3d41 perf: don't convert rev to node before calling revlog.revision() 2017-05-06 11:12:23 -07:00
Gregory Szorc
d84946776c perf: move gettimer() call
This is more consistent with other perf* functions.
2017-05-06 11:01:02 -07:00
Yuya Nishihara
d9d64e114f bdiff: proxy through mdiff module
See the previous commit for why.

mdiff seems a good place to host bdiff functions. bdiff.bdiff was already
aliased as textdiff, so we use it.
2017-04-26 22:03:37 +09:00
Yuya Nishihara
e4989d80e7 check-code: ignore re-exports of os.environ in encoding.py
These are valid uses of os.environ.
2017-05-01 17:23:48 +09:00
Yuya Nishihara
edbbe128cc check-code: exclude demandimport.py and policy.py from Python 3 checks
These modules can't depend on pycompat.py, which means we have to write Py3
hacks in them.
2017-04-26 21:51:19 +09:00
Phil Cohen
0c884d7a6a demandimport: add urwid.command_map to ignore list
The useful pudb debugger can be used with Mercurial, but its import of urwid
fails when demandimport is enabled. Add urwid.command_map to the ignore list so
pudb can be used with hg without disabling all of demandimport.
2017-05-03 18:26:57 -07:00
Gregory Szorc
9df2b10ec0 tests: add tests for poorly behaving HTTP server
I've spent several hours over the past few weeks investigating
networking failures involving hg.mozilla.org. As part of this, it
has become clear that the Mercurial client's error handling when
it encounters network failures is far from robust.

To prove this is true, I've devised a battery of tests simulating
various network failures, notably premature connection closes. To
achieve this, I've implemented an extension that monkeypatches the
built-in HTTP server and hooks in at the socket level and allows
various events to occur based on config options. For example, you
can refuse to accept() a client socket or you can close() the socket
after N bytes have been sent or received. The latter effectively
simulates an unexpected connection drop (and these occur all the
time in the real world).

The new test file launches servers exhibiting various "bad" behaviors
and points a client at them. As the many TODO comments in the test
call attention to, Mercurial often displays unhelpful errors when
network-related failures occur. This makes it difficult for users
to understand what's going on and difficult for server administrators
to pinpoint root causes without packet tracing.

Upcoming patches will attempt to fix these error handling
deficiencies.
2017-04-13 22:19:28 -07:00
Kostia Balytskyi
64a48b9fb1 windows: add win32com.shell to demandimport ignore list
Module 'appdirs' tries to import win32com.shell (and catch ImportError as an
indication of failure) to check whether some further functionality should
be implemented one or another way [1]. Of course, demandimport lets it down, so
if we want appdirs to work we have to add it to demandimport's ignore list.

The reason we want appdirs to work is becuase it is used by setuptools [2] to
determine egg cache location. Only fairly recent versions of setuptools depend
on this so people don't see this often.


[1] https://github.com/ActiveState/appdirs/blob/master/appdirs.py#L560
[2] aae0a92811/pkg_resources/__init__.py (L1369)
2017-04-14 12:34:26 -07:00
Jun Wu
e62af0bff4 test-check-code: do not use xargs
We have too many files, and passing them via arguments could cause strange
errors on some platforms [1]. Since check-code.py can now take "-" and read
file names from stdin, use it instead of xargs to avoid the argv size limit.

[1]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/096346.html
2017-04-06 22:10:46 -07:00
Philippe Pepiot
e5957f96bd perf: add historical portability for util.timer
util.timer has been introduced in ae5d60bb and used in perf.py since 22fbca1d.
For historical portability, forcibly define util.timer in perf.py
2017-04-06 14:41:42 +02:00
Martin von Zweigbergk
6b2860bef0 check-code: fix "covert" typo 2017-04-03 11:30:51 -07:00
Jun Wu
e6e0b871f1 test-check-code: prevent files being added to the root directory
Adding new files in the root directory is probably a mistake, and is usually
discouraged [1]. The test catches it to avoid mistakes like [2].

Modify the test if files need to be added in the root.

[1]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-July/086442.html
[2]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-March/095836.html
2017-03-29 12:14:20 -07:00