Please see attached log file.

Thanks,
Ying

On Wed, Jan 13, 2016 at 5:39 PM, Enrico Granata <egran...@apple.com> wrote:

> From the buildbot log it’s quite hard to tell what could be going on
>
> Is there any chance you guys could run the test by hand with the “-t -v”
> flags to the dotest.py driver and attach the output of the run?
>
> That might help figure out where the issue lies
>
> On Jan 13, 2016, at 5:35 PM, Ying Chen <chy...@google.com> wrote:
>
> Hello Enrico,
>
> The new test has been failing on Ubuntu buildbot. But it's passing on some
> offline Ubuntu machines, I don't understand what caused the difference.
> Could you please help to take a look?
>
>
> http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/10299
>
> Thanks,
> Ying
>
> On Wed, Jan 13, 2016 at 11:32 AM, Enrico Granata via lldb-commits <
> lldb-commits@lists.llvm.org> wrote:
>
>>
>> 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>
>> wrote:
>>
>>>
>>> On Jan 13, 2016, at 10:34 AM, Zachary Turner <ztur...@google.com> wrote:
>>>
>>>
>>>
>>> On Wed, Jan 13, 2016 at 10:25 AM Enrico Granata <egran...@apple.com>
>>> wrote:
>>>
>>>> On Jan 13, 2016, at 10:21 AM, Zachary Turner <ztur...@google.com>
>>>> wrote:
>>>>
>>>>
>>>> On Wed, Jan 13, 2016 at 10:15 AM Enrico Granata via lldb-commits <
>>>> 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
>>>>> +    @expectedFlakeyFreeBSD("llvm.org/pr25172 fails rarely on the
>>>>> buildbot")
>>>>> +    @expectedFlakeyLinux("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
>>
>>
>
>
> Thanks,
> *- Enrico*
> 📩 egranata@.com ☎️ 27683
>
>
lldb version 3.9.0 ( http://llvm.org/svn/llvm-project/lldb/trunk revision 257733 clang revision 257733 llvm revision 257733)

Session logs for test failures/errors/unexpected successes will go into directory 'logs-clang-3.5-i386'
Command invoked: /lldb-buildbot/lldbSlave/buildWorkingDir/scripts/../llvm/tools/lldb/test/dotest.py --executable /lldb-buildbot/lldbSlave/buildWorkingDir/scripts/../build/bin/lldb -A i386 -C clang-3.5 -v -s logs-clang-3.5-i386 -u CXXFLAGS -u CFLAGS --inferior -p TestCommandScriptImmediateOutput.py /lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test --event-add-entries worker_index=13:int -v -t

Configuration: arch=i386 compiler=clang-3.5
----------------------------------------------------------------------
Collected 2 tests

Change dir to: /lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/command_script_immediate_output
1: test_command_script_immediate_output_dwarf (TestCommandScriptImmediateOutput.CommandScriptImmediateOutputTestCase)
   Test that LLDB correctly allows scripted commands to set an immediate output file. ... ['/lldb-buildbot/lldbSlave/buildWorkingDir/scripts/../llvm/tools/lldb/test/dotest.py', '--executable', '/lldb-buildbot/lldbSlave/buildWorkingDir/scripts/../build/bin/lldb', '-A', 'i386', '-C', 'clang-3.5', '-v', '-s', 'logs-clang-3.5-i386', '-u', 'CXXFLAGS', '-u', 'CFLAGS', '--inferior', '-p', 'TestCommandScriptImmediateOutput.py', '/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test', '--event-add-entries', 'worker_index=13:int', '-v', '-t']
LLDB library dir: /lldb-buildbot/lldbSlave/buildWorkingDir/scripts/../build/bin
LLDB import library dir: /lldb-buildbot/lldbSlave/buildWorkingDir/scripts/../build/bin
compilers=['clang-3.5']
command script import /lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/command_script_immediate_output/custom_command.py
command script import /lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/command_script_immediate_output/custom_command.py(lldb) target create "None"
error: unable to find executable for 'None'
(lldb) command script import /lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/command_script_immediate_output/custom_command.py
command script add -f custom_command.command_function mycommand
mycommand
(lldb) command script add -f custom_command.command_function mycommand
(lldb) mycommand
(lldb) ERROR
tearing down the child process....

settings set interpreter.prompt-on-quit false
quit
settings set interpreter.prompt-on-quit false
(lldb) quit
2: test_command_script_immediate_output_dwo (TestCommandScriptImmediateOutput.CommandScriptImmediateOutputTestCase)
   Test that LLDB correctly allows scripted commands to set an immediate output file. ... command script import /lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/command_script_immediate_output/custom_command.py
command script import /lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/command_script_immediate_output/custom_command.py(lldb) target create "None"
error: unable to find executable for 'None'
(lldb) command script import /lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/command_script_immediate_output/custom_command.pycommand script add -f custom_command.command_function mycommand
mycommand

(lldb) command script add -f custom_command.command_function mycommand
(lldb) mycommand
(lldb) ERROR
tearing down the child process....

settings set interpreter.prompt-on-quit false
quit
settings set interpreter.prompt-on-quit false
(lldb) quit
Restore dir to: /lldb-buildbot

======================================================================
ERROR: test_command_script_immediate_output_dwarf (TestCommandScriptImmediateOutput.CommandScriptImmediateOutputTestCase)
   Test that LLDB correctly allows scripted commands to set an immediate output file.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2249, in dwarf_test_method
    return attrvalue(self)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 836, in wrapper
    func(*args, **kwargs)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 608, in wrapper
    func(*args, **kwargs)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/command_script_immediate_output/TestCommandScriptImmediateOutput.py", line 33, in test_command_script_immediate_output
    self.sendline('mycommand', patterns='this is a test string, just a test string')
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbpexpect.py", line 57, in sendline
    return self.sendimpl(self.child.sendline, command, patterns, timeout, exact)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbpexpect.py", line 51, in sendimpl
    return self.expect(patterns=patterns, timeout=timeout, exact=exact)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbpexpect.py", line 40, in expect
    return self.child.expect(patterns, timeout=timeout)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/third_party/Python/module/pexpect-2.4/pexpect.py", line 1316, in expect
    return self.expect_list(compiled_pattern_list, timeout, searchwindowsize)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/third_party/Python/module/pexpect-2.4/pexpect.py", line 1330, in expect_list
    return self.expect_loop(searcher_re(pattern_list), timeout, searchwindowsize)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/third_party/Python/module/pexpect-2.4/pexpect.py", line 1414, in expect_loop
    raise TIMEOUT (str(e) + '\n' + str(self))
TIMEOUT: Timeout exceeded in read_nonblocking().
<pexpect.spawn object at 0x7f04cb7f1110>
version: 2.4 ($Revision: 516 $)
command: /lldb-buildbot/lldbSlave/buildWorkingDir/scripts/../build/bin/lldb
args: ['/lldb-buildbot/lldbSlave/buildWorkingDir/scripts/../build/bin/lldb', 'None', '--no-use-colors']
searcher: searcher_re:
    0: re.compile("this is a test string, just a test string")
buffer (last 100 chars): y
(lldb) command script add -f custom_command.command_function mycommand
(lldb) mycommand
(lldb)
before (last 100 chars): y
(lldb) command script add -f custom_command.command_function mycommand
(lldb) mycommand
(lldb)
after: <class 'pexpect.TIMEOUT'>
match: None
match_index: None
exitstatus: None
flag_eof: False
pid: 22930
child_fd: 5
closed: False
timeout: 5
delimiter: <class 'pexpect.EOF'>
logfile: <open file '<stdout>', mode 'w' at 0x7f04d3452150>
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
Config=i386-clang-3.5
======================================================================
ERROR: test_command_script_immediate_output_dwo (TestCommandScriptImmediateOutput.CommandScriptImmediateOutputTestCase)
   Test that LLDB correctly allows scripted commands to set an immediate output file.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2259, in dwo_test_method
    return attrvalue(self)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 836, in wrapper
    func(*args, **kwargs)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 608, in wrapper
    func(*args, **kwargs)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/command_script_immediate_output/TestCommandScriptImmediateOutput.py", line 33, in test_command_script_immediate_output
    self.sendline('mycommand', patterns='this is a test string, just a test string')
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbpexpect.py", line 57, in sendline
    return self.sendimpl(self.child.sendline, command, patterns, timeout, exact)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbpexpect.py", line 51, in sendimpl
    return self.expect(patterns=patterns, timeout=timeout, exact=exact)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/packages/Python/lldbsuite/test/lldbpexpect.py", line 40, in expect
    return self.child.expect(patterns, timeout=timeout)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/third_party/Python/module/pexpect-2.4/pexpect.py", line 1316, in expect
    return self.expect_list(compiled_pattern_list, timeout, searchwindowsize)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/third_party/Python/module/pexpect-2.4/pexpect.py", line 1330, in expect_list
    return self.expect_loop(searcher_re(pattern_list), timeout, searchwindowsize)
  File "/lldb-buildbot/lldbSlave/buildWorkingDir/llvm/tools/lldb/third_party/Python/module/pexpect-2.4/pexpect.py", line 1414, in expect_loop
    raise TIMEOUT (str(e) + '\n' + str(self))
TIMEOUT: Timeout exceeded in read_nonblocking().
<pexpect.spawn object at 0x7f04cb7dbd50>
version: 2.4 ($Revision: 516 $)
command: /lldb-buildbot/lldbSlave/buildWorkingDir/scripts/../build/bin/lldb
args: ['/lldb-buildbot/lldbSlave/buildWorkingDir/scripts/../build/bin/lldb', 'None', '--no-use-colors']
searcher: searcher_re:
    0: re.compile("this is a test string, just a test string")
buffer (last 100 chars): y
(lldb) command script add -f custom_command.command_function mycommand
(lldb) mycommand
(lldb)
before (last 100 chars): y
(lldb) command script add -f custom_command.command_function mycommand
(lldb) mycommand
(lldb)
after: <class 'pexpect.TIMEOUT'>
match: None
match_index: None
exitstatus: None
flag_eof: False
pid: 23461
child_fd: 5
closed: False
timeout: 5
delimiter: <class 'pexpect.EOF'>
logfile: <open file '<stdout>', mode 'w' at 0x7f04d3452150>
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
Config=i386-clang-3.5
----------------------------------------------------------------------
Ran 2 tests in 11.251s

RESULT: FAILED (0 passes, 0 failures, 2 errors, 0 skipped, 0 expected failures, 0 unexpected successes)
Session logs for test failures/errors/unexpected successes can be found in directory 'logs-clang-3.5-i386'
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to