- Jun 20, 2017
-
-
Augie Fackler authored
Spotted one of these, then wrote a check-code rule that caught them all. It will be the next change.
-
- Jun 15, 2017
-
-
Augie Fackler authored
-
Augie Fackler authored
-
- Jun 20, 2017
-
-
Augie Fackler authored
-
Augie Fackler authored
It's about to be a source of trouble, but removing it changes a ton of test lines, so doing this change as a standalone commit.
-
- Jun 04, 2017
-
-
Gregory Szorc authored
We would raise this if a test didn't return a result code. AFAICT this can only occur if there is a logic error in the test harness itself. I don't think it is worth the code complexity to distinguish this failure scenario from a regular test failure.
-
Gregory Szorc authored
AFAICT its last use was removed in d839e4820da7.
-
Gregory Szorc authored
unittest.SkipTest was introduced in Python 2.7. We previously defined it with our own class so we could run on Python 2.6.
-
- Jun 19, 2017
-
-
Martin von Zweigbergk authored
Several benefits: * Gets close the comment describing it * Splits off unrelated comment about "backup" argument * Error checking is customarily done early * If we added an early return to the method, it would still consistently fail if there was an existing transaction (so we would find and fix that case quickly) One test needs updating with for this change, because we no longer create the backup bundle before we fail. I don't see much reason to create that backup bundle. If some command was adding content and then trying to strip it as well within the transaction, we would have a backup for the user, but the risk of that not being discovered in development seems very small.
-
- Jun 20, 2017
-
-
Matt Harbison authored
This output hasn't been getting flushed, but would alter the log if it ever grew large enough. See 23b07333a8b2.
-
Matt Harbison authored
Several bits of output were missing[1], unless the DETACHED_PROCESS flag is _not_ passed to subprocess.Popen(). The problem with that is it briefly opens and closes several cmd.exe windows on screen. Foozy also mentioned some other issues in that thread. With this, the last of the long standing Windows failures fixed, the test suite now runs cleanly (536 ran, 67 skipped) on Windows 7 x64, with python 2.7.13. \o/ [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/096987.html
-
- Jun 18, 2017
-
-
Yuya Nishihara authored
Prepares for adding depth parameter.
-
Yuya Nishihara authored
Future patches will add depth parameter to ancestors(), which isn't compatible with only().
-
- Jun 17, 2017
-
-
Yuya Nishihara authored
I'm not sure if this is better. If we're planning to add a template keyword that returns obsoleted nodes unavailable in the repo (i.e. they have no valid revision numbers), we might want to use the current "node"-only format everywhere.
-
Yuya Nishihara authored
This is what showparents() does. repo[precnode] should never fail since its validity is tested by closestpredecessors().
-
Yuya Nishihara authored
More predecessor-depending values will be populated by the next patch.
-
- Jun 19, 2017
-
-
Matt Harbison authored
When hghave testing goes awry, the output order was changing on Windows. diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t --- a/tests/test-run-tests.t +++ b/tests/test-run-tests.t @@ -920,10 +920,10 @@ > EOF > done $ rt -j 2 - .... + ....skipped: unknown feature: notarealhghavefeature\r (esc) + + # Ran 5 tests, 0 skipped, 0 warned, 0 failed. - skipped: unknown feature: notarealhghavefeature - $ cd .. $ rm -rf broken Since 'skipped: unknown feature: notarealhghavefeature\n\n' is printed to stdout and the rest to stderr, it seems like maybe stdio isn't line buffered on Windows. When a program exits, stdout is flushed before stderr[1]. [1] https://blogs.msdn.microsoft.com/oldnewthing/20060519-09/?p=31133
-
Matt Harbison authored
On Windows, output streams are buffered when redirected to a file, and TerminateProcess() apparently doesn't trigger a flush. This left test-http-proxy.t missing part of the last line when it cat'd proxy.log[1]. Flushing stderr is all that is needed (on py27 anyway). I originally flushed stdout too, but that added additional output to the log: $ cat proxy.log + Accept: $LOCALIP (localhost)\r (esc) + Serving HTTP on 0.0.0.0 port 20810 ...\r (esc) + connect to localhost:$HGPORT\r (esc) * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob) + bye\r (esc) + connect to localhost:$HGPORT\r (esc) * - - [*] "GET http://localhost:$HGPORT/?cmd=branchmap HTTP/1.1" - - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) + bye\r (esc) + connect to localhost:$HGPORT\r (esc) * - - [*] "GET http://localhost:$HGPORT/?cmd=stream_out HTTP/1.1" - - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) + bye\r (esc) + connect to localhost:$HGPORT\r (esc) ... [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/096987.html
-
- Jun 16, 2017
-
-
Sean Farley authored
-
Sean Farley authored
Even on CentOS 7, git is at version 1.8. It seems git 1.9 is when ext::sh was introduced so we a check for that. The way these functions are written follows the same style and format for the way we check svn and bzr versions.
-
- Jun 17, 2017
-
-
Pulkit Goyal authored
The file() constructor has been removed in python 3.
-
Pulkit Goyal authored
This make test-ancestor.py pass on Python 3.
-
Pulkit Goyal authored
range() on python 3 returns a generator whereas on python 2 returns a list. So to get a list on python 3, we passed it into list()
-
- May 27, 2017
-
-
Pierre-Yves David authored
We move the feature to a proper configuration and document it. The config goes in the 'server' section because it feels like something the server owner would want to decide. We pick and open field because it seems likely that other checking levels will emerge in the future. (eg: server like the mozilla-try server will likely wants a "none" value) The option name contains 'push' since this affects 'push' only. The option value 'check-related' is preferred over one explicitly containing 'allow' or 'deny' because the client still have a strong decision power here. Here, the server is just advising the client on the check mode to use.
-
- Jun 17, 2017
-
-
Matt Harbison authored
-
- Jun 18, 2017
-
-
Yuya Nishihara authored
The order was unstable because of this.
-
- Jun 15, 2017
-
-
Boris Feld authored
Add a 'predecessors' template that returns the list of all closest known predecessors for a changectx. The elements of the list are row changectx node id formatted by default as short nodes. The "closest predecessors" are the first locally known revisions encountered while, walking predecessors markers. For example: 1) If a (A, (B)) markers exists and both A and B are locally known A is a closest predecessors of B. 2) If a (A, (B)) and (B, (C)) markers exists and only A and C are known locally, A will be the closest precursors of C. This logic respect repository filtering. So hidden revision will be skipped by this logic unless --hidden is specified. Since we only display the visible predecessors, this template will not display anything in most case. It makes a good candidate for inclusion in the default log output. I added a new test-file for testing the precursors in various scenarios. This test file will also be used for the successors template. A new "obsutil" module has been added to start gathering utility function outside of the large obsolete.py module.
-
- Apr 22, 2017
-
-
Yuya Nishihara authored
Since a map file has another level to select a template (spec -> mapfile -> topic), this isn't exactly the same as how a map file works. But I believe most users would expect the new behavior. A literal template is stored as an unnamed template so that it will never conflict with the templates defined in [templates] section.
-
- May 06, 2017
-
-
Yuya Nishihara authored
A literal template will be unnamed soon, so no recursion will be practically made by using -T option.
-
- Jun 15, 2017
-
-
Augie Fackler authored
We've been talking for years about a one-stop config knob to opt in to better behavior. There have been a lot of ideas thrown around, but they all seem to be too complicated to get anyone to actually do the work.. As such, this patch is the stupidest thing that can possibly work in the name of getting a good feature to users. Right now it's just three config settings that I think are generally uncontroversial, but I expect to add more soon. That will likely include adding new config knobs for the express purpose of adding them to tweakdefaults.
-
Pulkit Goyal authored
-
- Jun 16, 2017
-
-
Matt Harbison authored
The error return is not 0 for this method, so _check() was doing nothing when an error occurred. This forces the error path, much like the check for OpenProcess(). The only unhandled return is now WAIT_ABANDONED, but I don't see how that could happen in this case.
-
- Jun 07, 2017
-
-
Matt Harbison authored
When I tried importing util.posixfile to work around removing a file opened by another process on Windows, it brought along the declarations in win32.py, which broke the error handling[1]. It doesn't seem worth hacking killdaemons[2] just to isolate these declarations in win32.py, so just declare them here to prevent any future issues. (win32.py mentions the declarations are required by pypy.) [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-May/097905.html [2] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-May/097907.html
-
- May 07, 2017
-
-
Matt Harbison authored
I've been using a local hghaveaddon.py to enable this for a couple of months with reasonable success, and 'killdaemons' is already enabled on Windows. There's one failure[1] in test-http-proxy.t that this adds, which I can't figure out. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/096987.html
-
- Jun 15, 2017
-
-
Augie Fackler authored
-
Augie Fackler authored
-
Gregory Szorc authored
statprof.display_hotpath() accepts a "limit" function to choose the minimum threshold for samples to display. The default is 0.05, which means you don't need individual items contributing less than 5%. I had a need to adjust this threshold. We already have a config option for it. So let's reuse it. check-config.py doesn't like having multiple defaults for the ui.configwith() calls. The behavior is obviously correct. I'm not sure if it is worth teaching check-config.py how to ignore this. So I've just accepted the new output.
-
Gregory Szorc authored
-
Gregory Szorc authored
We previously weren't looking for this config helper. And, surprise, profiling.py references config options without docs. If I tried hard enough, I could have combined the regexps using a positive lookbehind assertion or something. But I didn't want to make my brain explode. At some point, we should probably do this linting at the tokenizer or ast layer. I'm not willing to open that can of worms right now.
-
Gregory Szorc authored
We didn't have explicit test coverage before. I broke check-config.py as part of writing patches and was lucky I realized it.
-