<div dir="ltr">Thanks! I have confirmed they are fine.</div><br><div class="gmail_quote"><div dir="ltr">On Mon, Aug 13, 2018 at 5:16 PM Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I've merged r339073 in r339541 to avoid conflicts, and this one<br>
together with r339184 in r339542.<br>
<br>
On Sat, Aug 11, 2018 at 2:33 PM, NAKAMURA Takumi via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
> At least, part of it, llvm/trunk/utils/lit/lit/Test.py, should be fed to<br>
> release_70 for compatibility of Py3.<br>
><br>
> On Wed, Aug 8, 2018 at 5:55 AM Stella Stamenova via llvm-commits<br>
> <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
>><br>
>> Author: stella.stamenova<br>
>> Date: Tue Aug  7 13:54:38 2018<br>
>> New Revision: 339179<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=339179&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=339179&view=rev</a><br>
>> Log:<br>
>> [lit, python3] Update lit error logging to work correctly in python3 and<br>
>> other test fixes<br>
>><br>
>> Summary:<br>
>> In Python2 'unicode' is a distinct type from 'str', but in Python3<br>
>> 'unicode' does not exist and instead all 'str' objects are Unicode string.<br>
>> This change updates the logic in the test logging for lit to correctly<br>
>> process each of the types, and more importantly, to not just fail in<br>
>> Python3.<br>
>><br>
>> This change also reverses the use of quotes in several of the cfg files.<br>
>> By using '""' we are guaranteeing that the resulting path will work<br>
>> correctly on Windows while "''" only works correctly sometimes. This also<br>
>> fixes one of the failing tests.<br>
>><br>
>> Reviewers: asmith, zturner<br>
>><br>
>> Subscribers: stella.stamenova, delcypher, llvm-commits<br>
>><br>
>> Differential Revision: <a href="https://reviews.llvm.org/D50397" rel="noreferrer" target="_blank">https://reviews.llvm.org/D50397</a><br>
>><br>
>> Modified:<br>
>>     llvm/trunk/utils/lit/lit/Test.py<br>
>>     llvm/trunk/utils/lit/lit/llvm/config.py<br>
>>     llvm/trunk/utils/lit/tests/Inputs/shtest-env/lit.cfg<br>
>>     llvm/trunk/utils/lit/tests/Inputs/shtest-shell/lit.cfg<br>
>>     llvm/trunk/utils/lit/tests/Inputs/shtest-timeout/lit.cfg<br>
>>     llvm/trunk/utils/lit/tests/lit.cfg<br>
>>     llvm/trunk/utils/lit/tests/shtest-timeout.py<br>
>><br>
>> Modified: llvm/trunk/utils/lit/lit/Test.py<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/Test.py?rev=339179&r1=339178&r2=339179&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/Test.py?rev=339179&r1=339178&r2=339179&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- llvm/trunk/utils/lit/lit/Test.py (original)<br>
>> +++ llvm/trunk/utils/lit/lit/Test.py Tue Aug  7 13:54:38 2018<br>
>> @@ -378,10 +378,15 @@ class Test:<br>
>>          fil.write(testcase_xml)<br>
>>          if self.result.code.isFailure:<br>
>>              fil.write(">\n\t<failure ><![CDATA[")<br>
>> -            if type(self.result.output) == unicode:<br>
>> -                encoded_output = self.result.output.encode("utf-8",<br>
>> 'ignore')<br>
>> -            else:<br>
>> +            # In Python2, 'str' and 'unicode' are distinct types, but in<br>
>> Python3, the type 'unicode' does not exist<br>
>> +            # and instead 'bytes' is distinct<br>
>> +            # in Python3, there's no unicode<br>
>> +            if isinstance(self.result.output, str):<br>
>>                  encoded_output = self.result.output<br>
>> +            elif isinstance(self.result.output, bytes):<br>
>> +                encoded_output = self.result.output.decode("utf-8",<br>
>> 'ignore')<br>
>> +            else:<br>
>> +                encoded_output = self.result.output.encode("utf-8",<br>
>> 'ignore')<br>
>>              # In the unlikely case that the output contains the CDATA<br>
>> terminator<br>
>>              # we wrap it by creating a new CDATA block<br>
>>              fil.write(encoded_output.replace("]]>", "]]]]><![CDATA[>"))<br>
>><br>
>> Modified: llvm/trunk/utils/lit/lit/llvm/config.py<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/llvm/config.py?rev=339179&r1=339178&r2=339179&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/llvm/config.py?rev=339179&r1=339178&r2=339179&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- llvm/trunk/utils/lit/lit/llvm/config.py (original)<br>
>> +++ llvm/trunk/utils/lit/lit/llvm/config.py Tue Aug  7 13:54:38 2018<br>
>> @@ -299,7 +299,7 @@ class LLVMConfig(object):<br>
>>                  'count'), verbatim=True, unresolved='fatal'),<br>
>>              ToolSubst(r'\| \bnot\b', command=FindTool('not'),<br>
>> verbatim=True, unresolved='fatal')]<br>
>><br>
>> -        self.config.substitutions.append(('%python', "'%s'" %<br>
>> (sys.executable)))<br>
>> +        self.config.substitutions.append(('%python', '"%s"' %<br>
>> (sys.executable)))<br>
>><br>
>>          self.add_tool_substitutions(<br>
>>              tool_patterns, [self.config.llvm_tools_dir])<br>
>><br>
>> Modified: llvm/trunk/utils/lit/tests/Inputs/shtest-env/lit.cfg<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/Inputs/shtest-env/lit.cfg?rev=339179&r1=339178&r2=339179&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/Inputs/shtest-env/lit.cfg?rev=339179&r1=339178&r2=339179&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- llvm/trunk/utils/lit/tests/Inputs/shtest-env/lit.cfg (original)<br>
>> +++ llvm/trunk/utils/lit/tests/Inputs/shtest-env/lit.cfg Tue Aug  7<br>
>> 13:54:38 2018<br>
>> @@ -6,4 +6,4 @@ config.test_source_root = None<br>
>>  config.test_exec_root = None<br>
>>  config.environment['FOO'] = '1'<br>
>>  config.environment['BAR'] = '2'<br>
>> -config.substitutions.append(('%{python}', "'%s'" % (sys.executable)))<br>
>> +config.substitutions.append(('%{python}', '"%s"' % (sys.executable)))<br>
>><br>
>> Modified: llvm/trunk/utils/lit/tests/Inputs/shtest-shell/lit.cfg<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/lit.cfg?rev=339179&r1=339178&r2=339179&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/Inputs/shtest-shell/lit.cfg?rev=339179&r1=339178&r2=339179&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- llvm/trunk/utils/lit/tests/Inputs/shtest-shell/lit.cfg (original)<br>
>> +++ llvm/trunk/utils/lit/tests/Inputs/shtest-shell/lit.cfg Tue Aug  7<br>
>> 13:54:38 2018<br>
>> @@ -4,4 +4,4 @@ config.suffixes = ['.txt']<br>
>>  config.test_format = lit.formats.ShTest()<br>
>>  config.test_source_root = None<br>
>>  config.test_exec_root = None<br>
>> -config.substitutions.append(('%{python}', "'%s'" % (sys.executable)))<br>
>> +config.substitutions.append(('%{python}', '"%s"' % (sys.executable)))<br>
>><br>
>> Modified: llvm/trunk/utils/lit/tests/Inputs/shtest-timeout/lit.cfg<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/Inputs/shtest-timeout/lit.cfg?rev=339179&r1=339178&r2=339179&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/Inputs/shtest-timeout/lit.cfg?rev=339179&r1=339178&r2=339179&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- llvm/trunk/utils/lit/tests/Inputs/shtest-timeout/lit.cfg (original)<br>
>> +++ llvm/trunk/utils/lit/tests/Inputs/shtest-timeout/lit.cfg Tue Aug  7<br>
>> 13:54:38 2018<br>
>> @@ -29,4 +29,4 @@ config.test_exec_root = config.test_sour<br>
>>  config.target_triple = '(unused)'<br>
>>  src_root = os.path.join(config.test_source_root, '..')<br>
>>  config.environment['PYTHONPATH'] = src_root<br>
>> -config.substitutions.append(('%{python}', "'%s'" % (sys.executable)))<br>
>> +config.substitutions.append(('%{python}', '"%s"' % (sys.executable)))<br>
>><br>
>> Modified: llvm/trunk/utils/lit/tests/lit.cfg<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/lit.cfg?rev=339179&r1=339178&r2=339179&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/lit.cfg?rev=339179&r1=339178&r2=339179&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- llvm/trunk/utils/lit/tests/lit.cfg (original)<br>
>> +++ llvm/trunk/utils/lit/tests/lit.cfg Tue Aug  7 13:54:38 2018<br>
>> @@ -40,7 +40,7 @@ config.substitutions.append(('%{inputs}'<br>
>>              src_root, 'tests', 'Inputs')))<br>
>>  config.substitutions.append(('%{lit}', "%%{python} %s" % (<br>
>>              os.path.join(lit_path, 'lit.py'),)))<br>
>> -config.substitutions.append(('%{python}', "'%s'" % (sys.executable)))<br>
>> +config.substitutions.append(('%{python}', '"%s"' % (sys.executable)))<br>
>><br>
>><br>
>>  # Enable coverage.py reporting, assuming the coverage module has been<br>
>> installed<br>
>><br>
>> Modified: llvm/trunk/utils/lit/tests/shtest-timeout.py<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/shtest-timeout.py?rev=339179&r1=339178&r2=339179&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/tests/shtest-timeout.py?rev=339179&r1=339178&r2=339179&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- llvm/trunk/utils/lit/tests/shtest-timeout.py (original)<br>
>> +++ llvm/trunk/utils/lit/tests/shtest-timeout.py Tue Aug  7 13:54:38 2018<br>
>> @@ -1,8 +1,5 @@<br>
>>  # REQUIRES: python-psutil<br>
>><br>
>> -# PR33944<br>
>> -# XFAIL: windows<br>
>> -<br>
>>  # FIXME: This test is fragile because it relies on time which can<br>
>>  # be affected by system performance. In particular we are currently<br>
>>  # assuming that `short.py` can be successfully executed within 2<br>
>><br>
>><br>
>> _______________________________________________<br>
>> llvm-commits mailing list<br>
>> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
><br>
</blockquote></div>