[PATCH 1 of 3 TMP] run-test: restore the -i prompt by write .err before checking if it exists
Gregory Szorc
gregory.szorc at gmail.com
Sun May 18 00:32:07 UTC 2014
These patches all look sane. I'm rebasing on top of them.
On 5/17/14, 1:09 AM, Pierre-Yves David wrote:
> This series of three patches fixes the current issue with --interactive
> on default.
>
> However, as there is much more patch from Greg coming it may be wiser to
> pushed greg patch instead of introduction octolion of conflict with this
> tree patches.
>
> The patch are posted here for people that need them immediatly and to
> highly existing errors to Greg.
>
> On 05/17/2014 01:07 AM, pierre-yves.david at ens-lyon.org wrote:
>> # HG changeset patch
>> # User Pierre-Yves David <pierre-yves.david at fb.com>
>> # Date 1400312226 25200
>> # Sat May 17 00:37:06 2014 -0700
>> # Node ID 2e0e35c50422fbff720b8dcf5ea65d044b44a554
>> # Parent 8ff84d8b66e20e137b47f6e102fea5dddf8c7d4f
>> 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.
>>
>> diff --git a/tests/run-tests.py b/tests/run-tests.py
>> --- a/tests/run-tests.py
>> +++ b/tests/run-tests.py
>> @@ -471,22 +471,22 @@ class Test(object):
>> if ret:
>> msg += 'output changed and ' + describe(ret)
>> else:
>> msg += 'output changed'
>>
>> + if (ret != 0 or out != self._refout) and not skipped \
>> + and not options.debug:
>> + f = open(self._errpath, 'wb')
>> + for line in out:
>> + f.write(line)
>> + f.close()
>> res = self.fail(msg, ret)
>> elif ret:
>> res = self.fail(describe(ret), ret)
>> else:
>> res = self.success()
>>
>> - if (ret != 0 or out != self._refout) and not skipped \
>> - and not options.debug:
>> - f = open(self._errpath, 'wb')
>> - for line in out:
>> - f.write(line)
>> - f.close()
>>
>> vlog("# Ret was:", ret)
>>
>> if not options.verbose:
>> iolock.acquire()
>>
>
More information about the Mercurial-devel
mailing list