The latest Debian hurd package has a workaround to mimic Linux' behavior of never returning more than 4095 bytes for non-blocking pipe reads, which fixes the 'expect' behavior.
gcc-5 is currently building on the mahler buildd with it, it'll take a few hours to complete, but by comparing the first test passes, I can confirm that there are *WAY* fewer failures with this workaround in place. So these were really due to expect/tcl bad buffering. Samuel