[Assorted-commits] SF.net SVN: assorted:[1603] sandbox/trunk/src/nix/buffer
Brought to you by:
yangzhang
From: <yan...@us...> - 2010-04-01 18:30:40
|
Revision: 1603 http://assorted.svn.sourceforge.net/assorted/?rev=1603&view=rev Author: yangzhang Date: 2010-04-01 18:30:33 +0000 (Thu, 01 Apr 2010) Log Message: ----------- added a lot more tests to determine buffering behavior Modified Paths: -------------- sandbox/trunk/src/nix/buffer/go.bash Added Paths: ----------- sandbox/trunk/src/nix/buffer/Gen.java Added: sandbox/trunk/src/nix/buffer/Gen.java =================================================================== --- sandbox/trunk/src/nix/buffer/Gen.java (rev 0) +++ sandbox/trunk/src/nix/buffer/Gen.java 2010-04-01 18:30:33 UTC (rev 1603) @@ -0,0 +1,9 @@ +public class Gen { + public static void main(String[] args) throws Exception { + for (int i = 0; i < 3; i++) { + System.out.println("a"); + System.err.println("b"); + Thread.sleep(300); + } + } +} Modified: sandbox/trunk/src/nix/buffer/go.bash =================================================================== --- sandbox/trunk/src/nix/buffer/go.bash 2010-04-01 18:29:16 UTC (rev 1602) +++ sandbox/trunk/src/nix/buffer/go.bash 2010-04-01 18:30:33 UTC (rev 1603) @@ -1,18 +1,43 @@ #!/usr/bin/env bash +set -x gcc -o gen gen.c # # These buffer. # -./gen 2>&1 | tee /dev/null -expect_unbuffer ./gen 2>&1 | tee /dev/null +#./gen 2>&1 | tee /dev/null +#expect_unbuffer ./gen 2>&1 | tee /dev/null +# +## +## These don't buffer. +## +# +#ssh localhost "$(readlink -f "$(dirname "$0")/gen")" 2>&1 | tee /dev/null +#ssh localhost "expect_unbuffer $(readlink -f "$(dirname "$0")/gen")" 2>&1 | tee /dev/null +#expect_unbuffer ssh localhost "$(readlink -f "$(dirname "$0")/gen")" 2>&1 | tee /dev/null +# +## This is, interestingly enough, not treated as a file. Equivalent to no +## piping. +#./gen > /dev/stdout +# This doesn't work. You really must use expect_unbuffer everywhere in your +# pipeline. +expect_unbuffer bash sub.bash + # -# These don't buffer. +# In a pipeline. # -ssh localhost "$(readlink -f "$(dirname "$0")/gen")" 2>&1 | tee /dev/null -ssh localhost "expect_unbuffer $(readlink -f "$(dirname "$0")/gen")" 2>&1 | tee /dev/null -expect_unbuffer ssh localhost "$(readlink -f "$(dirname "$0")/gen")" 2>&1 | tee /dev/null +# Everything shows up all at once at the end (as expected). +./gen 2>&1 | sed 's/ / /' | tee /dev/null +# XXX why does this hang?! +expect_unbuffer ./gen 2>&1 | expect_unbuffer sed 's/ / /' | tee /dev/null + +# +# Java is unaffected. +# + +javac Gen.java +java Gen | tee /dev/null This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |