Sean Farley <sean.michael.farley@gmail.com> [Fri, 07 Mar 2014 13:32:37 -0800] rev 21393
localrepo: move symlink logic to workingctx
Mads Kiilerich <madski@unity3d.com> [Fri, 09 May 2014 12:01:56 +0200] rev 21392
merge: separate worker functions for batch remove and batch get
The old code had one function that could do 2 different things. First,
is was called a bunch of times to do one thing. Next, it was called a
bunch of times to do the other thing. That gave unnecessary complexity
and a dispatch overhead. Having separate functions is "obviously" better
than having a function that can do two things, depending on its parameters.
It also prepares the code for the next refactorings.
Mads Kiilerich <madski@unity3d.com> [Tue, 22 Apr 2014 02:10:25 +0200] rev 21391
merge: change debug logging - test output changes but no real changes
Preparing for action list split-up, making sure the final change don't have any
test changes.
The patch moves debug statements around without really changing anything.
Arguably, it temporarily makes the code worse. The only justification is that
it makes it easier to review the test changes ... and in the end the big change
will not change test output at all.
The changes to test output are due to changes in the ordering of debug output.
That is mainly because we now do the debug logging for files when we actually
process them. Files are also processed in a slightly different but still
correct order. It is now primarily ordered by action type, secondarily by
filename.
The patch introduces some redundancy. Some of it will be removed again, some of
it will in the end help code readability and efficiency. It is possible that we
later on could introduce a "process this action list and do some logging and
progress reporting and apply this function".
The "preserving X for resolve" debug statements will only have single space
indentation. It will no longer have a leading single space indented "f: msg ->
m" message. Having this message double indented would thus no longer make
sense.
The bid actions will temporarily be sorted using a custom sort key that happens
to match the sort order the simplified code will have in the end.
Mads Kiilerich <madski@unity3d.com> [Thu, 15 May 2014 02:14:59 +0200] rev 21390
merge: move constant assignments a bit and use them more
Mads Kiilerich <madski@unity3d.com> [Fri, 02 May 2014 01:09:14 +0200] rev 21389
merge: change priority / ordering of merge actions
The ordering of actions matters. Normal file system semantics is that files
have to be removed before a directory with the same name can be created.
Before the first ordering key was to have 'r' and 'f' actions come first,
secondary key was the filename.
Because of future refactorings we want to consistently have all action types
(with a sensible priority) as separate first keys. Grouped by action type, we
sort by filename.
Not processing in strict filename order could give worse performance,
especially on spinning disks. That is however primarily an issue in the cases
where "all" actions are of the same kind and will be grouped together anyway.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 17 May 2014 00:47:42 -0700] rev 21388
run-tests: fix --interactive option
``TTest._testpath`` never existed. This must be the remain of some contributors
side refactoring.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 17 May 2014 00:38:48 -0700] rev 21387
run-test: fix AttributeError in the --interactive prompt
One must choose between ``"y yes".split()`` and ``('y', 'yes')``. I choose the
later.
The feature still crash when you answer "yes" to use it. But at least, the
prompt itself works.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 17 May 2014 00:37:06 -0700] rev 21386
run-test: restore the -i prompt by write .err before checking if it exists
The `--interactive` flag workis by overwriting the original test file by its
`.err` version. So we need to write it before calling `self.fail`. Otherwise the
`.err` file does not exists and `--interactive` is ignored.
We can move that block code around because it is dedicated to write changed
output and we moves it in the try-except dedicated to handling changed output.
Note that the flog is still badly broken after this change. But at least it crash
instead of being ignored.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 11:04:25 -0700] rev 21385
run-tests: move _gethgpath() into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:34:52 -0700] rev 21384
run-tests: move string escaping to TTest
With this patch, TTest is almost fully self-contained and extractable.
Only logging functions remain outside of its class.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:28:35 -0700] rev 21383
run-tests: add some docstrings
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:24:00 -0700] rev 21382
run-tests: move createhgrc into Test
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:19:58 -0700] rev 21381
run-tests: move SKIPPED_PREFIX and FAILED_PREFIX into TTest
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:16:36 -0700] rev 21380
run-tests: move SKIPPED_STATUS into Test class
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:14:25 -0700] rev 21379
run-tests: move parsehghaveoutput() into TTest
This patch starts a sequence of patches that will try to isolate
everything related to t tests into the TTest class.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:11:46 -0700] rev 21378
run-tests: make some methods of TestRunner internal
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:09:23 -0700] rev 21377
run-tests: eliminate main()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:08:33 -0700] rev 21376
run-tests: move option parser logic to TestRunner.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:06:19 -0700] rev 21375
run-tests: move umask into TestRunner.run()
We now properly restore the umask as well, since run() tries to clean up
after itself.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:05:00 -0700] rev 21374
run-tests: move checktools into TestRunner.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:04:15 -0700] rev 21373
run-tests: move test discovery into TestRunner.run()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:03:08 -0700] rev 21372
run-tests: move test shuffling and sorting into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 10:00:59 -0700] rev 21371
run-tests: assign testdir in TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 09:59:01 -0700] rev 21370
run-tests: move hash seed logic to TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 09:58:26 -0700] rev 21369
run-tests: move tmpdir calculations into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 09:57:02 -0700] rev 21368
run-tests: move more path calculations into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 09:54:28 -0700] rev 21367
run-tests: move pypath manipulation into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 09:49:33 -0700] rev 21366
run-tests: establish TestRunner.run()
(amended by mpm to remove environ cleanup - unrelated change that
breaks on Solaris)
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 09:44:39 -0700] rev 21365
run-tests: move program searching into TestRunner
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Apr 2014 09:40:27 -0700] rev 21364
run-tests: allow TestRunner to be passed into main()
This allows 3rd parties to specify a custom TestRunner. This is useful
for providing your own test discovery mechanism, for example.