summaryrefslogtreecommitdiff
path: root/test/run-weavetest.test.in
diff options
context:
space:
mode:
authorDidier Raboud <odyx@debian.org>2019-09-13 17:56:14 +0200
committerDidier Raboud <odyx@debian.org>2019-09-13 17:56:14 +0200
commitb38516f13a1f563aa1eb7faf80965755ac63e3e6 (patch)
treefd60cd4095a45f7327d28dfe04bbfb34b7d7215a /test/run-weavetest.test.in
parente50542121e724e851fc5d6c68bb773f80c0bc12c (diff)
New upstream version 5.3.3
Diffstat (limited to 'test/run-weavetest.test.in')
-rw-r--r--test/run-weavetest.test.in118
1 files changed, 118 insertions, 0 deletions
diff --git a/test/run-weavetest.test.in b/test/run-weavetest.test.in
new file mode 100644
index 0000000..0252b45
--- /dev/null
+++ b/test/run-weavetest.test.in
@@ -0,0 +1,118 @@
+#!@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 || $srcdir = "." ]] ; then
+ sdir=$(pwd)
+elif grep -q '^/' <<< "$srcdir" ; 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=$((jet * sep))
+ if (( start < head_limit)) ; then
+ rows=$((start * 5))
+ (( rows < 200 )) && rows=200
+ s1=$((start - 1))
+ for f in 0 41 "$start" "$s1" ; do
+ end=$((rows + f + start))
+ end1=$((rows + f))
+ end2=$((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