> On Jan 13, 2016, at 11:26 AM, Zachary Turner <ztur...@google.com> wrote:
> 
> Thanks!  btw would having the command write its output to a file instead of 
> stdout solve the pexpect problme as well?
> 

That’s possible - but I would need to play with it a little bit to convince 
myself that it really is a faithful reproduction of my original issue
It’ll take me a little while to get to it - stay tuned.

> On Wed, Jan 13, 2016 at 11:22 AM Enrico Granata <egran...@apple.com 
> <mailto:egran...@apple.com>> wrote:
> 
>> On Jan 13, 2016, at 10:34 AM, Zachary Turner <ztur...@google.com 
>> <mailto:ztur...@google.com>> wrote:
>> 
>> 
>> 
>> On Wed, Jan 13, 2016 at 10:25 AM Enrico Granata <egran...@apple.com 
>> <mailto:egran...@apple.com>> wrote:
>>> On Jan 13, 2016, at 10:21 AM, Zachary Turner <ztur...@google.com 
>>> <mailto:ztur...@google.com>> wrote:
>>> 
>>> 
>>> On Wed, Jan 13, 2016 at 10:15 AM Enrico Granata via lldb-commits 
>>> <lldb-commits@lists.llvm.org <mailto:lldb-commits@lists.llvm.org>> wrote:
>>> +
>>> +class CommandScriptImmediateOutputTestCase (PExpectTest):
>>> Does the bug that you were trying to fix occur only when using the 
>>> command_script.py file from the lldb command line?  If you load it from 
>>> within lldb via an LLDB command, does the problem still occur?  If the 
>>> problem you are fixing is not specific to the LLDB command line, I would 
>>> prefer if you write this not as a pexpect test.
>> 
>> I would love to not touch pexpect :-) But in this case, I can’t see a way 
>> around it. I am trying to detect whether some text is “physically” printed 
>> to stdout. And pexpect seems the most obvious straightforward way to get 
>> that to happen. Note that, in this bug, the result object is filled in 
>> correctly even if nothing gets printed, so looking at the result won’t quite 
>> cut it - it really needs to detect output to stdout.
>> You're calling result.SetImmediateOutputFile(sys.__stdout__).  Wouldn't it 
>> work to use a file on the file system here, and then you open that file and 
>> look at it after running the commands?  It wouldn't work in remote cases, 
>> but it already doesn't work on remote cases anyway (as you point out below)
>>  
>> 
>>>  
>>> +
>>> +    mydir = TestBase.compute_mydir(__file__)
>>> +
>>> +    def setUp(self):
>>> +        # Call super's setUp().
>>> +        PExpectTest.setUp(self)
>>> +
>>> +    @skipIfRemote # test not remote-ready llvm.org/pr24813 
>>> <http://llvm.org/pr24813>
>>> +    @expectedFlakeyFreeBSD("llvm.org/pr25172 <http://llvm.org/pr25172> 
>>> fails rarely on the buildbot")
>>> +    @expectedFlakeyLinux("llvm.org/pr25172 <http://llvm.org/pr25172>")
>>> Are these necessary?  The windows one is necessary (but not if you change 
>>> this to not being a pexpect test as I've requested above), but why are the 
>>> other ones necessary?
>> 
>> 
>> Do we support remote pexpect? As for FreeBSD and Linux, they might not be 
>> necessary, but I’d rather much remove them (or let the relevant platform 
>> owners) remove them in a separate commit
>> 
>> No remote pexpect, so the @skipIfRemote probably needs to be there.  But I 
>> think everyone should be checking in tests enabled by default in the widest 
>> set of environments possible that you aren't completely sure are broken.  It 
>> should be up to the platform holders to disable broken tests, not to enable 
>> working tests.  Because it's much easier to notice a broken test going in 
>> than it is to notice a working test went in disabled (because who's going to 
>> think to test it out?).
> 
> 
> This is a fair point. I’ll enable those platforms in a subsequent commit ASAP
> 
> 
> Thanks,
> - Enrico
> 📩 egranata@.com ☎️ 27683
> 


Thanks,
- Enrico
📩 egranata@.com ☎️ 27683

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to