Callbacks registered with 'atexit' are sometimes not called (like when
hg aborts and calls os._exit). On the other hand, callbacks registered with
'ui.atexit' are called in most cases. Therefore, encouraging the use of
'ui.atexit' by failing the test 'test-check-code.t' appropriately.
Test Plan:
Ran the test 'test-check-code.t' after importing 'atexit' in one of
the py files and confirmed that the test fails.
Differential Revision: https://phab.mercurial-scm.org/D961
Callbacks registered with 'atexit' are sometimes not called (like when a
process is killed by the SIGTERM signal). Therefore, this commit replaces it
with 'ui.atexit' which ensures that the callbacks are always called. This also
makes the test compatible with chg.
Test Plan:
Ran the test 'test-push-race.t' with and without the '--chg' option.
Differential Revision: https://phab.mercurial-scm.org/D957
This patch fixes the handling of keyword arguments to functions on Python 3. On
python3, the keys of keyword arguments need to str which is unicode. So any
keyword argument will get will have str keys and any dictionary we pass as
kwargs must have all the keys as str.
This patch uses pycompat.(strkwargs|byteskwargs) to do so conversion between
bytes keys and str keys and use r'' if there are very less uses and conversion
can be prevented.
Differential Revision: https://phab.mercurial-scm.org/D972
It happened several times that people use `test-rebase-base.t` as a general
purposed test file for rebase. But it is intended to be only related to the
`--base` flag. This patch split, renamed the test, and added a note to
clarify.
Differential Revision: https://phab.mercurial-scm.org/D975
This config has been around for about 2 years now. So, it can be
assumed to be stable. Therefore, I am removing the config. This also makes the
test 'test-histedit-base.t' compatible with chg.
Test Plan:
- Ran the test 'test-histedit-base.t' with and without '--chg' option.
- Ran all the other tests without '--chg' option.
- Checked the output of 'hg help histedit'.
Differential Revision: https://phab.mercurial-scm.org/D942
This import was failing (because its invalid) which was resulting in
the following tests failing with chg running:
- test-convert-bzr.t
- test-convert-bzr-directories.t
- test-convert-bzr-ghosts.t
- test-convert-bzr-treeroot.t
- test-convert-bzr-114.t
- test-convert-bzr-merges.t
This commit fixes the import which in turn fixes the tests.
Test Plan:
Ran the aforementioned tests with and without '--chg' option.
Differential Revision: https://phab.mercurial-scm.org/D936
This is just a side effect of surfacing the "revisions were skipped"
state in the blame output.
Differential Revision: https://phab.mercurial-scm.org/D956
The eol extension may mangle the [eol] config section and that means chg is
unable to detect config file change (because it re-applies setconfig
changes).
This makes test-eol.t pass with chg.
Differential Revision: https://phab.mercurial-scm.org/D917
ad1bdea (dispatch: defer environment variable resolution in alias commands
(BC), 2016-05-06) made environment variables lazily resolved. But after
D805 (alias: make alias command lazily resolved 2017-09-23), alias
resolution happened after uisetup, which breaks the test for chg.
`uisetup` is known to behave different in chg. Let's verify the feature
without using `*setup`.
Differential Revision: https://phab.mercurial-scm.org/D912
chg only supports 'hg serve' when the options to the serve command
follow the 'hg serve'. For example, 'hg -R <repo> serve ..' is unsupported.
This leads to issues with chg running for the following tests:
- test-bundle2-exchange.t
- test-clone-uncompressed.t
- test-hgweb-csp.t
- test-http-bad-server.t
- test-http-bundle1.t
- test-http-protocol.t
- test-http.t
There was an effort made earlier to fix this issue for chg and the tests were
fixed to confirm to the compatible pattern. But the new tests did not take care
of the same and hence, fail. Hopefully, there will be continuous build setup
for chg after all tests are made compatible with chg so that we can avoid such
issues.
Test Plan:
Ran the aforementioned tests with and without '--chg' option.
Differential Revision: https://phab.mercurial-scm.org/D946
This password manager proxy is roughly the right-looking layer to
convert between strings and bytes. Many of these arguments can be
None, so we have a helper method to make the conversion preserve Nones
without exploding.
Differential Revision: https://phab.mercurial-scm.org/D886
These are all the httpserver and urllib.* aliases. They seem to make
more sense in the slightly-more-specific urllibcompat package than the
general-purpose pycompat.
Differential Revision: https://phab.mercurial-scm.org/D935
Doing a new file instead of pycompat because I'm starting to feel like
pycompat is getting a little enormous in terms of scope.
Differential Revision: https://phab.mercurial-scm.org/D890
The test fails when run with the "--chg" option. Therefore, this
commit makes it compatible with chg.
Test Plan:
Ran the test "test-devel-warnings.t' with and without the "--chg"
option
Differential Revision: https://phab.mercurial-scm.org/D915