/usr/share/doc/libplplot11/examples/test_octave.sh is in octave-plplot 5.9.9-2ubuntu2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | #!/bin/bash
# Test suite for octave examples.
#
# Copyright (C) 2004 Alan W. Irwin
# Copyright (C) 2004 Rafael Laboissiere
#
# This file is part of PLplot.
#
# PLplot is free software; you can redistribute it and/or modify
# it under the terms of the GNU Library General Public License as published
# by the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PLplot is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public License
# along with PLplot; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
# This is called from plplot-test.sh with $octave, $octavedir, $device,
# $dsuffix and $options defined.
# Assumes that $option starts and are '-' separated.
# The following is only need for the build tree! It should has no effect
# when this script is launched from the install tree.
lang="o"
export lang
# Normalize to leading-slash form of drive-letter just in case that is
# essential for Windows platforms.
TOPDIR="$(pwd |sed 's?^/\(.\)/?\1:/?')"/..
echo "$TOPDIR"
export LD_LIBRARY_PATH="$TOPDIR"/src:"$TOPDIR"/lib/csa:"$TOPDIR"/lib/nn
# Launch an Octave script that exercises all the demos
$octave -f -q -p "$octavedir" <<EOF 2> test.error
# Check verbose_test variable
if (strcmp(getenv("verbose_test"),"on") == 1)
verbose_test = 1;
else
verbose_test = 0;
endif
plplot_stub;
t = split("$options", "-");
if (t); t(1,:)=""; endif;
for i=1:rows(t)
tt = deblank (t(i,:)); len = length(tt);
ix = index(tt," ");
if (ix == 0); ix = len; len = 0; endif
plsetopt(tt(1:ix), tt(ix+1:len));
endfor
# Subset of p examples selected that seem to work ok with noninteractive
# devices.
# Remove 7, 16 until plshade1 fix is done.
for i=[1:6 8 9 13 15 21] ;
# (ignore for swig-generated case) for i=[1:6 8 9 13 15 21] ;
if (verbose_test)
printf("p%d\n",i);
endif
figure(i,"$device",sprintf("${OUTPUT_DIR}/p%d%%n.$dsuffix",i));
feval(sprintf("p%d",i))
closefig
endfor
#plot equivalent of x??c examples. These only required octave-2.0.x
#Example 19 is not yet implemented
# Example 32 not implemented because there has been no call for propagation
# and it exercises no new API.
failed = [] ;
for i=[1:18 19 20:31 33] ;
# Drop 4, 18, 26, and 33 because deprecated matwrap does not include plstring,
# plstring3, pllegend, or plcolorbar.
# (ignore for swig-generated case) for i=[1:3 5:17 20:25 27:31 ] ;
ofile = sprintf("${OUTPUT_DIR}/x%.2d${lang}_${dsuffix}.txt",i);
strm = fopen(ofile,"w");
cmd = sprintf("x%.2dc",i);
if (verbose_test)
printf("%s\n",cmd);
endif
t = split("$options", "-");
if (t) ; t(1,:)=""; endif
for j=1:rows(t)
tt = deblank (t(j,:)); len = length(tt);
ix = index(tt," ");
if (ix == 0); ix = len; len = 0; endif
plSetOpt(deblank(tt(1:ix)), tt(ix:len));
endfor
device="$device";
plSetOpt("dev", device);
#o trailer on filename e.g., x01o.ps) to distinguish from other
#common examples.
file = sprintf("${OUTPUT_DIR}/x%.2d${lang}%%n.$dsuffix",i);
plSetOpt("o", file);
if i == 14
file2 = sprintf("${OUTPUT_DIR}/x%.2da${lang}.${dsuffix}",i);
endif
eval(cmd, "failed = [failed, i] ;");
fclose(strm);
clear file2;
endfor
if ! isempty (failed)
printf ("Failed tests: ");
for i = 1 : length (failed)
if i != 1
printf (", ");
endif
printf ("x%.2dc.m", failed (i));
endfor
printf ("\n");
exit (1);
endif
EOF
status_code=$?
cat test.error
if [ "$status_code" -ne 0 ] ; then
exit $status_code
fi
# Look for any PLPLOT ERROR messages from plwarn that do not result in an
# exit code.
is_error=`grep -l 'PLPLOT ERROR' test.error`
if [ -n "$is_error" ] ; then
exit 1
fi
|