summaryrefslogtreecommitdiff
path: root/test/run-weavetest.in
diff options
context:
space:
mode:
authorDidier Raboud <odyx@debian.org>2018-09-25 08:33:05 +0200
committerDidier Raboud <odyx@debian.org>2018-09-25 08:33:05 +0200
commite50542121e724e851fc5d6c68bb773f80c0bc12c (patch)
tree655c3f6331a6e8fd8b09ceb4da8f5896484ae16a /test/run-weavetest.in
parent9dd97a029bf391c42b1dc76f2f7c5e386bb8f466 (diff)
New upstream version 5.3.1
Diffstat (limited to 'test/run-weavetest.in')
-rw-r--r--test/run-weavetest.in120
1 files changed, 120 insertions, 0 deletions
diff --git a/test/run-weavetest.in b/test/run-weavetest.in
new file mode 100644
index 0000000..731cad5
--- /dev/null
+++ b/test/run-weavetest.in
@@ -0,0 +1,120 @@
+#!@BASHREAL@
+
+# Don't want to run this at all as part of automated test
+[ -n "$STP_TEST_SUITE" ] && exit 77
+
+if [[ -n "$STP_TEST_LOG_PREFIX" ]] ; then
+ redir="${STP_TEST_LOG_PREFIX}${0##*/}_$$.log"
+ if [[ -n $BUILD_VERBOSE ]] ; then
+ exec > >(tee -a "$redir" >&3)
+ else
+ exec 1>>"$redir"
+ fi
+ exec 2>&1
+fi
+
+if [ -z "$srcdir" -o "$srcdir" = "." ] ; then
+ sdir=`pwd`
+elif [ -n "`echo $srcdir |grep '^/'`" ] ; then
+ sdir="$srcdir"
+else
+ sdir="`pwd`/$srcdir"
+fi
+
+if [ -z "$STP_DATA_PATH" ] ; then
+ STP_DATA_PATH="$sdir/../src/xml"
+ export STP_DATA_PATH
+fi
+
+if [ -z "$STP_MODULE_PATH" ] ; then
+ STP_MODULE_PATH="$sdir/../src/main:$sdir/../src/main/.libs"
+ export STP_MODULE_PATH
+fi
+
+passes='1,1,1 2,1,1 1,2,1 1,2,2 1,4,1 4,1,1 1,8,1 1,16,1 4,2,1 4,4,1 4,8,1 4,16,1 2,2,1 2,4,1 2,8,1 2,16,1 1,4,2 1,8,2 1,16,2 2,2,2 2,4,2 2,8,2 2,16,2 8,1,1 4,4,2 4,8,2 8,2,1 8,4,1 8,8,1 16,1,1 16,2,1 16,4,1'
+
+# All numbers of jets used by any printer.
+jets='1 2 4 8 15 16 20 21 24 29 32 42 47 48 59 60 64 90 96 128 144 180 192 208 358 360 384'
+
+# All nozzle separations used by any printer at any resolution.
+separations='1 2 3 4 6 8 12 16 24'
+
+# Weave strategies
+strategies='0 1 2 3 4'
+# Strategy 5 is currently broken
+#strategies='5'
+
+# Color head arrangement (for offset-head printers such as the Epson C80)
+arrangements='0 1 2 3'
+
+# Set to the largest possible multiple of the number of heads and
+# the nozzle separation. At present, the WorkForce 40 has 384 heads spaced
+# 1/360" apart, with a maximum resolution of 2880x2880. There's no
+# point right now in testing anything higher than this, and it's very
+# time consuming.
+head_limit=3072
+
+if [ $# -eq 0 ] ; then
+ QUIET=1
+ export QUIET
+fi
+
+# For valgrind use, use
+# valgrind --partial-loads-ok=no --num-callers=50 --leak-check=yes
+#
+# and use these suppressions:
+#
+#{
+# gettext
+# Addr4
+# fun:__dcigettext
+# fun:__dcgettext
+#}
+#
+#{
+# nl_load_locale
+# Addr4
+# fun:_nl_load_locale
+# fun:_nl_find_locale
+# fun:setlocale
+#}
+#
+#{
+# setlocale
+# Addr4
+# fun:setlocale
+#}
+#
+#{
+# c_strlen
+# Addr4
+# fun:c_strlen
+#}
+
+(
+for strategy in $strategies ; do
+ for jet in $jets ; do
+ for sep in $separations ; do
+ start=`expr $jet \* $sep`
+ if [ $start -le $head_limit ] ; then
+ rows=`expr $start \* 5`
+ if [ $rows -lt 200 ] ; then
+ rows=200
+ fi
+ s1=`expr $start - 1`
+ for f in 0 41 $start $s1 ; do
+ end=`expr $rows + $f + $start`
+ end1=`expr $rows + $f`
+ end2=`expr $rows + $f + 35`
+ for g in $end $end1 $end2 ; do
+ for pass in $passes ; do
+ for arrangement in $arrangements; do
+ echo "$jet $sep $pass $rows $f $g $arrangement $strategy"
+ done
+ done
+ done
+ done
+ fi
+ done
+ done
+done) | sed 's/,/ /g' | ./escp2-weavetest