#! ./tesh p This tests whether TESH correctly sorts command output < p Test sorting and filtering of output < < $ true < < ! output sort < $ true < < $ printf 'profiling: foo\\n' < < $ printf 'profiling: foo' < < ! output sort < $ printf 'profiling: foo\\n' < < ! output sort < $ printf 'profiling: foo' < < $ printf 'a\\nb\\nc\\nd\\n' < > a < > b < > c < > d < < $ printf 'a\\nb\\nc\\nd' < > a < > b < > c < > d < < ! output sort < $ printf 'c\\nd\\nb\\na\\n' < > a < > b < > c < > d < < ! output sort < $ printf 'c\\nd\\nb\\na' < > a < > b < > c < > d < < $ printf 'a\\nprofiling: foo\\nprofiling: bar\\nb\\nc\\nd\\nprofiling: baz\\n' < > a < > b < > c < > d < < $ printf 'a\\nprofiling: foo\\nprofiling: bar\\nb\\nc\\nd\\nprofiling: baz' < > a < > b < > c < > d < < ! output sort < $ printf 'c\\nprofiling: foo\\nprofiling: bar\\nd\\nb\\na\\nprofiling: baz\\n' < > a < > b < > c < > d < < ! output sort < $ printf 'c\\nprofiling: foo\\nprofiling: bar\\nd\\nb\\na\\nprofiling: baz' < > a < > b < > c < > d $ perl ${bindir:=.}/tesh --enable-coverage > Enable coverage > Test suite from stdin > [(stdin):1] Test sorting and filtering of output > [(stdin):3] true > [(stdin):6] true > [(stdin):8] printf 'profiling: foo\\n' > [(stdin):10] printf 'profiling: foo' > [(stdin):13] printf 'profiling: foo\\n' > [(stdin):16] printf 'profiling: foo' > [(stdin):18] printf 'a\\nb\\nc\\nd\\n' > [(stdin):24] printf 'a\\nb\\nc\\nd' > [(stdin):31] printf 'c\\nd\\nb\\na\\n' > [(stdin):38] printf 'c\\nd\\nb\\na' > [(stdin):44] printf 'a\\nprofiling: foo\\nprofiling: bar\\nb\\nc\\nd\\nprofiling: baz\\n' > [(stdin):50] printf 'a\\nprofiling: foo\\nprofiling: bar\\nb\\nc\\nd\\nprofiling: baz' > [(stdin):57] printf 'c\\nprofiling: foo\\nprofiling: bar\\nd\\nb\\na\\nprofiling: baz\\n' > [(stdin):64] printf 'c\\nprofiling: foo\\nprofiling: bar\\nd\\nb\\na\\nprofiling: baz' > Test suite from stdin OK p Check the Right Prefix Length (19) for "output sort" ! output sort 19 < 12345678901234567 B line < 12345678901234567 A line $ cat > 12345678901234567 A line > 12345678901234567 B line ! output sort 19 < 123456789012345678 B line < 123456789012345678 A line $ cat > 123456789012345678 B line > 123456789012345678 A line ! expect return 2 ! output ignore < ! output sort 19 < < 123456789012345678 B line < < 123456789012345678 A line < $ cat < > 123456789012345678 A line < > 123456789012345678 B line $ perl ${bindir:=.}/tesh p Check user-defined prefix length for "output sort" ! output sort 5 < 000 B line < 000 A line $ cat > 000 A line > 000 B line ! output sort 4 < 000 B line < 000 A line $ cat > 000 B line > 000 A line ! expect return 2 ! output ignore < ! output sort 4 < < 000 B line < < 000 A line < $ cat < > 000 A line < > 000 B line $ perl ${bindir:=.}/tesh