aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2017-03-23 09:02:34 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2017-03-23 09:53:02 +0100
commit4038aa23ab80bf52e98ffe69442ccd5e0cf79a89 (patch)
treef9c5f3ac5179e0590030c11da33934f7580690ea /tests
parent5069c3b800a5806ef132d187c4ec93d037d55ad2 (diff)
downloadsciteco-4038aa23ab80bf52e98ffe69442ccd5e0cf79a89.tar.gz
fixed and optimized piping very large buffers via EC/EG
* test case: HECcat$ on a large buffer (>= 64kb) truncates the buffer or repeats its beginning * it turns out that the incremental writing to the process' stdin was broken. We were always writing data from the beginning of the buffer which fails if the stdin watcher must be activated more than once. * Also, EOLWriter::convert() can validly return 0, even if bytes have been written on the data sink, so this value cannot be used to check whether the process has closed its stdin. We now make sure that the entire buffer range is written to stdin. * Piping large buffers no longer removes the buffer gap. This makes little difference when filtering via EC since it will change the buffer gap anyway. Can make a huge difference when not touching the buffer, though (e.g. HEGAcat$). * I did not add a test suite case since that requires a very large test file and it cannot be easily generated automatically.
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions