Some more investigation shows some slightly different behaviour
depending on what format data is sent in. If there is a single line (as
above in echo example) of >4096 bytes then it is received as a 4096
chunk using a read() and executed, appending '\n'. The remaining
commands from next chunk don't get executed in this case.

If there are commands sent on multiple lines, (e.g. socket.send(b'echo
aaa\necho bbb\n')) then each line is received in a separate read() and
then executed. Result of each read() is returned in a write(). If the
individual lines exceed 4096 then they will also be truncated.

For the case of the test log file the lines are less than 4096, but the
last command hangs on write(), which I've not been able to reproduce yet
using a dummy script.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1646042

Title:
  Timeout running long script using adt-virt-qemu

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/autopkgtest/+bug/1646042/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to