mirror of
https://github.com/dkogan/feedgnuplot.git
synced 2025-05-05 22:11:12 +08:00
added streaming tests
This commit is contained in:
parent
59625675f7
commit
f83d8db27a
673
t/plots.t
673
t/plots.t
@ -15,7 +15,7 @@ BEGIN {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
use Test::More tests => 32;
|
use Test::More tests => 42;
|
||||||
use File::Temp 'tempfile';
|
use File::Temp 'tempfile';
|
||||||
use IPC::Run 'run';
|
use IPC::Run 'run';
|
||||||
use String::ShellQuote;
|
use String::ShellQuote;
|
||||||
@ -823,6 +823,677 @@ tryplot( testname => 'Monotonicity check',
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
note( "Starting to run streaming tests. These will take several seconds each" );
|
||||||
|
|
||||||
|
# replotting every 1.0 seconds. Data comes in every 1.1 seconds. Two data
|
||||||
|
# points, and then "exit", so I should have two frames worth of data plotted. I
|
||||||
|
# pre-send a 0 so that the gnuplot autoscaling is always well-defined
|
||||||
|
tryplot( testname => 'basic streaming test',
|
||||||
|
cmd => q{seq 500 | awk 'BEGIN{ print 0; } {print (NR==3)? "exit" : $0; fflush(); system("sleep 1.1");}'},
|
||||||
|
options => [qw(--lines --points --stream)],
|
||||||
|
refplot => <<'EOF' );
|
||||||
|
|
||||||
|
|
||||||
|
1 ++----+-----+-----+-----+----+A
|
||||||
|
+ + + + + *+
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.8 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.6 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.4 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.2 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
+* + + + + +
|
||||||
|
0 A+----+-----+-----+-----+----++
|
||||||
|
1 1.2 1.4 1.6 1.8 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2 ++------+------+-------+-----+A
|
||||||
|
+ + + + *+
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1.5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1 ++ A ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
+* + + + +
|
||||||
|
0 A+------+------+-------+-----++
|
||||||
|
1 1.5 2 2.5 3
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
tryplot( testname => 'basic streaming test, twice as fast',
|
||||||
|
cmd => q{seq 500 | awk 'BEGIN{ print 0; } {print (NR==3)? "exit" : $0; fflush(); system("sleep 0.6");}'},
|
||||||
|
options => [qw(--lines --points --stream 0.4)],
|
||||||
|
refplot => <<'EOF' );
|
||||||
|
|
||||||
|
|
||||||
|
1 ++----+-----+-----+-----+----+A
|
||||||
|
+ + + + + *+
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.8 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.6 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.4 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.2 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
+* + + + + +
|
||||||
|
0 A+----+-----+-----+-----+----++
|
||||||
|
1 1.2 1.4 1.6 1.8 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2 ++------+------+-------+-----+A
|
||||||
|
+ + + + *+
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1.5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1 ++ A ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
+* + + + +
|
||||||
|
0 A+------+------+-------+-----++
|
||||||
|
1 1.5 2 2.5 3
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
tryplot( testname => 'streaming with --xlen',
|
||||||
|
cmd => q{seq 500 | awk 'BEGIN{ print 0; } {print (NR==3)? "exit" : $0; fflush(); system("sleep 0.6");}'},
|
||||||
|
options => [qw(--lines --points --stream 0.4 --xlen 1.1)],
|
||||||
|
refplot => <<'EOF' );
|
||||||
|
|
||||||
|
|
||||||
|
1 ++-+----+-----+----+-----+---+A
|
||||||
|
| + + + + + *+
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.8 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.6 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.4 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.2 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| +* + + + + +
|
||||||
|
0 ++-A----+-----+----+-----+---++
|
||||||
|
1 1.2 1.4 1.6 1.8 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2 ++-+----+-----+----+-----+---+A
|
||||||
|
| + + + + + *+
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1.8 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1.6 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1.4 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1.2 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| +* + + + + +
|
||||||
|
1 ++-A----+-----+----+-----+---++
|
||||||
|
2 2.2 2.4 2.6 2.8 3
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
tryplot( testname => 'streaming with --monotonic',
|
||||||
|
cmd => q{seq 500 | awk '{if(NR==11) {print "exit";} else {x=(NR-1)%5; if(x==0) {print -1,-1;} print x,NR;}; fflush(); system("sleep 0.6");}'},
|
||||||
|
options => [qw(--lines --points --stream 0.4 --domain --monotonic)],
|
||||||
|
refplot => <<'EOF' );
|
||||||
|
|
||||||
|
|
||||||
|
1 ++----+-----+-----+-----+----+A
|
||||||
|
+ + + + + *+
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
-0.5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
+* + + + + +
|
||||||
|
-1 A+----+-----+-----+-----+----++
|
||||||
|
-1 -0.8 -0.6 -0.4 -0.2 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2 ++------+------+-------+-----+A
|
||||||
|
+ + + + *+
|
||||||
|
| ** |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1.5 ++ ** ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| ** |
|
||||||
|
| * |
|
||||||
|
1 ++ A ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
-0.5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
|* |
|
||||||
|
+* + + + +
|
||||||
|
-1 A+------+------+-------+-----++
|
||||||
|
-1 -0.5 0 0.5 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
3 ++---+----+----+----+----+---+A
|
||||||
|
+ + + + + + *+
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
2.5 ++ ** ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
2 ++ A ++
|
||||||
|
| * |
|
||||||
|
| ** |
|
||||||
|
| * |
|
||||||
|
1.5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| ** |
|
||||||
|
| * |
|
||||||
|
1 ++ A ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0.5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
-0.5 ++* ++
|
||||||
|
| * |
|
||||||
|
|* |
|
||||||
|
+* + + + + + +
|
||||||
|
-1 A+---+----+----+----+----+---++
|
||||||
|
-1 -0.5 0 0.5 1 1.5 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4 ++--+---+---+---+---+---+---+--+A
|
||||||
|
+ + + + + + + + *+
|
||||||
|
| * |
|
||||||
|
| ** |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
3 ++ A ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| ** |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
2 ++ A ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| ** |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1 ++ A ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
|* |
|
||||||
|
+* + + + + + + + +
|
||||||
|
-1 A+--+---+---+---+---+---+---+--++
|
||||||
|
-1 -0.5 0 0.5 1 1.5 2 2.5 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
5 ++----+------+-----+------+----+A
|
||||||
|
+ + + + + *+
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
4 ++ A ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| ** |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
3 ++ A ++
|
||||||
|
| * |
|
||||||
|
| ** |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
2 ++ A ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| ** |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1 ++ A ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
|* |
|
||||||
|
+* + + + + +
|
||||||
|
-1 A+----+------+-----+------+----++
|
||||||
|
-1 0 1 2 3 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
6 ++----+------+-----+------+----+A
|
||||||
|
+ + + + + *+
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
4 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
3 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
2 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
+* + + + + +
|
||||||
|
-1 A+----+------+-----+------+----++
|
||||||
|
-1 -0.8 -0.6 -0.4 -0.2 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
7 ++------+-------+-------+-----**A
|
||||||
|
+ + + + **** +
|
||||||
|
| **** |
|
||||||
|
| **** |
|
||||||
|
6 ++ A* ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
4 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
3 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
2 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0 ++* ++
|
||||||
|
| * |
|
||||||
|
|* |
|
||||||
|
+* + + + +
|
||||||
|
-1 A+------+-------+-------+------++
|
||||||
|
-1 -0.5 0 0.5 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
8 ++---+-----+----+----+-----+---*A
|
||||||
|
+ + + + + +*** +
|
||||||
|
| ** |
|
||||||
|
| *** |
|
||||||
|
7 ++ *A* ++
|
||||||
|
| ** |
|
||||||
|
| *** |
|
||||||
|
| ** |
|
||||||
|
6 ++ A* ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
5 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
4 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
3 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
2 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
1 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0 ++* ++
|
||||||
|
|* |
|
||||||
|
|* |
|
||||||
|
* + + + + + +
|
||||||
|
-1 A+---+-----+----+----+-----+---++
|
||||||
|
-1 -0.5 0 0.5 1 1.5 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
10 ++--+---+---+---+--+---+---+--++
|
||||||
|
+ + + + + + + + +
|
||||||
|
| |
|
||||||
|
| *A
|
||||||
|
| *** |
|
||||||
|
| ** |
|
||||||
|
8 ++ *A* ++
|
||||||
|
| ** |
|
||||||
|
| ** |
|
||||||
|
| *A* |
|
||||||
|
| *** |
|
||||||
|
| ** |
|
||||||
|
6 ++ A* ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
4 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
2 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
0 +* ++
|
||||||
|
|* |
|
||||||
|
* |
|
||||||
|
A |
|
||||||
|
| |
|
||||||
|
+ + + + + + + + +
|
||||||
|
-2 ++--+---+---+---+--+---+---+--++
|
||||||
|
-1 -0.5 0 0.5 1 1.5 2 2.5 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
10 ++----+-----+------+-----+----*A
|
||||||
|
+ + + + + ** +
|
||||||
|
| ** |
|
||||||
|
| *A |
|
||||||
|
| ** |
|
||||||
|
| ** |
|
||||||
|
8 ++ *A ++
|
||||||
|
| ** |
|
||||||
|
| ** |
|
||||||
|
| *A* |
|
||||||
|
| ** |
|
||||||
|
| ** |
|
||||||
|
6 ++ A ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
4 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
2 ++ * ++
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
| * |
|
||||||
|
|* |
|
||||||
|
0 +* ++
|
||||||
|
|* |
|
||||||
|
* |
|
||||||
|
A |
|
||||||
|
| |
|
||||||
|
+ + + + + +
|
||||||
|
-2 ++----+-----+------+-----+----++
|
||||||
|
-1 0 1 2 3 4
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user