From 776c95fd137742e4e52a638f89f0d589433c674d Mon Sep 17 00:00:00 2001
From: John Darrington <john@darrington.wattle.id.au>
Date: Sat, 12 Mar 2016 22:18:22 +0100
Subject: [PATCH 1/2] Testsuite: Make more friendly running under wine

---
 tests/atlocal.in                               |  12 ++
 tests/data/calendar.at                         |   2 +-
 tests/data/data-in.at                          |  36 ++---
 tests/data/data-out.at                         |  18 +--
 tests/data/encrypted-file.at                   |   6 +-
 tests/data/file.at                             |  10 +-
 tests/data/format-guesser.at                   |   2 +-
 tests/data/pc+-file-reader.at                  |  40 +++---
 tests/data/por-file.at                         |  16 +--
 tests/data/sys-file-reader.at                  | 190 ++++++++++++-------------
 tests/data/sys-file.at                         |  38 ++---
 tests/language/command.at                      |  10 +-
 tests/language/control/do-if.at                |   4 +-
 tests/language/control/do-repeat.at            |  12 +-
 tests/language/control/loop.at                 |  16 +--
 tests/language/control/temporary.at            |   2 +-
 tests/language/data-io/add-files.at            |   6 +-
 tests/language/data-io/data-list.at            |  24 ++--
 tests/language/data-io/data-reader.at          |   8 +-
 tests/language/data-io/dataset.at              |  12 +-
 tests/language/data-io/file-handle.at          |   2 +-
 tests/language/data-io/get-data-psql.at        |  10 +-
 tests/language/data-io/get-data-spreadsheet.at |  20 +--
 tests/language/data-io/get-data-txt.at         |  20 +--
 tests/language/data-io/get.at                  |   6 +-
 tests/language/data-io/inpt-pgm.at             |   8 +-
 tests/language/data-io/list.at                 |  12 +-
 tests/language/data-io/match-files.at          |  12 +-
 tests/language/data-io/print-space.at          |   8 +-
 tests/language/data-io/print.at                |  20 +--
 tests/language/data-io/save-translate.at       |   2 +-
 tests/language/data-io/save.at                 |   6 +-
 tests/language/data-io/update.at               |   6 +-
 tests/language/dictionary/attributes.at        |   4 +-
 tests/language/dictionary/delete-variables.at  |   2 +-
 tests/language/dictionary/formats.at           |   4 +-
 tests/language/dictionary/missing-values.at    |   4 +-
 tests/language/dictionary/mrsets.at            |  26 ++--
 tests/language/dictionary/rename-variables.at  |   6 +-
 tests/language/dictionary/split-file.at        |   4 +-
 tests/language/dictionary/sys-file-info.at     |  12 +-
 tests/language/dictionary/value-labels.at      |  12 +-
 tests/language/dictionary/variable-display.at  |   4 +-
 tests/language/dictionary/vector.at            |   8 +-
 tests/language/dictionary/weight.at            |   2 +-
 tests/language/expressions/evaluate.at         |  14 +-
 tests/language/expressions/parse.at            |   4 +-
 tests/language/lexer/lexer.at                  |   4 +-
 tests/language/lexer/q2c.at                    |   2 +-
 tests/language/lexer/variable-parser.at        |   2 +-
 tests/language/stats/aggregate.at              |  10 +-
 tests/language/stats/autorecode.at             |  14 +-
 tests/language/stats/correlations.at           |  12 +-
 tests/language/stats/crosstabs.at              |  44 +++---
 tests/language/stats/descriptives.at           |  22 +--
 tests/language/stats/examine.at                |  42 +++---
 tests/language/stats/factor.at                 |  12 +-
 tests/language/stats/flip.at                   |   4 +-
 tests/language/stats/frequencies.at            |  40 +++---
 tests/language/stats/glm.at                    |  10 +-
 tests/language/stats/graph.at                  |  20 +--
 tests/language/stats/logistic.at               |  26 ++--
 tests/language/stats/means.at                  |  20 +--
 tests/language/stats/npar.at                   |  74 +++++-----
 tests/language/stats/oneway.at                 |  38 ++---
 tests/language/stats/quick-cluster.at          |  24 ++--
 tests/language/stats/rank.at                   |  24 ++--
 tests/language/stats/regression.at             |  30 ++--
 tests/language/stats/reliability.at            |  10 +-
 tests/language/stats/roc.at                    |   6 +-
 tests/language/stats/sort-cases.at             |   4 +-
 tests/language/stats/t-test.at                 |  50 +++----
 tests/language/utilities/cache.at              |   2 +-
 tests/language/utilities/cd.at                 |   2 +-
 tests/language/utilities/date.at               |   2 +-
 tests/language/utilities/insert.at             |  16 +--
 tests/language/utilities/permissions.at        |   4 +-
 tests/language/utilities/set.at                |   8 +-
 tests/language/utilities/show.at               |   4 +-
 tests/language/utilities/title.at              |   2 +-
 tests/language/xforms/compute.at               |  10 +-
 tests/language/xforms/count.at                 |   4 +-
 tests/language/xforms/recode.at                |  20 +--
 tests/language/xforms/sample.at                |   4 +-
 tests/language/xforms/select-if.at             |   2 +-
 tests/libpspp/float-format.at                  |   2 +-
 tests/math/moments.at                          |   2 +-
 tests/math/randist.at                          |   2 +-
 tests/output/ascii.at                          |   4 +-
 tests/output/charts.at                         |  14 +-
 tests/output/render.at                         |   2 +-
 tests/output/tables.at                         |   2 +-
 tests/perl-module.at                           |  12 +-
 tests/ui/terminal/main.at                      |   6 +-
 94 files changed, 692 insertions(+), 680 deletions(-)

diff --git a/tests/atlocal.in b/tests/atlocal.in
index 29886a0..bb057c9 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -9,6 +9,7 @@ WITH_PERL_MODULE='@WITH_PERL_MODULE@'
 host='@host@'
 PACKAGE_STRING='@PACKAGE_STRING@'
 PACKAGE_BUGREPORT='@PACKAGE_BUGREPORT@'
+top_builddir=''
 
 PSQL_SUPPORT='@PSQL_SUPPORT@'
 if test "$PSQL_SUPPORT" = yes; then
@@ -36,8 +37,19 @@ export CHARSETALIASDIR
 GZIP=
 export GZIP
 
+WINEPREFIX=$HOME/.wine    # Work around the following kludge to keep wine happy
+export WINEPREFIX
+
+
 HOME=/nonexistent		# Kluge to make PSPP ignore $HOME/.pspprc.
 export HOME
 
+PSPP=$abs_top_builddir/src/ui/terminal/pspp$EXEEXT
+export PSPP
+
+PSPPCONVERT=$abs_top_builddir/utilities/pspp-convert$EXEEXT
+export PSPPCONVERT
+
+
 # Avoids error messages during tests if $TERM is set to an unknown terminal.
 TERM=; unset TERM
diff --git a/tests/data/calendar.at b/tests/data/calendar.at
index 4b64ecd..4c972d1 100644
--- a/tests/data/calendar.at
+++ b/tests/data/calendar.at
@@ -86,7 +86,7 @@ DEBUG EVALUATE/DATE.DMY(1,1,99) = DATE.DMY(1,1,2099).
 DEBUG EVALUATE/DATE.DMY(1,1,100).
 ])
 
-AT_CHECK([pspp --testing-mode --error-file=- --no-output epoch.sps], [1],
+AT_CHECK([$RUNNER $PSPP --testing-mode --error-file=- --no-output epoch.sps], [1],
   [true
 true
 true
diff --git a/tests/data/data-in.at b/tests/data/data-in.at
index cfe965c..a01f56f 100644
--- a/tests/data/data-in.at
+++ b/tests/data/data-in.at
@@ -392,7 +392,7 @@ DATA LIST FILE='num-in.data' NOTABLE/
 PRINT OUTFILE='num-in.out'/all (6f10.4).
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv num-in.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv num-in.sps])
 AT_CHECK([gzip -cd < $top_srcdir/tests/data/num-in.expected.gz > expout])
 AT_CHECK([cat num-in.out], [0], [expout])
 AT_CLEANUP
@@ -476,7 +476,7 @@ list.
 *** Do the nonportable output for fun. 
 descriptives BIGNUM.
 ])
-AT_CHECK([pspp -o pspp.csv bignum.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv bignum.sps], [0], [ignore])
 AT_CLEANUP
 
 AT_SETUP([DATE input format])
@@ -486,7 +486,7 @@ AT_CHECK([$PERL test-my-rand.pl])
 AT_CHECK([$PERL date-in.pl date d-m-y])
 AT_CHECK([test -s date.sps])
 AT_CHECK([test -s date.in])
-AT_CHECK([pspp -O format=csv date.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv date.sps])
 AT_CHECK([cat date.out], [0], [dnl
     2071958400.00
     2071958400.00
@@ -698,7 +698,7 @@ AT_CHECK([$PERL test-my-rand.pl])
 AT_CHECK([$PERL date-in.pl adate m-d-y])
 AT_CHECK([test -s adate.sps])
 AT_CHECK([test -s adate.in])
-AT_CHECK([pspp -O format=csv adate.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv adate.sps])
 AT_CHECK([cat adate.out], [0], [dnl
     2071958400.00
     2071958400.00
@@ -910,7 +910,7 @@ AT_CHECK([$PERL test-my-rand.pl])
 AT_CHECK([$PERL date-in.pl edate d-m-y])
 AT_CHECK([test -s edate.sps])
 AT_CHECK([test -s edate.in])
-AT_CHECK([pspp -O format=csv edate.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv edate.sps])
 AT_CHECK([cat edate.out], [0], [dnl
     2071958400.00
     2071958400.00
@@ -1122,7 +1122,7 @@ AT_CHECK([$PERL test-my-rand.pl])
 AT_CHECK([$PERL date-in.pl jdate j])
 AT_CHECK([test -s jdate.sps])
 AT_CHECK([test -s jdate.in])
-AT_CHECK([pspp -O format=csv jdate.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv jdate.sps])
 AT_CHECK([cat jdate.out], [0], [dnl
     2071958400.00
     2071958400.00
@@ -1334,7 +1334,7 @@ AT_CHECK([$PERL test-my-rand.pl])
 AT_CHECK([$PERL date-in.pl sdate y-m-d])
 AT_CHECK([test -s sdate.sps])
 AT_CHECK([test -s sdate.in])
-AT_CHECK([pspp -O format=csv sdate.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv sdate.sps])
 AT_CHECK([cat sdate.out], [0], [dnl
     2071958400.00
     2071958400.00
@@ -1546,7 +1546,7 @@ AT_CHECK([$PERL test-my-rand.pl])
 AT_CHECK([$PERL date-in.pl qyr qQy])
 AT_CHECK([test -s qyr.sps])
 AT_CHECK([test -s qyr.in])
-AT_CHECK([pspp -O format=csv qyr.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv qyr.sps])
 AT_CHECK([cat qyr.out], [0], [dnl
     2065910400.00
     2065910400.00
@@ -1758,7 +1758,7 @@ AT_CHECK([$PERL test-my-rand.pl])
 AT_CHECK([$PERL date-in.pl moyr m-y])
 AT_CHECK([test -s moyr.sps])
 AT_CHECK([test -s moyr.in])
-AT_CHECK([pspp -O format=csv moyr.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv moyr.sps])
 AT_CHECK([cat moyr.out], [0], [dnl
     2071180800.00
     2071180800.00
@@ -1970,7 +1970,7 @@ AT_CHECK([$PERL test-my-rand.pl])
 AT_CHECK([$PERL date-in.pl wkyr wWy])
 AT_CHECK([test -s wkyr.sps])
 AT_CHECK([test -s wkyr.in])
-AT_CHECK([pspp -O format=csv wkyr.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv wkyr.sps])
 AT_CHECK([cat wkyr.out], [0], [dnl
     2071958400.00
     2071958400.00
@@ -2182,7 +2182,7 @@ AT_CHECK([$PERL test-my-rand.pl])
 AT_CHECK([$PERL date-in.pl datetime "d-m-y +H:M" "d-m-y +H:M:S"])
 AT_CHECK([test -s datetime.sps])
 AT_CHECK([test -s datetime.in])
-AT_CHECK([pspp -O format=csv datetime.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv datetime.sps])
 AT_CHECK([cat datetime.out], [0], [dnl
     2071958400.00
     2071958400.00
@@ -2594,7 +2594,7 @@ AT_CHECK([$PERL test-my-rand.pl])
 AT_CHECK([$PERL time-in.pl 0 time +H:M +H:M:S])
 AT_CHECK([test -s time.sps])
 AT_CHECK([test -s time.data])
-AT_CHECK([pspp -O format=csv time.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv time.sps])
 AT_CHECK([cat time.out], [0], [dnl
               .00
               .00
@@ -3006,7 +3006,7 @@ AT_CHECK([$PERL test-my-rand.pl])
 AT_CHECK([$PERL time-in.pl 2000 dtime '+D H:M' '+D H:M:S'])
 AT_CHECK([test -s dtime.sps])
 AT_CHECK([test -s dtime.data])
-AT_CHECK([pspp -O format=csv dtime.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv dtime.sps])
 AT_CHECK([cat dtime.out], [0], [dnl
               .00
               .00
@@ -3428,7 +3428,7 @@ EXECUTE.
 ])
 AT_CHECK([gzip -cd < $top_srcdir/tests/data/binhex-in.expected.cmp.gz | \
             $PERL -pe "printf ' %04X ', $.-1" > expout])
-AT_CHECK([pspp -O format=csv binhex-in.sps], [0])
+AT_CHECK([$RUNNER $PSPP -O format=csv binhex-in.sps], [0])
 AT_CHECK([cat binhex-in.out], [0], [expout])
 AT_CLEANUP
 
@@ -3448,7 +3448,7 @@ EXECUTE.
 ])
 AT_CHECK([gzip -cd < $top_srcdir/tests/data/bcd-in.expected.cmp.gz | \
             $PERL -pe "printf ' %04X ', $.-1" > expout])
-AT_CHECK([pspp -O format=csv bcd-in.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv bcd-in.sps])
 AT_CHECK([cat bcd-in.out], [0], [expout])
 AT_CLEANUP
 
@@ -3468,7 +3468,7 @@ EXECUTE.
 ])
 AT_CHECK([gzip -cd < $top_srcdir/tests/data/legacy-in.expected.cmp.gz | \
             $PERL -pe "printf ' %04X ', $.-1" > expout])
-AT_CHECK([pspp -O format=csv legacy-in.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv legacy-in.sps])
 AT_CHECK([cat legacy-in.out], [0], [expout])
 AT_CLEANUP
 
@@ -3499,7 +3499,7 @@ FORMATS ALL (WKDAY2).
 PRINT OUTFILE='wkday.out'/ALL.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv wkday.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv wkday.sps], [0], [dnl
 wkday.sps:20.1-20.2: warning: Data for variable wkday2 is not valid as format WKDAY: Unrecognized weekday name.  At least the first two letters of an English weekday name must be specified.
 
 wkday.sps:20.1-20.3: warning: Data for variable wkday3 is not valid as format WKDAY: Unrecognized weekday name.  At least the first two letters of an English weekday name must be specified.
@@ -3594,7 +3594,7 @@ FORMATS ALL (MONTH3).
 PRINT OUTFILE='month.out'/ALL.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv month.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv month.sps], [0], [dnl
 month.sps:15.1-15.4: warning: Data for variable month4 is not valid as format MONTH: Unrecognized month format.  Months may be specified as Arabic or Roman numerals or as at least 3 letters of their English names.
 
 month.sps:15.1-15.5: warning: Data for variable month5 is not valid as format MONTH: Unrecognized month format.  Months may be specified as Arabic or Roman numerals or as at least 3 letters of their English names.
diff --git a/tests/data/data-out.at b/tests/data/data-out.at
index 0f8c6bf..8027916 100644
--- a/tests/data/data-out.at
+++ b/tests/data/data-out.at
@@ -45,7 +45,7 @@ for my $format (qw (F COMMA DOT DOLLAR PCT E CCA CCB CCC CCD CCE N Z)) {
 print "EXECUTE.\n";
 ]])
 AT_CHECK([$PERL num-out.pl > num-out.sps])
-AT_CHECK([pspp -O format=csv num-out.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv num-out.sps])
 AT_CHECK([inexactify$EXEEXT < output.txt > output.inexact])
 AT_CHECK([gzip -cd < $top_srcdir/tests/data/num-out.expected.cmp.gz > expout.cmp])
 AT_DATA([num-out-decmp.pl],
@@ -215,7 +215,7 @@ sub increment {
     return $_;
 }
 ]])
-AT_CHECK([$PERL num-out-compare.pl $PSPP_NUM_OUT_COMPARE_FLAGS expout.inexact output.inexact])
+AT_CHECK([$PERL num-out-compare.pl $RUNNER $PSPP_NUM_OUT_COMPARE_FLAGS expout.inexact output.inexact])
 AT_CLEANUP
 
 AT_SETUP([non-ASCII custom currency formats])
@@ -235,7 +235,7 @@ BEGIN DATA.
 -1.5e10
 END DATA.
 ])
-AT_CHECK([pspp -O format=csv data-out.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv data-out.sps], [0], [dnl
 "data-out.sps:2: note: SHOW: CCA is «,¥,€,»."
 
 1.00   ¥1.00€ @&t@
@@ -367,7 +367,7 @@ WRITE OUTFILE=output/
 						/* 0fe
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv binhex-out.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv binhex-out.sps])
 AT_CHECK([gzip -cd < $top_srcdir/tests/data/binhex-out.expected.gz > expout])
 AT_CHECK([cat binhex.out], [0], [expout])
 AT_CLEANUP
@@ -419,7 +419,7 @@ print outfile='date-out.out'/x(datetime25.4).
 print outfile='date-out.out'/x(datetime26.5).
 execute.
 ])
-AT_CHECK([pspp -O format=csv date-out.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv date-out.sps])
 AT_CHECK([cat date-out.out], [0], [dnl
  ********* | 10-JUN-1648
  ******** | 06/10/1648
@@ -835,7 +835,7 @@ print outfile='bad-date.out'/x(datetime25.4).
 print outfile='bad-date.out'/x(datetime26.5).
 execute.
 ])
-AT_CHECK([pspp -O format=csv bad-date.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv bad-date.sps])
 AT_CHECK([cat bad-date.out], [0], [dnl
          . |           .
         . |          .
@@ -1169,7 +1169,7 @@ print outfile='time-out.out'/x(dtime18.5).
 print outfile='time-out.out'/x(dtime18.6).
 execute.
 ])
-AT_CHECK([pspp -O format=csv time-out.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv time-out.sps])
 AT_CHECK([cat time-out.out], [0], [dnl
   0:00
    0:00
@@ -14044,7 +14044,7 @@ print outfile='month-out.out'/x(month39).
 print outfile='month-out.out'/x(month40).
 execute.
 ])
-AT_CHECK([pspp -O format=csv month-out.sps], [1], [stdout])
+AT_CHECK([$RUNNER $PSPP -O format=csv month-out.sps], [1], [stdout])
 AT_CHECK([[sed '/^$/d' stdout | sort | uniq -c | sed 's/^[ 	]*//']], [0],
 [dnl
 38 error: Month number 0.000000 is not between 1 and 12.
@@ -14960,7 +14960,7 @@ print outfile='wkday-out.out'/x(format).
 end repeat.
 execute.
 ])
-AT_CHECK([pspp -O format=csv wkday-out.sps], [1], [stdout])
+AT_CHECK([$RUNNER $PSPP -O format=csv wkday-out.sps], [1], [stdout])
 AT_CHECK([[sed '/^$/d' stdout | sort | uniq -c | sed 's/^[ 	]*//']], [0],
 [dnl
 39 error: Weekday number 0.000000 is not between 1 and 7.
diff --git a/tests/data/encrypted-file.at b/tests/data/encrypted-file.at
index 15a5ce2..e0fcf82 100644
--- a/tests/data/encrypted-file.at
+++ b/tests/data/encrypted-file.at
@@ -2,8 +2,8 @@ AT_BANNER([encrypted files])
 
 AT_SETUP([decrypt an encrypted system file])
 AT_KEYWORDS([system file decrypt pspp-convert])
-AT_CHECK([pspp-convert $srcdir/data/hotel-encrypted.sav hotel.sav -p pspp])
-AT_CHECK([pspp-convert hotel.sav hotel.csv])
+AT_CHECK([$RUNNER $PSPPCONVERT $srcdir/data/hotel-encrypted.sav hotel.sav -p pspp])
+AT_CHECK([$RUNNER $PSPPCONVERT hotel.sav hotel.csv])
 AT_CHECK([cat hotel.csv], [0], [dnl
 v1,v2,v3,v4,v5
 4,2,3,4,1
@@ -28,7 +28,7 @@ AT_CLEANUP
 
 AT_SETUP([decrypt an encrypted syntax file])
 AT_KEYWORDS([syntax file decrypt pspp-convert])
-AT_CHECK([pspp-convert $srcdir/data/test-encrypted.sps test.sps -p password])
+AT_CHECK([$RUNNER $PSPPCONVERT $srcdir/data/test-encrypted.sps test.sps -p password])
 
 # The sample file is not ideal: lines end in CRLF and its last line
 # lacks a new-line, so "sed" and "echo" make it easier to work with.
diff --git a/tests/data/file.at b/tests/data/file.at
index bccdf00..e2087ff 100644
--- a/tests/data/file.at
+++ b/tests/data/file.at
@@ -12,7 +12,7 @@ END DATA.
 SAVE OUTFILE='foobar.sav'.
 ])
 
-AT_CHECK([pspp -O format=csv file.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv file.sps], [1], [dnl
 error: Opening foobar.sav for writing: Is a directory.
 
 error: Error opening `foobar.sav' for writing as a system file: Is a directory.
@@ -35,7 +35,7 @@ END DATA.
 SAVE OUTFILE='directory/foobar.sav'.
 ])
 
-AT_CHECK([pspp -O format=csv file.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv file.sps], [1], [dnl
 error: Creating temporary file to replace directory/foobar.sav: Permission denied.
 
 error: Error opening `directory/foobar.sav' for writing as a system file: Permission denied.
@@ -59,7 +59,7 @@ HOST COMMAND=[['rm foobar.savtmp*']].
 EXECUTE.
 ])
 
-AT_CHECK([pspp -O format=csv file.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv file.sps], [1], [ignore])
 
 AT_CLEANUP
 
@@ -82,7 +82,7 @@ mkfifo foobar.sav
 cat foobar.sav > /dev/null & 
 pid=$!
 
-AT_CHECK([pspp -O format=csv file.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv file.sps], [0], [ignore])
 
 AT_CLEANUP
 
@@ -95,7 +95,7 @@ data list file='printf "1 2\n 3 4\n 5 6\n" |' notable list /x * y *.
 list.
 ])
 
-AT_CHECK([pspp -O format=csv pipe.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pipe.sps], [0], [dnl
 Table: Data List
 x,y
 1.00,2.00
diff --git a/tests/data/format-guesser.at b/tests/data/format-guesser.at
index 764d0f1..4a48e6f 100644
--- a/tests/data/format-guesser.at
+++ b/tests/data/format-guesser.at
@@ -128,7 +128,7 @@ s/[ 	]*$//
 /^$/d
 s,^\(.*\)=> \(.*\)$,DEBUG FORMAT GUESSER \1.,') \
            < format-guesser.txt > format-guesser.sps]])
-AT_CHECK([pspp --testing-mode -O format=csv format-guesser.sps],
+AT_CHECK([$RUNNER $PSPP --testing-mode -O format=csv format-guesser.sps],
   [0], [], [stderr])
 AT_CHECK([[sed -e 's/#.*//
 s/[ 	]*$//
diff --git a/tests/data/pc+-file-reader.at b/tests/data/pc+-file-reader.at
index a968e5d..27a9e77 100644
--- a/tests/data/pc+-file-reader.at
+++ b/tests/data/pc+-file-reader.at
@@ -87,7 +87,7 @@ DISPLAY FILE LABEL.
 DISPLAY DICTIONARY.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv pc+-file.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv pc+-file.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 File label: PSPP synthetic test file
 
@@ -207,7 +207,7 @@ DISPLAY FILE LABEL.
 DISPLAY DICTIONARY.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv pc+-file.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv pc+-file.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 File label: PSPP synthetic test file
 
@@ -342,7 +342,7 @@ DISPLAY FILE LABEL.
 DISPLAY DICTIONARY.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv pc+-file.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv pc+-file.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 File label: PSPP synthetic test file
 
@@ -407,7 +407,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 SYSFILE INFO FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [0], [dnl
 File:,pc+-file.sav
 Label:,PSPP synthetic test file
 Created:,11/28/14 15:11:00 by PCSPSS PSPP synthetic test product
@@ -498,7 +498,7 @@ LIST.
 
 SYSFILE INFO FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [0], [stdout], [])
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [0], [stdout], [])
 AT_CHECK([sed 's/default encoding.*For/default encoding.  For/' stdout], [0], [dnl
 "warning: `pc+-file.sav': Using default encoding.  For best results, specify an encoding explicitly.  Use SYSFILE INFO with ENCODING=""DETECT"" to analyze the possible encodings."
 
@@ -597,7 +597,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [0], [dnl
 "warning: `pc+-file.sav' near offset 0x0: Directory fields have unexpected values (1,2)."
 
 warning: `pc+-file.sav' near offset 0x100: Record 0 specifies unexpected system missing value 1 (0x1p+0).
@@ -654,7 +654,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [1], [dnl
 error: `pc+-file.sav' near offset 0x100: This is not an SPSS/PC+ system file.
 ])
 AT_CLEANUP
@@ -706,7 +706,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [0], [dnl
 warning: `pc+-file.sav' near offset 0x100: Record 0 has unexpected length 192.
 ])
 AT_CLEANUP
@@ -758,7 +758,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [1], [dnl
 error: `pc+-file.sav' near offset 0x100: Invalid compression type 2.
 ])
 AT_CLEANUP
@@ -810,7 +810,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [0], [dnl
 warning: `pc+-file.sav' near offset 0x100: Record 0 claims 1000 cases with 7 values per case (requiring at least 56000 bytes) but data record is only 56 bytes long.
 ])
 AT_CLEANUP
@@ -867,7 +867,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [0], [dnl
 warning: `pc+-file.sav' near offset 0x210: Variable label claimed to start at offset 1007 in labels record but labels record is only 16 bytes.
 
 warning: `pc+-file.sav' near offset 0x210: Value labels claimed to end at offset 72 in labels record but labels record is only 16 bytes.
@@ -926,7 +926,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [1], [dnl
 error: `pc+-file.sav' near offset 0x1b0: Record 1 has length 192 (expected 224).
 
 pc+-file.sps:1: error: GET: `pc+-file.sav': Data file dictionary has no variables.
@@ -980,7 +980,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [1], [dnl
 error: `pc+-file.sav' near offset 0x210: Variable 3 has invalid type 255.
 ])
 AT_CLEANUP
@@ -1032,7 +1032,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [1], [dnl
 error: `pc+-file.sav' near offset 0x210: Invalid variable name `#NUM'.
 ])
 AT_CLEANUP
@@ -1084,7 +1084,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [0], [dnl
 warning: `pc+-file.sav' near offset 0x230: Renaming variable with duplicate name `NUM1' to `VAR001'.
 
 warning: `pc+-file.sav' near offset 0x250: Renaming variable with duplicate name `NUM1' to `VAR002'.
@@ -1143,7 +1143,7 @@ AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [1], [dnl
 warning: `pc+-file.sav' near offset 0x100: Record 0 claims 3 cases with 7 values per case (requiring at least 168 bytes) but data record is only 144 bytes long.
 
 error: `pc+-file.sav' near offset 0x320: File ends in partial case.
@@ -1208,7 +1208,7 @@ AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [1], [dnl
 warning: `pc+-file.sav' near offset 0x100: Record 0 claims 3 cases with 7 values per case (requiring at least 168 bytes) but data record is only 144 bytes long.
 
 error: `pc+-file.sav' near offset 0x338: Case beginning at offset 0x00000300 extends past end of data record at offset 0x00000320.
@@ -1281,7 +1281,7 @@ DISPLAY FILE LABEL.
 DISPLAY DICTIONARY.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [0], [dnl
 File label: PSPP synthetic test file
 
 Variable,Description,Position
@@ -1347,7 +1347,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [0],
   [warning: `pc+-file.sav': Invalid weight index 10.
 ])
 AT_CLEANUP
@@ -1399,7 +1399,7 @@ AT_CHECK([sack --le pc+-file.sack > pc+-file.sav])
 AT_DATA([pc+-file.sps], [dnl
 GET FILE='pc+-file.sav' ENCODING='us-ascii'.
 ])
-AT_CHECK([pspp -O format=csv pc+-file.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv pc+-file.sps], [0],
   [warning: `pc+-file.sav' near offset 0x250: Cannot weight by string variable `STR1'.
 ])
 AT_CLEANUP
diff --git a/tests/data/por-file.at b/tests/data/por-file.at
index c23a047..2fe9bb7 100644
--- a/tests/data/por-file.at
+++ b/tests/data/por-file.at
@@ -11,7 +11,7 @@ BEGIN DATA.
 END DATA.
 EXPORT OUTFILE='output.por'.
 ])
-AT_CHECK([pspp -O format=csv porfile.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv porfile.sps])
 AT_CHECK([cmp output.por output.por.backup], [1], [ignore])
 AT_CLEANUP
 
@@ -27,7 +27,7 @@ END DATA.
 XEXPORT OUTFILE='output.por'.
 HOST COMMAND=['kill -TERM $PPID'].
 ]])
-AT_CHECK([pspp -O format=csv porfile.sps], [143], [], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv porfile.sps], [143], [], [ignore])
 AT_CHECK([cmp output.por output.por.backup])
 AT_CHECK(
   [for file in *.tmp*; do if test -e $file; then echo $file; exit 1; fi; done])
@@ -41,7 +41,7 @@ BEGIN DATA.
 END DATA.
 EXPORT OUTFILE='data.por'.
 ])
-AT_CHECK([pspp -O format=csv export.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv export.sps])
 AT_CHECK([test -s data.por])
 AT_CHECK(
   [for file in *.tmp*; do if test -e $file; then echo $file; exit 1; fi; done])
@@ -50,14 +50,14 @@ IMPORT FILE='data.por'.
 COMPUTE y = x * 2.
 EXPORT OUTFILE='data.por'.
 ])
-AT_CHECK([pspp -O format=csv export2.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv export2.sps])
 AT_CHECK(
   [for file in *.tmp*; do if test -e $file; then echo $file; exit 1; fi; done])
 AT_DATA([export3.sps], [dnl
 IMPORT FILE='data.por'.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv export3.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv export3.sps], [0], [dnl
 Table: Data List
 X,Y
 2,4.00
@@ -81,13 +81,13 @@ BEGIN DATA.
 END DATA.
 EXPORT OUTFILE='data.por'.
 ])
-AT_CHECK([pspp -O format=csv export.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv export.sps])
 AT_DATA([import.sps], [dnl
 IMPORT FILE='data.por'.
 DISPLAY DICTIONARY.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv import.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv import.sps], [0], [dnl
 Variable,Description,Position
 VAR1,"Format: F1.0
 
@@ -116,7 +116,7 @@ VAR1,VAR2,VAR3,VAR4,VAR5
 ])
 AT_DATA([sys-file-info.sps], [SYSFILE INFO FILE='data.por'
 ])
-AT_CHECK([pspp -O format=csv sys-file-info.sps | sed '/Encoding/d
+AT_CHECK([$RUNNER $PSPP -O format=csv sys-file-info.sps | sed '/Encoding/d
 /Integer Format/d
 /Real Format/d
 /Created/d
diff --git a/tests/data/sys-file-reader.at b/tests/data/sys-file-reader.at
index a00ef2b..900df27 100644
--- a/tests/data/sys-file-reader.at
+++ b/tests/data/sys-file-reader.at
@@ -129,7 +129,7 @@ DISPLAY FILE LABEL.
 DISPLAY DICTIONARY.
 LIST.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 File label: PSPP synthetic test file: ôõöø
 
@@ -221,7 +221,7 @@ GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 LIST.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 num1,Format: F8.0,1
@@ -275,7 +275,7 @@ GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 LIST.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 num1,Format: F8.0,1
@@ -408,7 +408,7 @@ for variant in be le; do
 GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 num1,"Format: F8.0
@@ -547,7 +547,7 @@ GET FILE='sys-file.sav'.
 DISPLAY DOCUMENTS.
 LIST.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Documents in the active dataset:
 
@@ -635,7 +635,7 @@ for variant in be le; do
 GET FILE='sys-file.sav'.
 MRSETS /DISPLAY NAME=ALL.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Multiple Response Sets
 Name,Variables,Details
@@ -719,7 +719,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 SYSFILE INFO FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([sed 7q pspp.csv], [0], [dnl
 File:,sys-file.sav
 Label:,"PSPP synthetic
@@ -795,7 +795,7 @@ for variant in be le; do
 GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 a,"Format: F8.0
@@ -901,7 +901,7 @@ for variant in be le; do
 GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 a,"Format: F8.0
@@ -1008,7 +1008,7 @@ for variant in be le; do
 GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 LongVariableName1,Format: F8.0,1
@@ -1077,7 +1077,7 @@ GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 LIST.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 séq256,Format: A256,1
@@ -1152,7 +1152,7 @@ for variant in be le; do
 GET FILE='sys-file.sav'.
 DISPLAY @ATTRIBUTES.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0],
 [[Variable,Description
 FirstVariable,"Attribute,Value
@@ -1176,7 +1176,7 @@ SécondAttr[2],456
 GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0],
 [[Variable,Description,Position
 FirstVariable,"Format: F8.0
@@ -1256,7 +1256,7 @@ for variant in be le; do
 GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav': Invalid role for variable x.
 ])
   AT_CHECK([cat pspp.csv], [0], [dnl
@@ -1325,7 +1325,7 @@ GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 LIST.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 num1,Format: F8.0,1
@@ -1387,7 +1387,7 @@ GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 LIST.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [0])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [0])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 num1,Format: F8.0,1
@@ -1449,7 +1449,7 @@ GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 LIST.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [0], 
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [0], 
     [warning: `sys-file.sav' near offset 0x54: Compression bias is not the usual value of 100, or system file uses unrecognized floating-point format.
 ])
   AT_CHECK([cat pspp.csv], [0], [dnl
@@ -1550,7 +1550,7 @@ GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 LIST.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps])
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
   AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 num1,Format: F8.0,1
@@ -1595,13 +1595,13 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 sys-file.sps:1: error: GET: `sys-file.sav': Data file dictionary has no variables.
 ])
 
   dnl At one point pspp-convert would hang forever if there were no variables,
   dnl so check against regression.
-  AT_CHECK([pspp-convert sys-file.sav sys-file.txt])
+  AT_CHECK([$RUNNER $PSPPCONVERT sys-file.sav sys-file.txt])
   AT_CHECK([cat sys-file.txt], [0], [
 ])
 done
@@ -1636,7 +1636,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET 'sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [stdout])
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [stdout])
   AT_CHECK([sed 's/default encoding.*For/default encoding.  For/' stdout], [0], [dnl
 "warning: `sys-file.sav': This system file does not indicate its own character encoding.  Using default encoding.  For best results, specify an encoding explicitly.  Use SYSFILE INFO with ENCODING=""DETECT"" to analyze the possible encodings."
 ])
@@ -1660,7 +1660,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0xd4: Misplaced type 4 record.
 ])
 done
@@ -1683,7 +1683,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0xd4: Unrecognized record type 8.
 ])
 done
@@ -1709,7 +1709,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], 
    [warning: `sys-file.sav': File header claims 2 variable positions but 1 were read from file.
 ])
 done
@@ -1735,7 +1735,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0xb4: Invalid variable name `$UM1'.
 ])
 done
@@ -1761,7 +1761,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0xb4: Invalid variable name `TO'.
 ])
 done
@@ -1787,7 +1787,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0xb4: Bad width 256 for variable VAR1.
 ])
 done
@@ -1817,7 +1817,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0],
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0],
    [warning: `sys-file.sav' near offset 0xd4: Renaming variable with duplicate name `VAR1' to `VAR001'.
 
 Variable,Description,Position
@@ -1847,7 +1847,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0xb4: Variable label indicator field is not 0 or 1.
 ])
 done
@@ -1873,7 +1873,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    ["error: `sys-file.sav' near offset 0xb4: Numeric missing value indicator field is not -3, -2, 0, 1, 2, or 3."
 ])
 done
@@ -1899,7 +1899,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    ["error: `sys-file.sav' near offset 0xb4: String missing value indicator field is not 0, 1, 2, or 3."
 ])
 done
@@ -1926,7 +1926,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0xb4: Missing string continuation record.
 ])
 done
@@ -1963,7 +1963,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xc0: Variable NUM1 with width 0 has invalid print format 0xff0800.
 
 warning: `sys-file.sav' near offset 0xe0: Variable VAR1 with width 0 has invalid print format 0x10800.
@@ -2049,7 +2049,7 @@ for variant in be le; do
 GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0],
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0],
    ["warning: `sys-file.sav' near offset 0x1f8: Long string missing values record says variable STR1 has 0 missing values, but only 1 to 3 missing values are allowed."
 
 "warning: `sys-file.sav' near offset 0x201: Long string missing values record says variable STR2 has 4 missing values, but only 1 to 3 missing values are allowed."
@@ -2094,7 +2094,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0],
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0],
    [warning: `sys-file.sav': Ignoring string variable `STR1' set as weighting variable.
 
 Variable,Description,Position
@@ -2127,7 +2127,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0x4c: Variable index 3 not in valid range 1...2.
 ])
 done
@@ -2157,7 +2157,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0x4c: Variable index 3 refers to long string continuation.
 ])
 done
@@ -2190,7 +2190,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 error: `sys-file.sav' near offset 0x12c: Duplicate type 6 (document) record.
 ])
 done
@@ -2221,7 +2221,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 error: `sys-file.sav' near offset 0xd4: Number of document lines (0) must be greater than 0 and less than 26843545.
 ])
 done
@@ -2245,7 +2245,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 error: `sys-file.sav' near offset 0xd8: Record type 7 subtype 3 too large.
 ])
 done
@@ -2275,7 +2275,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK_UNQUOTED([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK_UNQUOTED([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 "warning: \`sys-file.sav' near offset 0xd8: Unrecognized record type 7, subtype 30.  For help, please send this file to ${PACKAGE_BUGREPORT} and mention that you were using ${PACKAGE_STRING}."
 ])
 done
@@ -2305,7 +2305,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 "warning: `sys-file.sav' near offset 0xd8: Record type 7, subtype 3 has bad count 9 (expected 8)."
 ])
 done
@@ -2335,7 +2335,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 error: `sys-file.sav' near offset 0xd8: Floating-point representation indicated by system file (2) differs from expected (1).
 ])
 done
@@ -2367,7 +2367,7 @@ for variant in "be 1" "le 2"; do
 GET FILE='sys-file.sav'.
 DISPLAY DICTIONARY.
 ])
-  AT_CHECK_UNQUOTED([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK_UNQUOTED([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: \`sys-file.sav' near offset 0xd8: Integer format indicated by system file (3) differs from expected ($[2]).
 
 Variable,Description,Position
@@ -2401,7 +2401,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 "warning: `sys-file.sav' near offset 0xd8: Record type 7, subtype 4 has bad count 4 (expected 3)."
 ])
 done
@@ -2430,7 +2430,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps | sed 's/ [(].*/.../'], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps | sed 's/ [(].*/.../'], [0], [dnl
 "warning: `sys-file.sav' near offset 0xd8: File specifies unexpected value 0...
 
 "warning: `sys-file.sav' near offset 0xd8: File specifies unexpected value 1...
@@ -2505,7 +2505,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 MRSETS /DISPLAY NAME=ALL.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav': Multiple response set name `b' does not begin with `$'.
 
 warning: `sys-file.sav': Multiple response set name `e' does not begin with `$'.
@@ -2562,7 +2562,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xd8: Missing space following `C' at offset 4 in MRSETS record.
 ])
 done
@@ -2590,7 +2590,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xd8: Missing space following `E' at offset 4 in MRSETS record.
 ])
 done
@@ -2618,7 +2618,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xd8: Unexpected label source value following `E' at offset 7 in MRSETS record.
 
 warning: `sys-file.sav' near offset 0xd8: Expecting digit at offset 7 in MRSETS record.
@@ -2648,7 +2648,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 "warning: `sys-file.sav' near offset 0xd8: Missing `C', `D', or `E' at offset 3 in MRSETS record."
 ])
 done
@@ -2676,7 +2676,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xd8: Expecting digit at offset 4 in MRSETS record.
 ])
 done
@@ -2704,7 +2704,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xd8: Expecting space at offset 5 in MRSETS record.
 ])
 done
@@ -2732,7 +2732,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xd8: 4-byte string starting at offset 6 exceeds record length 9.
 ])
 done
@@ -2760,7 +2760,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xd8: Expecting space at offset 9 following 3-byte string.
 ])
 done
@@ -2788,7 +2788,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xd8: Missing new-line parsing variable names at offset 13 in MRSETS record.
 
 warning: `sys-file.sav': MRSET $a has only one variable.
@@ -2818,7 +2818,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav': MRSET $a contains duplicate variable name NUM1.
 
 warning: `sys-file.sav': MRSET $a has only one variable.
@@ -2849,7 +2849,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav': MRSET $a contains both string and numeric variables.
 
 warning: `sys-file.sav': MRSET $a has only one variable.
@@ -2879,7 +2879,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav': MRSET $a has only one variable.
 ])
 done
@@ -2907,7 +2907,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav': MRSET $a has only one variable.
 
 warning: `sys-file.sav': MRSET $b has no variables.
@@ -2938,7 +2938,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 "warning: `sys-file.sav' near offset 0xd8: Record type 7, subtype 11 has bad size 8 (expected 4)."
 ])
 done
@@ -2967,7 +2967,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xd8: Extension 11 has bad count 4 (for 1 variables).
 ])
 done
@@ -2996,7 +2996,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xd8: Invalid variable display parameters for variable 0 (NUM1).  Default parameters substituted.
 ])
 done
@@ -3025,7 +3025,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xd8: Invalid variable display parameters for variable 0 (NUM1).  Default parameters substituted.
 ])
 done
@@ -3055,7 +3055,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xde: Dictionary record refers to unknown variable xyzzy.
 ])
 done
@@ -3094,7 +3094,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0x138: Long variable mapping from LONGVARI to invalid variable name `_Invalid'.
 
 warning: `sys-file.sav' near offset 0x138: Long variable mapping from LONGVARI to invalid variable name `$Invalid'.
@@ -3134,7 +3134,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 warning: `sys-file.sav' near offset 0xd8: NUM1 listed as string of invalid length 00000 in very long string record.
 
 "warning: `sys-file.sav' near offset 0xd8: NUM1 listed in very long string record with width 00255, which requires only one segment."
@@ -3173,7 +3173,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 error: `sys-file.sav' near offset 0x4f8: Very long string with width 256 has segment 1 of width 9 (expected 4).
 ])
 done
@@ -3195,7 +3195,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 error: `sys-file.sav' near offset 0xd4: Invalid number of labels 2147483647.
 ])
 done
@@ -3225,7 +3225,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 error: `sys-file.sav' near offset 0xe8: Variable index record (type 4) does not immediately follow value label record (type 3) as it should.
 ])
 done
@@ -3249,7 +3249,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 error: `sys-file.sav' near offset 0xec: Number of variables associated with a value label (0) is not between 1 and the number of variables (1).
 ])
 done
@@ -3280,7 +3280,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 error: `sys-file.sav' near offset 0xf4: Value labels may not be added to long string variables (e.g. STR1) using records types 3 and 4.
 ])
 done
@@ -3311,7 +3311,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], [dnl
 "error: `sys-file.sav' near offset 0xf4: Variables associated with value label are not all of identical type.  Variable STR1 is string, but variable NUM1 is numeric."
 ])
 done
@@ -3343,7 +3343,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xf4: Duplicate value label for `xyzzy ' on STR1.
 
 warning: `sys-file.sav' near offset 0x11c: Duplicate value label for 1 on NUM1.
@@ -3383,7 +3383,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xde: Error parsing attribute value Attr1[[1]].
 
 warning: `sys-file.sav' near offset 0x101: Error parsing attribute value fred[[2]].
@@ -3424,7 +3424,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [dnl
 GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0xe4: Attribute value Attr1[[1]] is not quoted: value.
 
 warning: `sys-file.sav' near offset 0x106: Attribute value fred[[1]] is not quoted: 23.
@@ -3477,7 +3477,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [0], [dnl
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [0], [dnl
 warning: `sys-file.sav' near offset 0x128: Ignoring long string value label record for unknown variable STR9.
 
 warning: `sys-file.sav' near offset 0x164: Ignoring long string value label record for numeric variable NUM1.
@@ -3518,7 +3518,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 LIST.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: Error reading case from file `sys-file.sav'.
 
 Table: Data List
@@ -3555,7 +3555,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 LIST.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0x12c: File ends in partial case.
 
 Table: Data List
@@ -3589,7 +3589,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 LIST.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0x12a: Unexpected end of file.
 
 Table: Data List
@@ -3637,7 +3637,7 @@ for variant in be le; do
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 LIST.
 ])
-  AT_CHECK([pspp -O format=csv sys-file.sps], [1], 
+  AT_CHECK([$RUNNER $PSPP -O format=csv sys-file.sps], [1], 
    [error: `sys-file.sav' near offset 0x1ac: File ends in partial case.
 
 Table: Data List
@@ -3654,7 +3654,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x194: Wrong ZLIB data header offset 0 (expected 0x194).
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x194: Wrong ZLIB data header offset 0 (expected 0x194).
 ])
 done
 AT_CLEANUP
@@ -3666,7 +3666,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x194: Impossible ZLIB trailer offset 0x0.
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x194: Impossible ZLIB trailer offset 0x0.
 ])
 done
 AT_CLEANUP
@@ -3680,7 +3680,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x194: Invalid ZLIB trailer length 12.
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x194: Invalid ZLIB trailer length 12.
 ])
 done
 AT_CLEANUP
@@ -3693,7 +3693,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [1], [warning: `sys-file.sav' near offset 0x1ac: End of ZLIB trailer (0x24d) is not file size (0x235).
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [1], [warning: `sys-file.sav' near offset 0x1ac: End of ZLIB trailer (0x24d) is not file size (0x235).
 error: `sys-file.sav' near offset 0x21d: 72-byte ZLIB trailer specifies 1 data blocks (expected 2).
 ])
 done
@@ -3706,7 +3706,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x20d: ZLIB trailer bias (0) differs from file header bias (100.00).
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x20d: ZLIB trailer bias (0) differs from file header bias (100.00).
 ])
 done
 AT_CLEANUP
@@ -3718,7 +3718,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [0], [warning: `sys-file.sav' near offset 0x215: ZLIB trailer "zero" field has nonzero value 100.
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [0], [warning: `sys-file.sav' near offset 0x215: ZLIB trailer "zero" field has nonzero value 100.
 ])
 done
 AT_CLEANUP
@@ -3730,7 +3730,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [0], [warning: `sys-file.sav' near offset 0x219: ZLIB trailer specifies unexpected 4096-byte block size.
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [0], [warning: `sys-file.sav' near offset 0x219: ZLIB trailer specifies unexpected 4096-byte block size.
 ])
 done
 AT_CLEANUP
@@ -3742,7 +3742,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x21d: 48-byte ZLIB trailer specifies 2 data blocks (expected 1).
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x21d: 48-byte ZLIB trailer specifies 2 data blocks (expected 1).
 ])
 done
 AT_CLEANUP
@@ -3754,7 +3754,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x21d: ZLIB block descriptor 0 reported uncompressed data offset 0x177, when 0x194 was expected.
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x21d: ZLIB block descriptor 0 reported uncompressed data offset 0x177, when 0x194 was expected.
 ])
 done
 AT_CLEANUP
@@ -3766,7 +3766,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x21d: ZLIB block descriptor 0 reported compressed data offset 0x191, when 0x1ac was expected.
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x21d: ZLIB block descriptor 0 reported compressed data offset 0x191, when 0x1ac was expected.
 ])
 done
 AT_CLEANUP
@@ -3831,7 +3831,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [1], [warning: `sys-file.sav' near offset 0x1c4: ZLIB block descriptor 0 reported block size 0x100000, when 0x3ff000 was expected.
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [1], [warning: `sys-file.sav' near offset 0x1c4: ZLIB block descriptor 0 reported block size 0x100000, when 0x3ff000 was expected.
 error: `sys-file.sav' near offset 0x1dc: ZLIB block descriptor 1 reported compressed data offset 0x12421, when 0x124f1 was expected.
 ])
 done
@@ -3844,7 +3844,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [0], [warning: `sys-file.sav' near offset 0x21d: ZLIB block descriptor 0 reported block size 0x400000, when at most 0x3ff000 was expected.
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [0], [warning: `sys-file.sav' near offset 0x21d: ZLIB block descriptor 0 reported block size 0x400000, when at most 0x3ff000 was expected.
 ])
 done
 AT_CLEANUP
@@ -3857,7 +3857,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x21d: ZLIB block descriptor 0 reports compressed size 100 and uncompressed size 50.
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x21d: ZLIB block descriptor 0 reports compressed size 100 and uncompressed size 50.
 ])
 done
 AT_CLEANUP
@@ -3869,7 +3869,7 @@ for variant in be le; do
   AT_CHECK([sack --$variant sys-file.sack > sys-file.sav])
   AT_DATA([sys-file.sps], [GET FILE='sys-file.sav'.
 ])
-  AT_CHECK([pspp -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x235: ZLIB trailer is at offset 0x205 but 0x204 would be expected from block descriptors.
+  AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps], [1], [error: `sys-file.sav' near offset 0x235: ZLIB trailer is at offset 0x205 but 0x204 would be expected from block descriptors.
 ])
 done
 AT_CLEANUP
diff --git a/tests/data/sys-file.at b/tests/data/sys-file.at
index 3e1fbb1..b2a213c 100644
--- a/tests/data/sys-file.at
+++ b/tests/data/sys-file.at
@@ -25,7 +25,7 @@ GET /FILE='foo.sav'.
 
 LIST.
 EOF
-    AT_CHECK([pspp -o pspp.csv sysfile.sps])
+    AT_CHECK([$RUNNER $PSPP -o pspp.csv sysfile.sps])
     AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 variable001,variable002,variable003,variable004
@@ -71,7 +71,7 @@ SAVE/$compression /OUTFILE='foo.sav'.
 GET /FILE='foo.sav'.
 DISPLAY DICTIONARY.
 EOF
-    AT_CHECK([pspp -o pspp.csv sysfile.sps])
+    AT_CHECK([$RUNNER $PSPP -o pspp.csv sysfile.sps])
     AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 s1,"Format: A9
@@ -113,7 +113,7 @@ GET FILE='com.sav'.
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv sysfile.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv sysfile.sps])
 dnl Make sure file really was compressd, allowing big- or little-endian format.
 AT_CHECK([dd if=com.sav bs=1 skip=72 count=4 2> /dev/null > com.sav.subset])
 od com.sav.subset
@@ -134,7 +134,7 @@ BEGIN DATA.
 END DATA.
 SAVE OUTFILE='output.sav'.
 ])
-AT_CHECK([pspp -O format=csv sysfile.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv sysfile.sps])
 AT_CHECK([cmp output.sav output.sav.backup], [1], [ignore])
 AT_CLEANUP
 
@@ -150,7 +150,7 @@ END DATA.
 XSAVE OUTFILE='output.sav'.
 HOST COMMAND=['kill -TERM $PPID'].
 ]])
-AT_CHECK([pspp -O format=csv sysfile.sps], [143], [], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv sysfile.sps], [143], [], [ignore])
 AT_CHECK([cmp output.sav output.sav.backup])
 AT_CHECK(
   [for file in *.tmp*; do if test -e $file; then echo $file; exit 1; fi; done])
@@ -165,7 +165,7 @@ BEGIN DATA.
 END DATA.
 SAVE OUTFILE='data.sav'.
 ])
-AT_CHECK([pspp -O format=csv save.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv save.sps])
 AT_CHECK([test -s data.sav])
 AT_CHECK(
   [for file in *.tmp*; do if test -e $file; then echo $file; exit 1; fi; done])
@@ -174,14 +174,14 @@ GET FILE='data.sav'.
 COMPUTE y = x * 3.
 SAVE OUTFILE='data.sav'.
 ])
-AT_CHECK([pspp -O format=csv save2.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv save2.sps])
 AT_CHECK(
   [for file in *.tmp*; do if test -e $file; then echo $file; exit 1; fi; done])
 AT_DATA([save3.sps], [dnl
 GET FILE='data.sav'.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv save3.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv save3.sps], [0], [dnl
 Table: Data List
 x,y
 3,9.00
@@ -200,12 +200,12 @@ END INPUT PROGRAM.
 
 SAVE OUTFILE='tiny.sav'.
 ])
-AT_CHECK([pspp -O format=csv save.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv save.sps])
 AT_DATA([get.sps], [dnl
 GET FILE='tiny.sav'.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv get.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv get.sps], [0], [dnl
 Table: Data List
 X
 2.00
@@ -234,7 +234,7 @@ Europe, 9938000, 7.3E+008, 46.00
 Australia/Oceania, 7687000, 31000000, 14.00
 END DATA.
 ])
-AT_CHECK([pspp -O format=csv save.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv save.sps])
 AT_CHECK([test -f cont.sav])
 
 dnl case_size is a 4-byte field at offset 68.
@@ -252,7 +252,7 @@ GET FILE='cont2.sav'.
 DISPLAY LABELS.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv get.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Label,Position
 cont,continents of the world,1
@@ -295,7 +295,7 @@ GET /FILE='foo.sav'.
 
 LIST.
 ])
-AT_CHECK([pspp -O format=csv sysfile.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv sysfile.sps], [0], [dnl
 Table: Data List
 x,variable,variab_a,variab_b
 1.00,1.00,1.00,2.00
@@ -320,7 +320,7 @@ GET FILE='v13.sav' ENCODING='utf-8'.
 DISPLAY VARIABLES.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv sys-file.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 N,"Format: F8.2
@@ -346,7 +346,7 @@ GET FILE='v14.sav' ENCODING='utf-8'.
 DISPLAY VARIABLES.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv sys-file.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv sys-file.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 vl255,"Format: A255
@@ -385,7 +385,7 @@ DATA LIST FIXED NOTABLE FILE='data.txt'
 
 SAVE OUTFILE='foo.sav' /$1.
 ])
-   AT_CHECK([pspp -O format=csv save.sps])
+   AT_CHECK([$RUNNER $PSPP -O format=csv save.sps])
    AT_DATA([get.sps], [dnl
 GET FILE='foo.sav'.
 
@@ -398,7 +398,7 @@ PRINT OUTFILE='out.txt'
 
 EXECUTE.
 ])
-   AT_CHECK([pspp -o pspp.csv get.sps])
+   AT_CHECK([$RUNNER $PSPP -o pspp.csv get.sps])
    AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 a,Format: A10,1
@@ -440,14 +440,14 @@ BEGIN DATA.
 END DATA.
 SAVE OUTFILE='foo.sav'.
 ])
-AT_CHECK([pspp -O format=csv save.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv save.sps])
 AT_DATA([get.sps], [dnl
 GET FILE='foo.sav'.
 DISPLAY FILE LABEL.
 DISPLAY DOCUMENTS.
 DISPLAY DICTIONARY.
 ])
-AT_CHECK([pspp -o pspp.csv get.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get.sps])
 AT_CHECK([[sed 's/(Entered [^)]*)/(Entered <date>)/' pspp.csv]], [0], [dnl
 File label: clientèle confrère cortège crèche
 
diff --git a/tests/language/command.at b/tests/language/command.at
index ae91558..bde3e53 100644
--- a/tests/language/command.at
+++ b/tests/language/command.at
@@ -6,7 +6,7 @@ AT_DATA([command.sps], [dnl
 DATA rubbish.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv command.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv command.sps], [1], [dnl
 command.sps:1: error: Unknown command `DATA rubbish'.
 
 command.sps:2: error: EXECUTE: EXECUTE is allowed only after the active dataset has been defined.
@@ -31,7 +31,7 @@ set safer on
 
 erase FILE='foobar'.
 ])
-AT_CHECK([pspp -O format=csv erase.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv erase.sps], [1], [dnl
 erase.sps:3: error: ERASE: This command not allowed when the SAFER option is set.
 ])
 AT_CHECK([cat foobar], [0], [contents
@@ -45,7 +45,7 @@ AT_CHECK([test -e foobar])
 AT_DATA([erase.sps], [dnl
 erase FILE='foobar'.
 ])
-AT_CHECK([pspp -O format=csv erase.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv erase.sps])
 AT_CHECK([test ! -e foobar])
 AT_CLEANUP
 
@@ -65,7 +65,7 @@ N OF CASES 15.
 
 LIST.
 ])
-AT_CHECK([pspp -O format=csv n-of-cases.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv n-of-cases.sps], [0], [dnl
 Table: Data List
 x
 1.00
@@ -94,5 +94,5 @@ AT_SETUP([COMMENT at end of file])
 AT_DATA([comment.sps], [dnl
 COMMENT this is a comment at end of file.
 ])
-AT_CHECK([pspp -O format=csv comment.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv comment.sps])
 AT_CLEANUP
diff --git a/tests/language/control/do-if.at b/tests/language/control/do-if.at
index 2136c9b..3189bdc 100644
--- a/tests/language/control/do-if.at
+++ b/tests/language/control/do-if.at
@@ -45,7 +45,7 @@ PRINT OUTFILE="do-if.out"/ABCD 'E'.
 END IF.
 EXECUTE.
 ])
-AT_CHECK([pspp do-if.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP do-if.sps], [0], [ignore])
 AT_CHECK([cat do-if.out], [0], [expout])
 AT_CLEANUP
 
@@ -54,7 +54,7 @@ AT_DATA([do-if.sps], [dnl
 DATA LIST LIST NOTABLE/a b c.
 END IF.
 ])
-AT_CHECK([pspp -O format=csv do-if.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv do-if.sps], [1], [dnl
 do-if.sps:2: error: END IF: This command cannot appear outside DO IF...END IF.
 ])
 AT_CLEANUP
diff --git a/tests/language/control/do-repeat.at b/tests/language/control/do-repeat.at
index 75c0e77..b96e10f 100644
--- a/tests/language/control/do-repeat.at
+++ b/tests/language/control/do-repeat.at
@@ -14,7 +14,7 @@ END FILE.
 END INPUT PROGRAM.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv do-repeat.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv do-repeat.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 y,x,a,b,c
@@ -37,7 +37,7 @@ COMPUTE x = x + offset.
 LIST.
 END REPEAT.
 ])
-AT_CHECK([pspp -o pspp.csv do-repeat.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv do-repeat.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 x
@@ -77,7 +77,7 @@ END REPEAT.
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv do-repeat.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -o pspp.csv do-repeat.sps], [0], [dnl
 do-repeat.sps:8: warning: DO REPEAT: Dummy variable name `x' hides dictionary variable `x'.
 ])
 AT_CHECK([cat pspp.csv], [0], [dnl
@@ -112,7 +112,7 @@ END REPEAT.
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv do-repeat.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv do-repeat.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 a,h0,h1,h2,h3,v1,v2,v3,v4,v5,v6
@@ -132,7 +132,7 @@ END DATA.
 DO REPEAT h = a.
 END REPEAT.
 ])
-AT_CHECK([pspp -o pspp.csv do-repeat.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv do-repeat.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 ])
 AT_CLEANUP
@@ -144,7 +144,7 @@ AT_DATA([do-repeat.sps], [dnl
 DATA LIST NOTABLE /x 1.
 DO REPEAT y = 1 TO 10.
 ])
-AT_CHECK([pspp -O format=csv do-repeat.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv do-repeat.sps], [1], [dnl
 error: DO REPEAT: Syntax error at end of input: expecting END.
 ])
 AT_CLEANUP
diff --git a/tests/language/control/loop.at b/tests/language/control/loop.at
index be214cc..0db0345 100644
--- a/tests/language/control/loop.at
+++ b/tests/language/control/loop.at
@@ -19,7 +19,7 @@ end loop.
 print/'--------'.
 execute.
 ])
-AT_CHECK([pspp -o pspp.csv loop.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv loop.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 1.00 @&t@
 
@@ -56,7 +56,7 @@ end loop.
 print/'--------'.
 execute.
 ])
-AT_CHECK([pspp -o pspp.csv loop.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv loop.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 1.00 @&t@
 
@@ -93,7 +93,7 @@ end loop if #k > y.
 print/'--------'.
 execute.
 ])
-AT_CHECK([pspp -o pspp.csv loop.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv loop.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 1.00 @&t@
 
@@ -130,7 +130,7 @@ end loop.
 print/'--------'.
 execute.
 ])
-AT_CHECK([pspp -o pspp.csv loop.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv loop.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 1.00 @&t@
 
@@ -159,7 +159,7 @@ end loop if #n >= 4.
 print/'--------'.
 execute.
 ])
-AT_CHECK([pspp -o pspp.csv loop.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv loop.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 1.00 @&t@
 
@@ -192,7 +192,7 @@ end loop if #o >= 4.
 print/'--------'.
 execute.
 ])
-AT_CHECK([pspp -o pspp.csv loop.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv loop.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 --------
 
@@ -222,7 +222,7 @@ end loop.
 print/'--------'.
 execute.
 ])
-AT_CHECK([pspp -o pspp.csv loop.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv loop.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 1.00 @&t@
 
@@ -257,7 +257,7 @@ end loop.
 print/'--------'.
 execute.
 ])
-AT_CHECK([pspp -o pspp.csv loop.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv loop.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 1     1.00 @&t@
 
diff --git a/tests/language/control/temporary.at b/tests/language/control/temporary.at
index 5ec8bea..80d1375 100644
--- a/tests/language/control/temporary.at
+++ b/tests/language/control/temporary.at
@@ -22,7 +22,7 @@ LIST.
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv temporary.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv temporary.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 X
diff --git a/tests/language/data-io/add-files.at b/tests/language/data-io/add-files.at
index d665081..89c79eb 100644
--- a/tests/language/data-io/add-files.at
+++ b/tests/language/data-io/add-files.at
@@ -28,13 +28,13 @@ m4_define([CHECK_ADD_FILES],
 DATA LIST NOTABLE FILE='a.data' /a b c 1-3 (A).
 SAVE OUTFILE='a.sav'.
 ])
-      AT_CHECK([pspp -O format=csv save-a.sps])])
+      AT_CHECK([$RUNNER $PSPP -O format=csv save-a.sps])])
    m4_if([$3], [sav],
      [AT_DATA([save-b.sps], [dnl
 DATA LIST NOTABLE FILE='b.data' /a b c 1-3 (A).
 SAVE OUTFILE='b.sav'.
 ])
-      AT_CHECK([pspp -O format=csv save-b.sps])])
+      AT_CHECK([$RUNNER $PSPP -O format=csv save-b.sps])])
    m4_if([$1], [interleave],
           [m4_pushdef([BY], [[/BY a /FIRST=first /LAST=last]])
 	   m4_pushdef([SORT], [[/SORT]])],
@@ -51,7 +51,7 @@ LIST.
 ])
    m4_popdef([BY])
    m4_popdef([SORT])
-   AT_CHECK([pspp -O format=csv add-files.sps], [0],
+   AT_CHECK([$RUNNER $PSPP -O format=csv add-files.sps], [0],
 [m4_if([$1], [interleave], [dnl
 Table: Data List
 a,b,c,d,InA,InB,first,last
diff --git a/tests/language/data-io/data-list.at b/tests/language/data-io/data-list.at
index b758411..389fc4d 100644
--- a/tests/language/data-io/data-list.at
+++ b/tests/language/data-io/data-list.at
@@ -16,7 +16,7 @@ END DATA.
 
 LIST.
 ])
-AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv data-list.pspp], [0], [dnl
 Table: Data List
 A,B,C
 .,.,.
@@ -42,7 +42,7 @@ end data.
 
 list.
 ])
-AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv data-list.pspp], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 A,F8.0
@@ -80,7 +80,7 @@ begin data.
 end data.
 list.
 ])
-AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv data-list.pspp], [0], [dnl
 data-list.pspp:4.6: warning: Data for variable D is not valid as format F: Field contents are not numeric.
 
 Table: Data List
@@ -119,7 +119,7 @@ begin data.
 end data.
 list.
 ])
-AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv data-list.pspp], [0], [dnl
 Table: Data List
 A,B,C,D
 1.00,2.00,3.00,4.00
@@ -177,7 +177,7 @@ BEGIN DATA.
 END DATA.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv data-list.pspp], [0], [dnl
 Table: Data List
 x,y,z
 1.00,2.00,3.00
@@ -223,7 +223,7 @@ xy
 end data.
 list.
 ])
-AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv data-list.pspp], [0], [dnl
 data-list.pspp:8.1-8.3: warning: Data for variable count is not valid as format F: Field contents are not numeric.
 
 data-list.pspp:11.1-11.3: warning: Data for variable count is not valid as format F: Field contents are not numeric.
@@ -253,7 +253,7 @@ begin data.
 end data.
 list.
 ])
-AT_CHECK([pspp -O format=csv data-list.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv data-list.pspp], [0], [dnl
 Table: Data List
 x,y
 1,2
@@ -277,7 +277,7 @@ dnl It might not have, if we're running on a system that translates \n
 dnl into some other sequence.
 AT_CHECK([cksum input.txt], [0], [1732021750 50 input.txt
 ])
-AT_CHECK([pspp -o pspp.csv data-list.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv data-list.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 a,b,c
@@ -304,7 +304,7 @@ execute.
 AT_CHECK([sed -n '/12345/l' data-list.sps], [0], [dnl
 \t1\t12\t123\t1234\t12345    .$
 ])
-AT_CHECK([pspp -o pspp.csv data-list.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv data-list.sps])
 dnl The CSV driver drops leading spaces so they don't appear here:
 AT_CHECK([cat pspp.csv], [0], [dnl
 1       12      123     1234    12345    . @&t@
@@ -328,7 +328,7 @@ BEGIN DATA.
 'y'z
 END DATA.
 ])
-AT_CHECK([pspp -O format=csv data-list.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv data-list.sps], [0], [dnl
 data-list.sps:4: warning: Missing delimiter following quoted string.
 
 Table: Data List
@@ -342,7 +342,7 @@ AT_SETUP([DATA LIST FREE and LIST assume a width if omitted])
 AT_DATA([data-list.sps], [dnl
 DATA LIST FREE TABLE/s (a) d (datetime) f (f).
 ])
-AT_CHECK([pspp -O format=csv data-list.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv data-list.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 s,A1
@@ -370,7 +370,7 @@ END DATA
 LIST /FORMAT=NUMBERED.
 ])
 
-AT_CHECK([pspp -O format=csv data-list.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv data-list.sps], [0], [dnl
 Table: Data List
 Case Number,A
 1,"1,00"
diff --git a/tests/language/data-io/data-reader.at b/tests/language/data-io/data-reader.at
index b9e7607..2ff6f11 100644
--- a/tests/language/data-io/data-reader.at
+++ b/tests/language/data-io/data-reader.at
@@ -16,7 +16,7 @@ BEGIN DATA.
 90
 END DATA.
 ])
-AT_CHECK([pspp -O format=csv begin-data.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv begin-data.sps], [0], [dnl
 Title: Test BEGIN DATA ... END DATA
 
 Table: Reading 1 record from INLINE.
@@ -47,7 +47,7 @@ begin data.
 end data.
 list.
 ])
-AT_CHECK([pspp -O format=csv begin-data.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv begin-data.sps], [0], [dnl
 Table: Reading 1 record from INLINE.
 Variable,Record,Columns,Format
 A,1,1-  1,F1.0
@@ -166,7 +166,7 @@ COMPUTE count=count + 1.
 PRINT OUTFILE=output/start end count.
 EXECUTE.
 ])
-   AT_CHECK([pspp -O format=csv data-reader.sps], [0], [dnl
+   AT_CHECK([$RUNNER $PSPP -O format=csv data-reader.sps], [0], [dnl
 Table: Data List
 start,end,count
 07/22/2007,10/06/2007,321
@@ -183,7 +183,7 @@ DATA LIST FIXED FILE=output NOTABLE/
 	count 24-26.
 LIST.
 ])
-   AT_CHECK([pspp -O format=csv data-reader-2.sps], [0], [dnl
+   AT_CHECK([$RUNNER $PSPP -O format=csv data-reader-2.sps], [0], [dnl
 Table: Data List
 start,end,count
 07/22/2007,10/06/2007,322
diff --git a/tests/language/data-io/dataset.at b/tests/language/data-io/dataset.at
index 7d5e928..a3baa85 100644
--- a/tests/language/data-io/dataset.at
+++ b/tests/language/data-io/dataset.at
@@ -43,7 +43,7 @@ DATASET DISPLAY.
 DATASET CLOSE initial.
 DATASET DISPLAY.
 ])
-AT_CHECK([pspp -O format=csv dataset.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv dataset.pspp], [0], [dnl
 Table: Data List
 y
 6
@@ -109,7 +109,7 @@ DATASET ACTIVATE second.
 DATASET DISPLAY.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv dataset.pspp], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv dataset.pspp], [1], [dnl
 Table: Open datasets.
 Dataset
 unnamed dataset (active dataset)
@@ -138,7 +138,7 @@ DATASET NAME b.
 DATASET NAME c.
 DATASET DISPLAY.
 ])
-AT_CHECK([pspp -O format=csv dataset.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv dataset.pspp], [0], [dnl
 Table: Open datasets.
 Dataset
 a (active dataset)
@@ -159,7 +159,7 @@ DATASET DISPLAY.
 DATASET ACTIVATE x.
 DATASET DISPLAY.
 ])
-AT_CHECK([pspp -O format=csv dataset.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv dataset.pspp], [0], [dnl
 Table: Open datasets.
 Dataset
 unnamed dataset (active dataset)
@@ -193,7 +193,7 @@ LIST.
 DATASET ACTIVATE one.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv dataset.pspp], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv dataset.pspp], [1], [dnl
 Table: Open datasets.
 Dataset
 another
@@ -252,7 +252,7 @@ DATASET DISPLAY.
 DATASET CLOSE ALL.
 DATASET DISPLAY.
 ])
-AT_CHECK([pspp -O format=csv dataset.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv dataset.pspp], [0], [dnl
 Table: Open datasets.
 Dataset
 unnamed dataset (active dataset)
diff --git a/tests/language/data-io/file-handle.at b/tests/language/data-io/file-handle.at
index add22d2..981a632 100644
--- a/tests/language/data-io/file-handle.at
+++ b/tests/language/data-io/file-handle.at
@@ -12,7 +12,7 @@ FILE HANDLE myhandle /NAME='wiggle.txt'.
 DATA LIST LIST FILE=myhandle /x *.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv file-handle.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv file-handle.sps], [0], [dnl
 Table: Reading free-form data from myhandle.
 Variable,Format
 x,F8.0
diff --git a/tests/language/data-io/get-data-psql.at b/tests/language/data-io/get-data-psql.at
index 692de09..e4ff8f5 100644
--- a/tests/language/data-io/get-data-psql.at
+++ b/tests/language/data-io/get-data-psql.at
@@ -136,7 +136,7 @@ DISPLAY DICTIONARY.
 LIST.
 EOF
 ])
-AT_CHECK([pspp -o pspp.csv ordinary-query.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv ordinary-query.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 bool,Format: F8.2,1
@@ -181,7 +181,7 @@ DISPLAY DICTIONARY.
 LIST.
 EOF
 ])
-AT_CHECK([pspp -o pspp.csv empty-result.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv empty-result.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 a,Format: F8.2,1
@@ -214,7 +214,7 @@ N OF CASES 6.
 LIST.
 EOF
 ])
-AT_CHECK([pspp -o pspp.csv large-result.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv large-result.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 x,diff
@@ -261,7 +261,7 @@ DISPLAY DICTIONARY.
 LIST.
 EOF
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps])
-AT_CAPTURE_FILE([pspp.csv])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps])
+AT_CAPTURE_FILE([$RUNNER $PSPP.csv])
 rm -rf "$socket_dir"
 AT_CLEANUP
diff --git a/tests/language/data-io/get-data-spreadsheet.at b/tests/language/data-io/get-data-spreadsheet.at
index b6a18dd..79cbb76 100644
--- a/tests/language/data-io/get-data-spreadsheet.at
+++ b/tests/language/data-io/get-data-spreadsheet.at
@@ -21,7 +21,7 @@ GET DATA /TYPE=$1 /FILE='testsheet'  /READNAMES=off /SHEET=name 'This' /CELLRANG
 DISPLAY VARIABLES.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 VAR001,Format: F8.2,1
@@ -45,7 +45,7 @@ GET DATA /TYPE=$1 /FILE='testsheet'  /READNAMES=on /SHEET=name 'This' /CELLRANGE
 DISPLAY VARIABLES.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 V1,Format: F8.2,1
@@ -69,7 +69,7 @@ GET DATA /TYPE=$1 /FILE='testsheet' /SHEET=index 3.
 DISPLAY VARIABLES.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv get-data.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv get-data.sps], [0], [dnl
 Variable,Description,Position
 name,Format: A8,1
 id,Format: F8.2,2
@@ -94,7 +94,7 @@ GET DATA /TYPE=$1 /FILE='testsheet' /READNAMES=on /SHEET=index 5.
 DISPLAY VARIABLES.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 vone,Format: F8.2,1
@@ -120,7 +120,7 @@ GET DATA /TYPE=$1 /FILE='testsheet'.
 DISPLAY DICTIONARY.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps], [0], [ignore])
 AT_CLEANUP
 
 
@@ -131,7 +131,7 @@ AT_DATA([get-data.sps], [dnl
 * This sheet is empty
 GET DATA /TYPE=$1 /FILE='testsheet' /SHEET=name 'Empty'.
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps], [0], [dnl
 warning: Selected sheet or range of spreadsheet `testsheet' is empty.
 ])
 AT_CLEANUP
@@ -142,7 +142,7 @@ AT_DATA([get-data.sps], [dnl
 * This sheet doesnt exist.
 GET DATA /TYPE=$1 /FILE='testsheet' /SHEET=name 'foobarxx'.
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps], [0], [dnl
 warning: Selected sheet or range of spreadsheet `testsheet' is empty.
 ])
 AT_CLEANUP
@@ -290,7 +290,7 @@ GET DATA
 LIST.
 ])
 
-AT_CHECK([pspp -O format=csv gnum.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv gnum.sps], [0], [dnl
 Table: Data List
 VAR001,VAR002,VAR003
 3       ,4.00,5.00
@@ -348,7 +348,7 @@ AT_DATA([crash.gnumeric],[dnl
 </gnm:Workbook>
 ])
 
-AT_CHECK([pspp -O format=csv read.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv read.sps], [0], [ignore])
 
 
 AT_CLEANUP
@@ -371,7 +371,7 @@ GET DATA /TYPE=ODS /FILE='this.ods' /CELLRANGE=RANGE 'A1:C8'  /READNAMES=ON
 LIST.
 ])
 
-AT_CHECK([pspp -O format=csv crash.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv crash.sps], [0], [ignore])
 
 AT_CLEANUP
 
diff --git a/tests/language/data-io/get-data-txt.at b/tests/language/data-io/get-data-txt.at
index 9e01aae..94f8e5c 100644
--- a/tests/language/data-io/get-data-txt.at
+++ b/tests/language/data-io/get-data-txt.at
@@ -16,7 +16,7 @@ end data.
 
 list.
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 A,B,C,D
@@ -50,7 +50,7 @@ begin data.
 end data.
 list.
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps], [0], [ignore])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 A,B,C,D
@@ -90,7 +90,7 @@ begin data.
 end data.
 list.
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 A,B,C,D
@@ -132,7 +132,7 @@ begin data.
 end data.
 list.
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 start,end,count
@@ -161,7 +161,7 @@ begin data.
 end data.
 list.
 ])
-AT_CHECK([pspp -o pspp.csv get-data.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 x,y
@@ -193,7 +193,7 @@ GET DATA /TYPE=TXT /FILE='passwd.data' /DELIMITERS=':'
                    shell A40.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv passwd.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv passwd.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 username,password,uid,gid,gecos,home,shell
@@ -233,7 +233,7 @@ GET DATA /TYPE=TXT /FILE='cars.data' /ARRANGEMENT=FIXED /FIRSTCASE=2
                    age 40-47 F.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv cars.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv cars.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 model,year,mileage,price,type,age
@@ -274,7 +274,7 @@ GET DATA /TYPE=TXT /FILE='pets.data' /DELIMITERS=', ' /QUALIFIER='''"'
                    type a10.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv pets.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv pets.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 name,age,color,received,price,height,type
@@ -300,7 +300,7 @@ get data /type=txt /file='test.data' /importcase=percent 35 /variables x f8.0.
 get data /type=txt /file='test.data' /importcase=percent 95 /variables x f8.0.
 get data /type=txt /file='test.data' /importcase=percent 100 /variables x f8.0.
 ])
-AT_CHECK([pspp -O format=csv get-data.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv get-data.sps], [0], [dnl
 get-data.sps:1: warning: GET DATA: Ignoring obsolete IMPORTCASES subcommand.  (N OF CASES or SAMPLE may be used to substitute.)
 
 get-data.sps:2: warning: GET DATA: Ignoring obsolete IMPORTCASES subcommand.  (N OF CASES or SAMPLE may be used to substitute.)
@@ -322,7 +322,7 @@ get data /type=txt /file='data.txt' /encoding='iso-8859-1'
 list.
 ])
 printf '\351' > data.txt	# é in ISO-8859-1.
-AT_CHECK([pspp -o pspp.csv get-data.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get-data.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 s
diff --git a/tests/language/data-io/get.at b/tests/language/data-io/get.at
index 9f49b57..9f1e274 100644
--- a/tests/language/data-io/get.at
+++ b/tests/language/data-io/get.at
@@ -26,7 +26,7 @@ LIST.
 * But this one get rubbish
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv get.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv get.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 LOCATION,EDITOR,SHELL,FREQ
@@ -76,7 +76,7 @@ SAVE OUTFILE='test.sav'/$1.
 GET FILE='test.sav'/KEEP=x y z all.
 LIST.
 ])
-   AT_CHECK([pspp -o pspp.csv get.sps])
+   AT_CHECK([$RUNNER $PSPP -o pspp.csv get.sps])
    AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
@@ -97,6 +97,6 @@ AT_DATA([get.sps], [dnl
 get data /file='anything'.
 ])
 
-AT_CHECK([pspp get.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP get.sps], [1], [ignore])
 
 AT_CLEANUP
diff --git a/tests/language/data-io/inpt-pgm.at b/tests/language/data-io/inpt-pgm.at
index f549885..5075571 100644
--- a/tests/language/data-io/inpt-pgm.at
+++ b/tests/language/data-io/inpt-pgm.at
@@ -11,7 +11,7 @@ BEGIN DATA
 END DATA.
 END INPUT PROGRAM.
 ])
-AT_CHECK([pspp -O format=csv input-program.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv input-program.sps], [1], [dnl
 input-program.sps:3: error: BEGIN DATA: BEGIN DATA is not allowed inside INPUT PROGRAM.
 ])
 AT_CLEANUP
@@ -27,7 +27,7 @@ END INPUT PROGRAM.
 
 DESCRIPTIVES x.
 ])
-AT_CHECK([pspp -O format=csv input-program.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv input-program.sps], [1], [dnl
 error: DESCRIPTIVES: Syntax error at end of input: expecting BEGIN.
 ])
 AT_CLEANUP
@@ -40,7 +40,7 @@ STRING firstname lastname (a24) / address (a80).
 END INPUT PROGRAM.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv input-program.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv input-program.sps], [1], [dnl
 input-program.sps:3: error: Input program must contain DATA LIST or END FILE.
 
 input-program.sps:4: error: EXECUTE: EXECUTE is allowed only after the active dataset has been defined.
@@ -65,7 +65,7 @@ END INPUT PROGRAM.
 DATASET COPY x.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv input-program.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv input-program.sps], [0], [dnl
 Table: Data List
 vec1,vec2,vec3,vec4,vec5
 1.00,2.00,3.00,4.00,5.00
diff --git a/tests/language/data-io/list.at b/tests/language/data-io/list.at
index 40e1247..98df0bc 100644
--- a/tests/language/data-io/list.at
+++ b/tests/language/data-io/list.at
@@ -19,7 +19,7 @@ DATA LIST FILE='data.txt'/avar 1-5 bvar 6-10.
 WEIGHT BY bvar.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv list.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv list.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading 1 record from `data.txt'.
 Variable,Record,Columns,Format
@@ -61,7 +61,7 @@ DATA LIST FILE='data.txt'/avar 1-5 bvar 6-10.
 WEIGHT BY bvar.
 LIST/FORMAT NUMBERED.
 ])
-AT_CHECK([pspp -o pspp.csv list.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv list.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading 1 record from `data.txt'.
 Variable,Record,Columns,Format
@@ -100,7 +100,7 @@ DATA LIST LIST NOTABLE FILE='data.txt'/s (a1) n.
 SPLIT FILE BY s.
 LIST n.
 ])
-AT_CHECK([pspp -o pspp.csv list.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv list.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Value,Label
 s,a,
@@ -141,7 +141,7 @@ AT_DATA([list.sps], [dnl
 DATA LIST FILE='data.txt' NOTABLE/x01 to x30 1-30.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv list.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv list.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 x01,x02,x03,x04,x05,x06,x07,x08,x09,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30
@@ -190,7 +190,7 @@ LIST /CASES=BY 10.
 LIST /CASES=FROM 25.
 LIST /CASES=FROM 26.
 ])
-AT_CHECK([pspp -o pspp.csv list.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv list.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 x0,x1,x2,x3,x4,x5,x6,x7,x8,x9
@@ -237,7 +237,7 @@ DISPLAY VARIABLES.
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv list.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv list.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 foo,Format: A2000,1
diff --git a/tests/language/data-io/match-files.at b/tests/language/data-io/match-files.at
index d83eec8..3b538da 100644
--- a/tests/language/data-io/match-files.at
+++ b/tests/language/data-io/match-files.at
@@ -32,7 +32,7 @@ SAVE OUTFILE='data1.sav'.
 DATA LIST NOTABLE FILE='data2.txt' /a b c 1-3 (A).
 SAVE OUTFILE='data2.sav'.
 ])
-   AT_CHECK([pspp -O format=csv prepare.sps])
+   AT_CHECK([$RUNNER $PSPP -O format=csv prepare.sps])
    AT_CHECK([test -f data1.sav && test -f data2.sav])])
 
 dnl CHECK_MATCH_FILES(TYPE2, SOURCE1, SOURCE2)
@@ -97,7 +97,7 @@ MATCH FILES
 	/BY a /FIRST=first /LAST=last.
 LIST.
 ])
-   AT_CHECK([pspp -o pspp.csv match-files.sps])
+   AT_CHECK([$RUNNER $PSPP -o pspp.csv match-files.sps])
    AT_CHECK([cat pspp.csv], [0], [expout])
    AT_CLEANUP])
 
@@ -114,7 +114,7 @@ AT_DATA([match-files.sps], [dnl
 MATCH FILES FILE='data1.sav' /FILE='data2.sav' /RENAME (a b c=d e f).
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv match-files.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv match-files.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 a,b,c,d,e,f
@@ -155,7 +155,7 @@ END DATA.
 MATCH FILES TABLE=* /FILE='bar.sav' /BY=x.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv match-files.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv match-files.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 x,z,y
@@ -184,7 +184,7 @@ MATCH FILES FILE=* /DROP=w.
 LIST.
 FINISH.
 ])
-AT_CHECK([pspp -o pspp.csv match-files.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv match-files.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
@@ -222,7 +222,7 @@ END DATA.
 MATCH FILES/FILE='x.sav'/FILE=*/BY name.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv match-files.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv match-files.sps], [1], [dnl
 "match-files.sps:15: error: MATCH FILES: Variable name in file * has different type or width from the same variable in earlier file.  In file *, name is a string variable with width 7.  In an earlier file, name was a string variable with width 6."
 
 match-files.sps:16: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
diff --git a/tests/language/data-io/print-space.at b/tests/language/data-io/print-space.at
index e2bd2ee..8dd8e49 100644
--- a/tests/language/data-io/print-space.at
+++ b/tests/language/data-io/print-space.at
@@ -11,7 +11,7 @@ PRINT/x.
 PRINT SPACE.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv print-space.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv print-space.sps], [0], [dnl
 1 @&t@
 
 
@@ -33,7 +33,7 @@ PRINT/x.
 PRINT SPACE 2.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv print-space.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv print-space.sps], [0], [dnl
 1 @&t@
 
 
@@ -60,7 +60,7 @@ PRINT OUTFILE='output.txt'/x.
 PRINT SPACE OUTFILE='output.txt'.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv print-space.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv print-space.sps])
 AT_CHECK([cat output.txt], [0], [dnl
  1 @&t@
  @&t@
@@ -81,7 +81,7 @@ PRINT OUTFILE='output.txt'/x.
 PRINT SPACE OUTFILE='output.txt' 2.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv print-space.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv print-space.sps])
 AT_CHECK([cat output.txt], [0], [dnl
  1 @&t@
  @&t@
diff --git a/tests/language/data-io/print.at b/tests/language/data-io/print.at
index 04701f6..ca7d602 100644
--- a/tests/language/data-io/print.at
+++ b/tests/language/data-io/print.at
@@ -35,7 +35,7 @@ print.
 
 execute.
 ])
-AT_CHECK([pspp -O format=csv print.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv print.sps], [0], [dnl
 1 2 @&t@
 
 
@@ -108,7 +108,7 @@ print
 
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv print.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv print.sps])
 AT_CHECK([cat print.txt], [0], [dnl
  AaaaaaaaaZ AbbbbMaryHadALittleLambbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbZ AccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccZ @&t@
  AnnnnnnnnZ AmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmZ AoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooWhyIsItSoZ @&t@
@@ -133,7 +133,7 @@ print outfile='print.out'.
 
 execute.
 ])
-AT_CHECK([pspp -O format=csv print.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv print.sps])
 AT_CHECK([cat print.out], [0], [dnl
  1 2 @&t@
 112
@@ -171,7 +171,7 @@ END DATA.
 PRINT F8.2
 LIST.
 ])
-AT_CHECK([pspp -O format=csv print.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv print.sps], [1], [dnl
 print.sps:7.7-7.10: error: PRINT: Syntax error at `F8.2': expecting a valid subcommand.
 
 Table: Data List
@@ -199,7 +199,7 @@ write outfile='write.out'.
 
 execute.
 ])
-AT_CHECK([pspp -O format=csv write.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv write.sps])
 AT_CHECK([cat write.out], [0], [dnl
 12
 12
@@ -235,7 +235,7 @@ END DATA.
 PRINT OUTFILE='output.txt'/x.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv print.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv print.sps])
 AT_CHECK([cat output.txt], [0], [ 5 @&t@
 ])
 AT_CLEANUP
@@ -251,7 +251,7 @@ END DATA.
 PRINT OUTFILE='output.txt'/x.
 HOST COMMAND=['kill -TERM $PPID'].
 ]])
-AT_CHECK([pspp -O format=csv print.sps], [143], [], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv print.sps], [143], [], [ignore])
 AT_CHECK([cat output.txt], [0], [abcdef
 ])
 AT_CHECK(
@@ -267,7 +267,7 @@ COMPUTE y = x + 1.
 PRINT OUTFILE='data.txt'/y.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv print.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv print.sps])
 AT_CHECK([cat data.txt], [0], [     6.00 @&t@
 ])
 AT_CHECK(
@@ -291,7 +291,7 @@ PRINT OUTFILE='foo.out'/x.
 PRINT OUTFILE='foo2.out'/x.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv print.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv print.sps])
 AT_CHECK([cat foo2.out], [0], [dnl
  1 @&t@
  2 @&t@
@@ -319,7 +319,7 @@ PRINT OUTFILE=lf/x.
 PRINT OUTFILE=crlf/x.
 EXECUTE.
 ])
-AT_CHECK([pspp -O format=csv print.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv print.sps])
 AT_CHECK([cat lf.txt], [0], [dnl
  1 @&t@
  2 @&t@
diff --git a/tests/language/data-io/save-translate.at b/tests/language/data-io/save-translate.at
index 408a06b..70d4f9c 100644
--- a/tests/language/data-io/save-translate.at
+++ b/tests/language/data-io/save-translate.at
@@ -17,7 +17,7 @@ FILTER BY filter.
 SAVE TRANSLATE /OUTFILE="data.csv" /TYPE=m4_if([$2], [], [CSV], [$2])
     $1.
 ])
-AT_CHECK([pspp -O format=csv save-translate.pspp], [0])
+AT_CHECK([$RUNNER $PSPP -O format=csv save-translate.pspp], [0])
 ])
 
 AT_SETUP([CSV output -- defaults])
diff --git a/tests/language/data-io/save.at b/tests/language/data-io/save.at
index 8e3a486..78424e6 100644
--- a/tests/language/data-io/save.at
+++ b/tests/language/data-io/save.at
@@ -14,7 +14,7 @@ IMPORT /FILE='wiz.por'.
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv import-export.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv import-export.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 X,Y
@@ -47,8 +47,8 @@ AT_DATA([get.pspp], [dnl
 GET FILE='data.sav'.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv save.pspp])
-AT_CHECK([pspp -O format=csv get.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv save.pspp])
+AT_CHECK([$RUNNER $PSPP -O format=csv get.pspp], [0], [dnl
 Table: Data List
 number,time,date,datetime,string,filter
 .   ,-0 05:17,10/31/2010,09-APR-2008 09:29:00,xxx    ,1
diff --git a/tests/language/data-io/update.at b/tests/language/data-io/update.at
index 41ccf21..4730e8f 100644
--- a/tests/language/data-io/update.at
+++ b/tests/language/data-io/update.at
@@ -28,13 +28,13 @@ m4_define([CHECK_UPDATE],
 DATA LIST NOTABLE FILE='a.data' /a b c 1-3 (A).
 SAVE OUTFILE='a.sav'.
 ])
-      AT_CHECK([pspp -O format=csv save-a.sps])])
+      AT_CHECK([$RUNNER $PSPP -O format=csv save-a.sps])])
    m4_if([$2], [sav],
      [AT_DATA([save-b.sps], [dnl
 DATA LIST NOTABLE FILE='b.data' /a b c 1-3 (A).
 SAVE OUTFILE='b.sav'.
 ])
-      AT_CHECK([pspp -O format=csv save-b.sps])])
+      AT_CHECK([$RUNNER $PSPP -O format=csv save-b.sps])])
    AT_DATA([update.sps], [dnl
 m4_if([$1], [sav], [], [DATA LIST NOTABLE FILE='a.data' /a b c 1-3 (A).])
 m4_if([$2], [sav], [], [DATA LIST NOTABLE FILE='b.data' /a b c 1-3 (A).])
@@ -45,7 +45,7 @@ UPDATE
 LIST.
 ])
    cat update.sps
-   AT_CHECK([pspp -O format=csv update.sps], [0], [dnl
+   AT_CHECK([$RUNNER $PSPP -O format=csv update.sps], [0], [dnl
 update.sps:6: warning: UPDATE: Encountered 3 sets of duplicate cases in the master file.
 
 Table: Data List
diff --git a/tests/language/dictionary/attributes.at b/tests/language/dictionary/attributes.at
index 492709a..aebf15e 100644
--- a/tests/language/dictionary/attributes.at
+++ b/tests/language/dictionary/attributes.at
@@ -34,7 +34,7 @@ VARIABLE ATTRIBUTE
 
 DISPLAY ATTRIBUTES.
 ]])
-AT_CHECK([pspp -O format=csv save-attrs.pspp], [0], 
+AT_CHECK([$RUNNER $PSPP -O format=csv save-attrs.pspp], [0], 
   [[Variable,Description
 a,"Attribute,Value
 ValidationRule[1],a * b > 3
@@ -51,7 +51,7 @@ array[1],array element 1
 array[2],array element 2
 key,value
 ]])
-AT_CHECK([pspp -O format=csv get-attrs.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv get-attrs.pspp], [0], [dnl
 Variable,Description
 a,
 b,"Attribute,Value
diff --git a/tests/language/dictionary/delete-variables.at b/tests/language/dictionary/delete-variables.at
index 48bc40a..d1586a2 100644
--- a/tests/language/dictionary/delete-variables.at
+++ b/tests/language/dictionary/delete-variables.at
@@ -14,7 +14,7 @@ FILTER BY b.
 DELETE VARIABLES a.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv delete-variables.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv delete-variables.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 a,F8.0
diff --git a/tests/language/dictionary/formats.at b/tests/language/dictionary/formats.at
index b1364f7..153a9e9 100644
--- a/tests/language/dictionary/formats.at
+++ b/tests/language/dictionary/formats.at
@@ -9,7 +9,7 @@ DISPLAY VARIABLES.
 FORMATS c (E8.1) x (A1) /y (AHEX4) z (A3).
 DISPLAY VARIABLES.
 ])
-AT_CHECK([pspp -o pspp.csv formats.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv formats.sps])
 AT_CHECK([grep -E -v 'Measure|Display' pspp.csv], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
@@ -55,7 +55,7 @@ FORMATS x (A2).
 FORMATS y (AHEX2).
 FORMATS x y (A2).
 ])
-AT_CHECK([pspp -O format=csv formats.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv formats.sps], [1], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 a,F8.0
diff --git a/tests/language/dictionary/missing-values.at b/tests/language/dictionary/missing-values.at
index d4a9016..1b0ae41 100644
--- a/tests/language/dictionary/missing-values.at
+++ b/tests/language/dictionary/missing-values.at
@@ -61,7 +61,7 @@ DISPLAY DICTIONARY str1 str2 longstr.
 MISSING VALUES ALL ().
 DISPLAY DICTIONARY
 ])
-AT_CHECK([pspp -o pspp.csv missing-values.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv missing-values.sps])
 AT_CHECK([sed -n '/^$/p; /^@<:@^"@:>@*"@<:@^"@:>@*$/N; s/^\(@<:@a-z0-9@:>@*\),".*Missing Values: \(.*\)",@<:@0-9@:>@*$/\1: \2/p; s/^\(@<:@a-z0-9@:>@*\),Format: @<:@A-Z0-9.@:>@*,@<:@0-9@:>@*$/\1: none/p' pspp.csv
 ], [0], [dnl
 date1: 1
@@ -152,7 +152,7 @@ MISSING VALUES str1 ('abc', 'def', 'ghi', 'jkl').
 * Bad range.
 MISSING VALUES num1 (2 THRU 1).
 ])
-AT_CHECK([pspp -O format=csv missing-values.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv missing-values.sps], [1], [dnl
 missing-values.sps:5: error: MISSING VALUES: Missing values provided are too long to assign to variable of width 3.
 
 missing-values.sps:8: error: MISSING VALUES: Truncating missing value to maximum acceptable length (8 bytes).
diff --git a/tests/language/dictionary/mrsets.at b/tests/language/dictionary/mrsets.at
index b69b91e..13c1b95 100644
--- a/tests/language/dictionary/mrsets.at
+++ b/tests/language/dictionary/mrsets.at
@@ -129,7 +129,7 @@ AT_DATA([mrsets.sps],
     /DELETE NAME=ALL
     /DISPLAY NAME=ALL.
 ]])
-AT_CHECK([pspp -O format=csv mrsets.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [0],
   [DEFINE_MRSETS_OUTPUT
 Table: Multiple Response Sets
 Name,Variables,Details
@@ -194,12 +194,12 @@ AT_DATA([mrsets.sps],
   [DEFINE_MRSETS
 SAVE OUTFILE='mrsets.sav'.
 ])
-AT_CHECK([pspp -O format=csv mrsets.sps], [0], [DEFINE_MRSETS_OUTPUT])
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [0], [DEFINE_MRSETS_OUTPUT])
 AT_DATA([mrsets2.sps],
   [GET FILE='mrsets.sav'.
 MRSETS /DISPLAY NAME=ALL.
 ])
-AT_CHECK([pspp -O format=csv mrsets2.sps], [0], [MRSETS_DISPLAY_OUTPUT],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets2.sps], [0], [MRSETS_DISPLAY_OUTPUT],
   [], [hd mrsets.sav])
 AT_CLEANUP
 
@@ -208,7 +208,7 @@ AT_DATA([mrsets.sps],
   [DEFINE_MRSETS_DATA
 MRSETS /MCGROUP NAME=x.
 ])
-AT_CHECK([pspp -O format=csv mrsets.sps], [1],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [1],
   [mrsets.sps:6: error: MRSETS: x is not a valid name for a multiple response set.  Multiple response set names must begin with `$'.
 ])
 AT_CLEANUP
@@ -218,7 +218,7 @@ AT_DATA([mrsets.sps],
   [DEFINE_MRSETS_DATA
 MRSETS /MCGROUP NAME=$x VARIABLES=a.
 ])
-AT_CHECK([pspp -O format=csv mrsets.sps], [1],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [1],
   ["mrsets.sps:6: error: MRSETS: VARIABLES specified only variable a on MCGROUP, but at least two variables are required."
 ])
 AT_CLEANUP
@@ -228,7 +228,7 @@ AT_DATA([mrsets.sps],
   [DEFINE_MRSETS_DATA
 MRSETS /MDGROUP VALUE=1.5.
 ])
-AT_CHECK([pspp -O format=csv mrsets.sps], [1],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [1],
   [mrsets.sps:6: error: MRSETS: Numeric VALUE must be an integer.
 ])
 AT_CLEANUP
@@ -238,7 +238,7 @@ AT_DATA([mrsets.sps],
   [DEFINE_MRSETS_DATA
 MRSETS /MCGROUP VARIABLES=a b c.
 ])
-AT_CHECK([pspp -O format=csv mrsets.sps], [1],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [1],
   [mrsets.sps:6.32: error: MRSETS: Syntax error at end of command: Required MCGROUP specification missing from NAME subcommand.
 ])
 AT_CLEANUP
@@ -248,7 +248,7 @@ AT_DATA([mrsets.sps],
   [DEFINE_MRSETS_DATA
 MRSETS /MCGROUP NAME=$Mcgroup.
 ])
-AT_CHECK([pspp -O format=csv mrsets.sps], [1],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [1],
   [mrsets.sps:6.30: error: MRSETS: Syntax error at end of command: Required MCGROUP specification missing from VARIABLES subcommand.
 ])
 AT_CLEANUP
@@ -258,7 +258,7 @@ AT_DATA([mrsets.sps],
   [DEFINE_MRSETS_DATA
 MRSETS /MCGROUP NAME=$mygroup VARIABLES=a b x y.
 ])
-AT_CHECK([pspp -O format=csv mrsets.sps], [1],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [1],
   [mrsets.sps:6: error: MRSETS: a and x are not the same type.  All variables in this variable list must be of the same type.  x will be omitted from the list.
 
 mrsets.sps:6: error: MRSETS: a and y are not the same type.  All variables in this variable list must be of the same type.  y will be omitted from the list.
@@ -271,7 +271,7 @@ AT_DATA([mrsets.sps],
 MRSETS /MDGROUP NAME=$group1 VARIABLES=a b VALUE=1.
 MRSETS /MDGROUP NAME=$group2 VARIABLES=x y VALUE='abc'.
 ])
-AT_CHECK([pspp -O format=csv mrsets.sps], [1],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [1],
   ["mrsets.sps:6: error: MRSETS: MDGROUP subcommand for group $group1 specifies a string VALUE, but the variables specified for this group are numeric."
 
 "mrsets.sps:7: error: MRSETS: MDGROUP subcommand for group $group2 specifies a string VALUE, but the variables specified for this group are numeric."
@@ -283,7 +283,7 @@ AT_DATA([mrsets.sps],
   [DEFINE_MRSETS_DATA
 MRSETS /MDGROUP NAME=$group1 VARIABLES=a b VALUE='abc'.
 ])
-AT_CHECK([pspp -O format=csv mrsets.sps], [1],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [1],
   ["mrsets.sps:6: error: MRSETS: VALUE string on MDGROUP subcommand for group $group1 is 3 bytes long, but it must be no longer than the narrowest variable in the group, which is a with a width of 1 bytes."
 ])
 AT_CLEANUP
@@ -294,7 +294,7 @@ AT_DATA([mrsets.sps],
 MRSETS /MDGROUP NAME=$group1 VARIABLES=a b VALUE='a'
                 LABEL='label' LABELSOURCE=VARLABEL.
 ])
-AT_CHECK([pspp -O format=csv mrsets.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [0],
   [mrsets.sps:7: warning: MRSETS: MDGROUP subcommand for group $group1 specifies LABELSOURCE=VARLABEL but not CATEGORYLABELS=COUNTEDVALUES.  Ignoring LABELSOURCE.
 ])
 AT_CLEANUP
@@ -305,7 +305,7 @@ AT_DATA([mrsets.sps],
 [MRSETS /DISPLAY NAME=[$x].
 MRSETS /DELETE NAME=[$y].
 ]])
-AT_CHECK([pspp -O format=csv mrsets.sps], [1],
+AT_CHECK([$RUNNER $PSPP -O format=csv mrsets.sps], [1],
   [mrsets.sps:6: error: MRSETS: No multiple response set named $x.
 
 mrsets.sps:7: error: MRSETS: No multiple response set named $y.
diff --git a/tests/language/dictionary/rename-variables.at b/tests/language/dictionary/rename-variables.at
index f528dcb..1b0efa6 100644
--- a/tests/language/dictionary/rename-variables.at
+++ b/tests/language/dictionary/rename-variables.at
@@ -19,7 +19,7 @@ LIST.
 
 SAVE /OUTFILE='rename.sav'.
 ])
-AT_CHECK([pspp -o pspp.csv rename-variables.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv rename-variables.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
@@ -50,7 +50,7 @@ AT_DATA([rename-variables.sps], [dnl
 DATA LIST LIST /brakeFluid y auxiliary warp (F2.0).
 RENAME VARIABLES warp auxiliary=foobar xyzzy.
 ])
-AT_CHECK([pspp -o pspp.csv rename-variables.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -o pspp.csv rename-variables.sps], [1], [dnl
 rename-variables.sps:2.23-2.31: error: RENAME VARIABLES: Syntax error at `auxiliary': expecting `='.
 ])
 AT_CLEANUP
@@ -60,7 +60,7 @@ AT_DATA([rename-variables.sps], [dnl
 DATA LIST LIST /brakeFluid y auxiliary warp (F2.0).
 RENAME VARIABLES (brakeFluid=applecarts y=bananamobiles).
 ])
-AT_CHECK([pspp -o pspp.csv rename-variables.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -o pspp.csv rename-variables.sps], [1], [dnl
 rename-variables.sps:2: error: RENAME VARIABLES: Differing number of variables in old name list (1) and in new name list (2).
 ])
 AT_CLEANUP
diff --git a/tests/language/dictionary/split-file.at b/tests/language/dictionary/split-file.at
index 83055bb..57d82fc 100644
--- a/tests/language/dictionary/split-file.at
+++ b/tests/language/dictionary/split-file.at
@@ -23,7 +23,7 @@ end data.
 split file by x.
 list.
 ])
-AT_CHECK([pspp -o pspp.csv split-file.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv split-file.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Title: Test SPLIT FILE utility
 
@@ -117,6 +117,6 @@ execute.
 finish.
 ])
 
-AT_CHECK([pspp -O format=csv split-file.sps], [0],[ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv split-file.sps], [0],[ignore])
 
 AT_CLEANUP
\ No newline at end of file
diff --git a/tests/language/dictionary/sys-file-info.at b/tests/language/dictionary/sys-file-info.at
index e822506..4b22ec4 100644
--- a/tests/language/dictionary/sys-file-info.at
+++ b/tests/language/dictionary/sys-file-info.at
@@ -12,7 +12,7 @@ SAVE OUTFILE='pro.sav'.
 
 sysfile info file='pro.sav'.
 ])
-AT_CHECK([pspp -o pspp.csv sysfile-info.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv sysfile-info.sps])
 AT_CHECK(
   [sed -e '/^Created:,/d' \
        -e '/^Endian:,/d' \
@@ -60,7 +60,7 @@ DISPLAY FILE LABEL.
 FILE LABEL 'foo bar baz quux'.
 DISPLAY FILE LABEL.
 ])
-AT_CHECK([pspp -O format=csv display.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv display.sps], [0], [dnl
 The active dataset does not have a file label.
 
 File label: foo bar baz quux
@@ -78,7 +78,7 @@ DISPLAY SCRATCH.
 COMPUTE #x=0.
 DISPLAY SCRATCH.
 ])
-AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv sysfile-info.sps], [0], [dnl
 sysfile-info.sps:2: warning: DISPLAY: No variables to display.
 
 Variable
@@ -91,7 +91,7 @@ AT_DATA([sysfile-info.sps], [dnl
 DATA LIST LIST NOTABLE /x * name (a10) .
 DISPLAY INDEX.
 ])
-AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv sysfile-info.sps], [0], [dnl
 Variable,Position
 x,1
 name,2
@@ -103,7 +103,7 @@ AT_DATA([sysfile-info.sps], [dnl
 DATA LIST LIST NOTABLE /x * name (a10) .
 DISPLAY NAMES.
 ])
-AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv sysfile-info.sps], [0], [dnl
 Variable
 x
 name
@@ -117,7 +117,7 @@ VARIABLE LABEL x 'variable one' name 'variable two'.
 VALUE LABEL x 1 'asdf' 2 'jkl;'.
 DISPLAY LABELS.
 ])
-AT_CHECK([pspp -O format=csv sysfile-info.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv sysfile-info.sps], [0], [dnl
 Variable,Label,Position
 x,variable one,1
 name,variable two,2
diff --git a/tests/language/dictionary/value-labels.at b/tests/language/dictionary/value-labels.at
index b3a2f8f..d1a1804 100644
--- a/tests/language/dictionary/value-labels.at
+++ b/tests/language/dictionary/value-labels.at
@@ -9,7 +9,7 @@ VALUE LABELS ad 'july 10, 1982' 'label 1'
             /dt '12 Apr 2011 06:09:56' 'label 4'.
 DISPLAY DICTIONARY.
 ])
-AT_CHECK([pspp -O format=csv value-labels.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv value-labels.sps], [0], [dnl
 Variable,Description,Position
 ad,"Format: ADATE10
 
@@ -36,7 +36,7 @@ END DATA.
 DISPLAY DICTIONARY.
 FREQUENCIES x/STAT=NONE.
 ])
-AT_CHECK([pspp -O format=csv value-labels.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv value-labels.sps], [0], [dnl
 Variable,Description,Position
 x,"Format: F8.2
 
@@ -66,13 +66,13 @@ BEGIN DATA.
 END DATA.
 SAVE OUTFILE='value-labels.sav'.
 ])
-AT_CHECK([pspp -O format=csv save.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv save.sps])
 AT_DATA([get.sps], [dnl
 GET FILE='value-labels.sav'.
 DISPLAY DICTIONARY.
 FREQUENCIES x/STAT=NONE.
 ])
-AT_CHECK([pspp -O format=csv get.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv get.sps], [0], [dnl
 Variable,Description,Position
 x,"Format: F8.2
 
@@ -105,7 +105,7 @@ END DATA.
 
 VALUE LABELS /var=a 'label for a'.
 ])
-AT_CHECK([pspp -O format=csv value-labels.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv value-labels.sps], [1], [dnl
 value-labels.sps:9: error: VALUE LABELS: var is not a variable name.
 ])
 AT_CLEANUP
@@ -127,7 +127,7 @@ VALUE LABELS X 1 'one' 2 'two' 3 'three'/
 
 LIST VARIABLES=X.
 ])
-AT_CHECK([pspp -O format=csv value-labels.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv value-labels.sps], [0], [dnl
 Table: Data List
 X
 1.00
diff --git a/tests/language/dictionary/variable-display.at b/tests/language/dictionary/variable-display.at
index 3bcbd8f..effdeac 100644
--- a/tests/language/dictionary/variable-display.at
+++ b/tests/language/dictionary/variable-display.at
@@ -9,7 +9,7 @@ VARIABLE LEVEL x (SCALE)/y (ORDINAL)/z (NOMINAL).
 VARIABLE ROLE /TARGET x /BOTH y /NONE z.
 DISPLAY DICTIONARY.
 ])
-AT_CHECK([pspp -o pspp.csv var-display.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv var-display.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variable,Description,Position
 x,"Format: F8.2
@@ -70,7 +70,7 @@ SET TVARS=BOTH.
 DESCRIPTIVES ALL.
 ])
 
-AT_CHECK([pspp -O format=csv var-labels.sps], [0],[dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv var-labels.sps], [0],[dnl
 Table: Valid cases = 4; cases with missing value(s) = 0.
 Variable,N,Mean,Std Dev,Minimum,Maximum
 x,4,2.50,1.29,1.00,4.00
diff --git a/tests/language/dictionary/vector.at b/tests/language/dictionary/vector.at
index e7a2cdd..e9e7b03 100644
--- a/tests/language/dictionary/vector.at
+++ b/tests/language/dictionary/vector.at
@@ -6,7 +6,7 @@ data list notable/x 1.
 vector v(4).
 display vector.
 ])
-AT_CHECK([pspp -o pspp.csv vector.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv vector.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Vector,Position,Variable,Print Format
 v,1,v1,F8.2
@@ -22,7 +22,7 @@ data list notable/x 1.
 vector #vec(4, comma10.2).
 display vector.
 ])
-AT_CHECK([pspp -o pspp.csv vector.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv vector.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Vector,Position,Variable,Print Format
 #vec,1,#vec1,COMMA10.2
@@ -40,7 +40,7 @@ data list notable/x5 x2 x3 x1 x4 1-5.
 end input program.
 display vector.
 ])
-AT_CHECK([pspp -o pspp.csv vector.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv vector.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Vector,Position,Variable,Print Format
 x,1,x1,F8.2
@@ -59,7 +59,7 @@ vector b=x to z.
 vector c=all.
 display vector.
 ])
-AT_CHECK([pspp -o pspp.csv vector.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv vector.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Vector,Position,Variable,Print Format
 a,1,u,F1.0
diff --git a/tests/language/dictionary/weight.at b/tests/language/dictionary/weight.at
index a85347e..0360d33 100644
--- a/tests/language/dictionary/weight.at
+++ b/tests/language/dictionary/weight.at
@@ -63,7 +63,7 @@ weight by BVAR.
 descriptives AVAR /statistics all /format serial.
 frequencies AVAR /statistics all.
 ])
-AT_CHECK([pspp -o pspp.csv weight.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv weight.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading 1 record from `weight.txt'.
 Variable,Record,Columns,Format
diff --git a/tests/language/expressions/evaluate.at b/tests/language/expressions/evaluate.at
index 41104dd..364d49d 100644
--- a/tests/language/expressions/evaluate.at
+++ b/tests/language/expressions/evaluate.at
@@ -10,7 +10,7 @@ DEBUG EVALUATE m4_argn(4, check)/[]m4_car(check).
 ])])
    AT_CAPTURE_FILE([evaluate.sps])
    m4_pushdef([i], [3])
-   AT_CHECK([pspp --testing-mode --error-file=- --no-output evaluate.sps], 
+   AT_CHECK([$RUNNER $PSPP --testing-mode --error-file=- --no-output evaluate.sps], 
      [m4_if(m4_bregexp([m4_foreach([check], [m4_shift($@)], [m4_argn(3, check)])], [error:]), [-1], [0], [1])], 
      [stdout])
    # Use sed to transform "file:line.column:" into plain "file:line:",
@@ -1934,7 +1934,7 @@ compute Y=lag(x).
 compute Z=lag(w,2).
 list.
 ])
-AT_CHECK([pspp -o pspp.csv lag.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv lag.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading 1 record from INLINE.
 Variable,Record,Columns,Format
@@ -1964,7 +1964,7 @@ END IF.
 
 EXECUTE.
 ])
-AT_CHECK([pspp -o pspp.csv lag.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv lag.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
@@ -1990,7 +1990,7 @@ end input program.
 
 list.
 ])
-AT_CHECK([pspp -o pspp.csv uniform.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv uniform.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 R1
@@ -2046,7 +2046,7 @@ BEGIN DATA.
 6g
 END DATA.
 ])
-AT_CHECK([pspp -o pspp.csv valuelabel.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv valuelabel.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 n,s,nlabel,slabel
@@ -2101,7 +2101,7 @@ FORMATS ALL (F1).
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv variables.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv variables.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 N1,N2,N3,N4,N5,P1,P2,P3,P4,P5,MC,VC,S1,S2,S3,S4,S5,M1,M2,M3,M4,M5,V1,V2,V3,V4,V5
@@ -2129,7 +2129,7 @@ FORMATS ALL (F2).
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv vectors.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv vectors.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 N1,N2,N3,N4,N5,X1,X2,X3,X4,X5,I
diff --git a/tests/language/expressions/parse.at b/tests/language/expressions/parse.at
index 31791a4..eb3df0b 100644
--- a/tests/language/expressions/parse.at
+++ b/tests/language/expressions/parse.at
@@ -15,7 +15,7 @@ IF ( y > 0 ) .
 COMPUTE x=y.
 END IF.
 ])
-AT_CHECK([pspp -O format=csv parse.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv parse.sps], [1], [dnl
 parse.sps:10: error: IF: Unknown identifier y.
 
 parse.sps:11: error: Stopping syntax file processing here to avoid a cascade of dependent command failures.
@@ -34,7 +34,7 @@ END INPUT PROGRAM.
 
 SELECT IF 2.
 ])
-AT_CHECK([pspp -O format=csv parse.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv parse.sps], [1], [dnl
 "parse.sps:9: error: SELECT IF: A logical expression was found to have a value other than 0 (false), 1 (true), or the system-missing value.  The result was forced to 0."
 ])
 AT_CLEANUP
diff --git a/tests/language/lexer/lexer.at b/tests/language/lexer/lexer.at
index 08c1464..0914d8f 100644
--- a/tests/language/lexer/lexer.at
+++ b/tests/language/lexer/lexer.at
@@ -10,7 +10,7 @@ BEGIN DATA.
 END DATA.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv lexer.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv lexer.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 a
@@ -33,7 +33,7 @@ u'110000'
 `
 �
 ])
-AT_CHECK([pspp -O format=csv lexer.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv lexer.sps], [1], [dnl
 "lexer.sps:1.1-1.6: error: Syntax error at `x'123'': String of hex digits has 3 characters, which is not a multiple of 2."
 
 lexer.sps:2.1-2.5: error: Syntax error at `x'1x'': `x' is not a valid hex digit.
diff --git a/tests/language/lexer/q2c.at b/tests/language/lexer/q2c.at
index b9bc092..07da0cc 100644
--- a/tests/language/lexer/q2c.at
+++ b/tests/language/lexer/q2c.at
@@ -13,7 +13,7 @@ EXAMINE.
 ONEWAY.
 CROSSTABS.
 ])
-AT_CHECK([pspp -O format=csv q2c.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv q2c.sps], [1], [dnl
 q2c.sps:8.8: error: EXAMINE: Syntax error at end of command: expecting variable name.
 
 q2c.sps:9.7: error: ONEWAY: Syntax error at end of command: expecting variable name.
diff --git a/tests/language/lexer/variable-parser.at b/tests/language/lexer/variable-parser.at
index 59609f0..7561ff5 100644
--- a/tests/language/lexer/variable-parser.at
+++ b/tests/language/lexer/variable-parser.at
@@ -16,7 +16,7 @@ CROSSTABS
 	VARIABLES X (1,7) Yabbadabbadoo (1,7) 
 	/TABLES X BY Yabbadabbadoo.
 ])
-AT_CHECK([pspp -o pspp.csv longvars.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv longvars.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
diff --git a/tests/language/stats/aggregate.at b/tests/language/stats/aggregate.at
index ae7a38a..9710d1b 100644
--- a/tests/language/stats/aggregate.at
+++ b/tests/language/stats/aggregate.at
@@ -123,7 +123,7 @@ m4_if([$1], [external], [GET FILE='aggregate.sys'.],
       [$1], [dataset], [DATASET ACTIVATE aggregate.])
 LIST.
 ])
-  AT_CHECK([pspp -O format=csv aggregate.sps], [0], [stdout])
+  AT_CHECK([$RUNNER $PSPP -O format=csv aggregate.sps], [0], [stdout])
   AT_CHECK([[sed 's/^[^:]*:[0-9]*: //' < stdout]], [0],
     [m4_if([$3], [itemwise],
       [warning: AGGREGATE: The value arguments passed to the FOUT function are out-of-order.  They will be treated as if they had been specified in the correct order.
@@ -184,7 +184,7 @@ END DATA.
 AGGREGATE OUTFILE=* /BREAK=y /X=MAX(x).
 LIST /x y.
 ])
-AT_CHECK([pspp -O format=csv aggregate.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv aggregate.sps], [0],
   [Table: Reading free-form data from INLINE.
 Variable,Format
 X,F8.2
@@ -209,7 +209,7 @@ END INPUT PROGRAM.
 
 AGGREGATE /BREAK=x .
 ])
-AT_CHECK([pspp -O format=csv aggregate.sps], [1], [ignore], [])
+AT_CHECK([$RUNNER $PSPP -O format=csv aggregate.sps], [1], [ignore], [])
 AT_CLEANUP
 
 
@@ -236,7 +236,7 @@ aggregate outfile=* mode=addvariables
 list.
 ])
 
-AT_CHECK([pspp -O format=csv addvariables.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv addvariables.sps], [0],
   [Table: Data List
 x,cn,y,sum,mean,median
 1.00,1.00,2.00,2.00,2.00,2.00
@@ -282,7 +282,7 @@ AGGREGATE OUTFILE=* MODE=ADDVARIABLES
 	/N_BREAK = N.
 ])
 
-AT_CHECK([pspp -O format=csv dup-variables.sps], [1],
+AT_CHECK([$RUNNER $PSPP -O format=csv dup-variables.sps], [1],
 ["dup-variables.sps:24: error: AGGREGATE: Variable name N_BREAK is not unique within the aggregate file dictionary, which contains the aggregate variables and the break variables."
 ])
 
diff --git a/tests/language/stats/autorecode.at b/tests/language/stats/autorecode.at
index 6a8ff8e..41bea20 100644
--- a/tests/language/stats/autorecode.at
+++ b/tests/language/stats/autorecode.at
@@ -22,7 +22,7 @@ compute Z=trunc(y/2).
 autorecode z into W.
 list.
 ])
-AT_CHECK([pspp -O format=csv autorecode.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv autorecode.sps], [0],
   [Table: Reading 1 record from INLINE.
 Variable,Record,Columns,Format
 X,1,1-  5,A5
@@ -76,7 +76,7 @@ list.
 display dictionary.
 ])
 
-AT_CHECK([pspp -O format=csv ar.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv ar.sps], [0],
   [Table: Data List
 s,x,new
 widgets         ,1.00,4.00
@@ -121,7 +121,7 @@ autorecode
 list.
 ])
 
-AT_CHECK([pspp -O format=csv ar-group.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv ar-group.sps], [0],
 [Table: Data List
 x,y,a,b
 11.00,10.00,2.00,1.00
@@ -157,7 +157,7 @@ list.
 
 ])
 
-AT_CHECK([pspp -O format=csv strings.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv strings.sps], [0],
 [Table: Data List
 a,b
 7.00,3.00
@@ -188,7 +188,7 @@ autorecode a b into x y
 list.
 ])
 
-AT_CHECK([pspp -O format=csv ar-strings.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv ar-strings.sps], [0],
 [dnl
 Table: Data List
 a,b,x,y
@@ -219,7 +219,7 @@ autorecode variables x y z into a b c  /blank=missing.
 list a b c y.
 ])
 
-AT_CHECK([pspp -O format=csv auto-blank.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv auto-blank.sps], [0], [dnl
 Table: Data List
 a,b,c,y
 1.00,1.00,2.00,2.00
@@ -253,7 +253,7 @@ select if y > 1.
 autorecode x y into A B/descend.
 list.
 ])
-AT_CHECK([pspp -O format=csv autorecode.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv autorecode.sps], [0],
   [Table: Reading 1 record from INLINE.
 Variable,Record,Columns,Format
 X,1,1-  5,A5
diff --git a/tests/language/stats/correlations.at b/tests/language/stats/correlations.at
index 24fb63c..24d2bfe 100644
--- a/tests/language/stats/correlations.at
+++ b/tests/language/stats/correlations.at
@@ -33,7 +33,7 @@ correlations
 	/missing = pairwise
 	.
 ])
-AT_CHECK([pspp -o pspp.csv correlations.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv correlations.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Correlations
 ,,foo,bar,wiz,bang
@@ -112,9 +112,9 @@ correlations
 	/statistics=descriptives xprod
 	.
 ])
-AT_CHECK([pspp -O format=csv correlations1.sps], [0], [stdout])
+AT_CHECK([$RUNNER $PSPP -O format=csv correlations1.sps], [0], [stdout])
 mv stdout expout
-AT_CHECK([pspp -O format=csv correlations2.sps], [0], [expout])
+AT_CHECK([$RUNNER $PSPP -O format=csv correlations2.sps], [0], [expout])
 AT_CLEANUP
 
 
@@ -136,7 +136,7 @@ correlations
 	.
 ])
 
-AT_CHECK([pspp -O format=csv corr-ns.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv corr-ns.sps], [0], [dnl
 Table: Correlations
 ,,bar,wiz
 foo,Pearson Correlation,1.000,-1.000
@@ -170,7 +170,7 @@ END DATA.
 
 CORRELATIONS VARIABLE=a f b WITH c g h i e d/STATISTICS=DESCRIPTIVES.
 ])
-AT_CHECK([pspp -o pspp.csv correlations.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv correlations.sps])
 # Check the output, ignoring the actual correlations values since
 # they look pretty nonsensical to me for this input (they include NaNs).
 AT_CHECK([sed '/a,Pearson/,$s/,\([[^,]]*\),.*/,\1,.../' pspp.csv], [0], [dnl
@@ -321,7 +321,7 @@ CORRELATION
 
 ])
 
-AT_CHECK([pspp -O format=csv  correlations.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv  correlations.sps], [0],
 [Table: Correlations
 ,,var4,var5
 var1,Pearson Correlation,.5693,-.0519
diff --git a/tests/language/stats/crosstabs.at b/tests/language/stats/crosstabs.at
index 559a133..33bb7ff 100644
--- a/tests/language/stats/crosstabs.at
+++ b/tests/language/stats/crosstabs.at
@@ -9,7 +9,7 @@ END DATA.
 
 CROSSTABS VARIABLES X (1,7) Y (1,7) /TABLES X BY Y.
 ])
-AT_CHECK([pspp -O format=csv crosstabs.sps], [0], 
+AT_CHECK([$RUNNER $PSPP -O format=csv crosstabs.sps], [0], 
   [[Table: Reading free-form data from INLINE.
 Variable,Format
 A,F8.0
@@ -53,7 +53,7 @@ end data.
 
 CROSSTABS /TABLES = x BY y.
 ])
-AT_CHECK([pspp -o - -O format=csv crosstabs.sps], [0],
+AT_CHECK([$RUNNER $PSPP -o - -O format=csv crosstabs.sps], [0],
   [[Table: Reading free-form data from INLINE.
 Variable,Format
 x,F8.0
@@ -103,7 +103,7 @@ LIST.
 
 CROSSTABS TABLES  y by z.
 ]])
-AT_CHECK([pspp -O format=csv crosstabs.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv crosstabs.sps], [0],
   [[Table: Reading 1 record from INLINE.
 Variable,Record,Columns,Format
 x,1,1-  2,F2.0
@@ -153,7 +153,7 @@ CROSSTABS
         /TABLES= x BY y
         /STATISTICS=CHISQ.
 ]])
-AT_CHECK([pspp -O format=csv crosstabs.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv crosstabs.sps], [0],
   [[Table: Reading free-form data from INLINE.
 Variable,Format
 x,F8.0
@@ -208,7 +208,7 @@ CROSSTABS
     /CELLS=COUNT ROW COLUMN TOTAL.
 ])
 
-AT_CHECK([pspp -O format=csv crosstabs.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv crosstabs.sps], [0],
   [[Variable,Value,Label
 v0,a ,
 
@@ -302,7 +302,7 @@ LIST.
 
 CROSSTABS TABLES  x BY y BY z/STATISTICS=ALL.
 ]])
-AT_CHECK([pspp -O format=csv crosstabs.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv crosstabs.sps], [0],
   [[Table: Reading 1 record from INLINE.
 Variable,Record,Columns,Format
 x,1,1-  2,F2.0
@@ -424,7 +424,7 @@ CROSSTABS
 	/FORMAT = DVALUE.
 ]])
 
-AT_CHECK([pspp -O format=csv crosstabs-descending.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv crosstabs-descending.sps], [0],
   [[Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -453,7 +453,7 @@ MISSING VALUES x2 (1).
 
 CROSSTABS /TABLES= X1 by X2.
 ])
-AT_CHECK([pspp -O format=csv crosstabs.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv crosstabs.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -686,7 +686,7 @@ crosstabs /tables = schtyp by female /statistic = chisq.
 crosstabs /tables = female by ses  /statistic = chisq.
 ])
 
-AT_CHECK([pspp -O format=csv fisher-exact.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv fisher-exact.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -748,7 +748,7 @@ BEGIN DATA.
 END DATA.
 CROSSTABS x BY y/STATISTICS=CORR.
 ])
-AT_CHECK([pspp -O format=csv pearson.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pearson.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -791,7 +791,7 @@ BEGIN DATA.
 END DATA.
 CROSSTABS x BY y/STATISTICS=CORR.
 ])
-AT_CHECK([pspp -O format=csv pearson2.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pearson2.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -839,7 +839,7 @@ BEGIN DATA.
 END DATA.
 CROSSTABS x BY y/STATISTICS=CORR.
 ])
-AT_CHECK([pspp -O format=csv pearson3.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pearson3.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -887,7 +887,7 @@ BEGIN DATA.
 END DATA.
 CROSSTABS x BY y/STATISTICS=CORR.
 ])
-AT_CHECK([pspp -O format=csv pearson4.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pearson4.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -935,7 +935,7 @@ BEGIN DATA.
 END DATA.
 CROSSTABS x BY y/STATISTICS=CORR.
 ])
-AT_CHECK([pspp -O format=csv pearson5.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv pearson5.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -1021,7 +1021,7 @@ BEGIN DATA.
 END DATA.
 CROSSTABS x BY y/CELLS=NONE/STATISTICS=LAMBDA.
 ])
-AT_CHECK([pspp -O format=csv lambda.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv lambda.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -1084,7 +1084,7 @@ END DATA.
 
 CROSSTABS x BY y/CELLS=NONE/STATISTICS=LAMBDA.
 ])
-AT_CHECK([pspp -O format=csv lambda.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv lambda.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -1142,7 +1142,7 @@ BEGIN DATA.
 END DATA.
 CROSSTABS x BY y/STATISTICS=BTAU CTAU GAMMA D/CELLS=NONE.
 ])
-AT_CHECK([pspp -O format=csv somersd.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv somersd.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -1283,7 +1283,7 @@ BEGIN DATA.
 END DATA.
 CROSSTABS x BY y/STATISTICS=LAMBDA D PHI BTAU/CELLS=NONE.
 ])
-AT_CHECK([pspp -O format=csv ordinal.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv ordinal.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -1464,7 +1464,7 @@ crosstabs /table = p1 by p2
 	.
 ])
 
-AT_CHECK([pspp -O format=csv kappa.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv kappa.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -1503,7 +1503,7 @@ BEGIN DATA.
 END DATA.
 CROSSTABS x BY y/STATISTICS=CHISQ PHI CC LAMBDA UC BTAU CTAU GAMMA D CORR/CELLS=NONE.
 ])
-AT_CHECK([pspp -O format=csv crosstabs.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv crosstabs.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -1562,7 +1562,7 @@ BEGIN DATA.
 END DATA.
 CROSSTABS x BY y/STATISTICS=LAMBDA UC/CELLS=NONE.
 ])
-AT_CHECK([pspp -O format=csv uc.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv uc.sps], [0], [dnl
 Table: Summary.
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -1612,7 +1612,7 @@ CROSSTABS
 	  /barchart.
 ])
 
-AT_CHECK([pspp -O format=txt -o xxx bc.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=txt -o xxx bc.sps], [0], [ignore])
 
 AT_CHECK([test -e xxx-1.png], [0], [ignore])
 AT_CHECK([test -e xxx-2.png], [0], [ignore])
diff --git a/tests/language/stats/descriptives.at b/tests/language/stats/descriptives.at
index 9725cda..d5aa58b 100644
--- a/tests/language/stats/descriptives.at
+++ b/tests/language/stats/descriptives.at
@@ -20,7 +20,7 @@ end data.
 
 descript all/stat=all/format=serial.
 ])
-AT_CHECK([pspp -O format=csv descriptives.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv descriptives.sps], [0],
   [Title: Test DESCRIPTIVES procedure
 
 Table: Reading 1 record from INLINE.
@@ -84,7 +84,7 @@ AT_DATA([descriptives.sps],
   [DESCRIPTIVES_MISSING_DATA
 descript all/stat=all/format=serial.
 ])
-AT_CHECK([pspp -O format=csv descriptives.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv descriptives.sps], [0],
   [Table: Valid cases = 7; cases with missing value(s) = 6.
 Variable,Valid N,Missing N,Mean,S.E. Mean,Std Dev,Variance,Kurtosis,S.E. Kurt,Skewness,S.E. Skew,Range,Minimum,Maximum,Sum
 V1,1,6,2.00,.  ,.  ,.  ,.  ,.  ,.  ,.  ,.00,2.00,2.00,2.00
@@ -98,7 +98,7 @@ AT_DATA([descriptives.sps],
   [DESCRIPTIVES_MISSING_DATA
 descript all/stat=all/format=serial/missing=include.
 ])
-AT_CHECK([pspp -O format=csv descriptives.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv descriptives.sps], [0],
   [Table: Valid cases = 7; cases with missing value(s) = 3.
 Variable,Valid N,Missing N,Mean,S.E. Mean,Std Dev,Variance,Kurtosis,S.E. Kurt,Skewness,S.E. Skew,Range,Minimum,Maximum,Sum
 V1,5,2,1.20,.20,.45,.20,5.00,2.00,2.24,.91,1.00,1.00,2.00,6.00
@@ -112,7 +112,7 @@ AT_DATA([descriptives.sps],
   [DESCRIPTIVES_MISSING_DATA
 descript all/stat=all/format=serial/missing=listwise.
 ])
-AT_CHECK([pspp -O format=csv descriptives.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv descriptives.sps], [0],
   [Table: Valid cases = 1; cases with missing value(s) = 6.
 Variable,Valid N,Missing N,Mean,S.E. Mean,Std Dev,Variance,Kurtosis,S.E. Kurt,Skewness,S.E. Skew,Range,Minimum,Maximum,Sum
 V1,1,0,2.00,.  ,.  ,.  ,.  ,.  ,.  ,.  ,.00,2.00,2.00,2.00
@@ -126,7 +126,7 @@ AT_DATA([descriptives.sps],
   [DESCRIPTIVES_MISSING_DATA
 descript all/stat=all/format=serial/missing=listwise include.
 ])
-AT_CHECK([pspp -O format=csv descriptives.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv descriptives.sps], [0],
   [Table: Valid cases = 4; cases with missing value(s) = 3.
 Variable,Valid N,Missing N,Mean,S.E. Mean,Std Dev,Variance,Kurtosis,S.E. Kurt,Skewness,S.E. Skew,Range,Minimum,Maximum,Sum
 V1,4,0,1.25,.25,.50,.25,4.00,2.62,2.00,1.01,1.00,1.00,2.00,5.00
@@ -151,7 +151,7 @@ end data.
 
 descript all/stat=mean.
 ])
-AT_CHECK([pspp -O format=csv descriptives.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv descriptives.sps], [0],
   [Table: Valid cases = 6; cases with missing value(s) = 0.
 Variable,N,Mean
 X,6,2.500
@@ -179,7 +179,7 @@ SELECT IF id < 7 .
 
 DESCRIPTIVES /VAR=abc.
 ])
-AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv descriptives.sps], [0], [dnl
 Table: Valid cases = 6; cases with missing value(s) = 0.
 Variable,N,Mean,Std Dev,Minimum,Maximum
 abc,6,3.00,.84,2.00,4.00
@@ -198,7 +198,7 @@ END DATA.
 DESCRIPTIVES /VAR=a b /SAVE.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv descriptives.sps], [0], [dnl
 Table: Mapping of variables to corresponding Z-scores.
 Source,Target
 a,Za
@@ -234,7 +234,7 @@ SPLIT FILE BY group.
 DESCRIPTIVES /VAR=a b /SAVE.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv descriptives.sps], [0], [dnl
 Table: Mapping of variables to corresponding Z-scores.
 Source,Target
 a,Za
@@ -300,7 +300,7 @@ SELECT IF id < 7 .
 DESCRIPTIVES /VAR=abc/SAVE.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv descriptives.sps], [0], [dnl
 descriptives.sps:15: warning: DESCRIPTIVES: DESCRIPTIVES with Z scores ignores TEMPORARY.  Temporary transformations will be made permanent.
 
 Table: Mapping of variables to corresponding Z-scores.
@@ -363,7 +363,7 @@ EXECUTE.
 SPLIT FILE OFF.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv descriptives.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv descriptives.sps])
 AT_CHECK([sed -n '/Table: Data List/,$p' < pspp.csv], [0], [dnl
 Table: Data List
 filter1,filter2,x,Zx,ZSC001,ZSC002,ZSC003,ZSC004
diff --git a/tests/language/stats/examine.at b/tests/language/stats/examine.at
index d4540ba..b3f19e5 100644
--- a/tests/language/stats/examine.at
+++ b/tests/language/stats/examine.at
@@ -40,7 +40,7 @@ EXAMINE
 
 dnl In the following data, only the extreme values have been checked.
 dnl The descriptives have been blindly pasted.
-AT_CHECK([pspp -O format=csv examine.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv examine.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 QUALITY,F8.0
@@ -205,7 +205,7 @@ examine v1
  .
 ])
 
-AT_CHECK([pspp -O format=csv examine.sps], [0],[dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv examine.sps], [0],[dnl
 Table: Case Processing Summary
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -266,7 +266,7 @@ EXAMINE
         .
 ])
 
-AT_CHECK([pspp -O format=csv  extreme.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv  extreme.sps], [0], [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -332,7 +332,7 @@ EXAMINE /x
 EXAMINE /x
 	/PERCENTILES=AEMPIRICAL.
 ])
-AT_CHECK([pspp -o pspp.csv examine.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
@@ -417,7 +417,7 @@ EXAMINE /x by y
         /MISSING = PAIRWISE
         .
 ])
-AT_CHECK([pspp -o pspp.csv examine.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
@@ -456,7 +456,7 @@ EXAMINE
 	/VARIABLES= x y
 	/MISSING=PAIRWISE.
 ])
-AT_CHECK([pspp -O format=csv examine-m.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv examine-m.sps], [0], [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -480,7 +480,7 @@ MISSING VALUE X (99).
 EXAMINE /x
         /PERCENTILES=HAVERAGE.
 ])
-AT_CHECK([pspp -o pspp.csv examine.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -502,7 +502,7 @@ EXAMINE
 	/STATISTICS=DESCRIPTIVES
 	.
 ])
-AT_CHECK([pspp -o pspp.csv examine.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
@@ -546,7 +546,7 @@ examine a by x by y
 	/statistics=DESCRIPTIVES
 	. 
 ])
-AT_CHECK([pspp -o pspp.csv examine.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -564,7 +564,7 @@ EXAMINE /VARIABLES= z BY y.
 
 EXAMINE /VARIABLES= z. 
 ])
-AT_CHECK([pspp -o pspp.csv examine.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -581,7 +581,7 @@ begin data.
 end data.
 examine x by y /statistics=descriptives. 
 ])
-AT_CHECK([pspp -o pspp.csv examine.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -600,7 +600,7 @@ EXAMINE
         /PLOT = histogram
 	.
 ])
-AT_CHECK([pspp -o pspp.csv examine.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps], [0], [ignore])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -622,7 +622,7 @@ EXAMINE /x
 	/PERCENTILE=AEMPIRICAL
 	.
 ])
-AT_CHECK([pspp -o pspp.csv examine.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps], [0], [ignore])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -641,7 +641,7 @@ END INPUT PROGRAM.
 EXAMINE /x
 	/STATISTICS=DESCRIPTIVES.
 ])
-AT_CHECK([pspp -o pspp.csv examine.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -662,13 +662,13 @@ AGGREGATE OUTFILE=* /BREAK=X /A=N.
 
 EXAMINE /A BY X.
 ])
-AT_CHECK([pspp -o pspp.csv examine.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps])
 dnl Ignore output -- this is just a no-crash check.
 AT_DATA([more-big-input.pl], 
   [for ($i=0; $i<25000; $i++) { print "AB04\nAB12\n" };
 ])
 AT_CHECK([$PERL more-big-input.pl >> large.txt])
-AT_CHECK([pspp -o pspp.csv examine.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine.sps])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -702,7 +702,7 @@ examine x
 	.
 ])
 
-AT_CHECK([pspp -O format=csv examine-id.sps], [0], 
+AT_CHECK([$RUNNER $PSPP -O format=csv examine-id.sps], [0], 
 [Table: Case Processing Summary
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -750,7 +750,7 @@ EXAMINE
 	.
 ])
 
-AT_CHECK([pspp -o pspp.csv examine-bad.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine-bad.sps], [1], [ignore])
 
 AT_CLEANUP 
 
@@ -807,7 +807,7 @@ EXAMINE
 ])
 
 
-AT_CHECK([pspp -O format=csv examine-report.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv examine-report.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 x,F8.0
@@ -998,7 +998,7 @@ EXAMINE
 	.
 ])
 
-AT_CHECK([pspp -O format=csv sample.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv sample.sps], [0], [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
@@ -1043,6 +1043,6 @@ EXAMINE
 	.
 ])
 
-AT_CHECK([pspp -o pspp.csv examine-empty-parens.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv examine-empty-parens.sps], [1], [ignore])
 
 AT_CLEANUP 
diff --git a/tests/language/stats/factor.at b/tests/language/stats/factor.at
index 9ac08b5..465925f 100644
--- a/tests/language/stats/factor.at
+++ b/tests/language/stats/factor.at
@@ -1453,7 +1453,7 @@ factor
  /method = correlation.
 ])
 
-AT_CHECK([pspp -O format=csv factor.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv factor.sps], [0],
   [Table: Descriptive Statistics
 ,Mean,Std. Deviation,Analysis N
 question13,4.462,.729,1365
@@ -1740,7 +1740,7 @@ factor
   .
 ])
 
-AT_CHECK([pspp -O format=csv factor2.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv factor2.sps], [0],
   [Table: Communalities
 ,Initial,Extraction
 read,1.000,.736
@@ -1796,7 +1796,7 @@ end data.
 factor /variables = ALL.
 ])
 
-AT_CHECK([pspp -O format=csv factor-empty.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv factor-empty.sps], [0], [ignore])
 AT_CLEANUP
 
 
@@ -1821,7 +1821,7 @@ FACTOR /VARIABLES=TRAIT1 TO TRAIT5
     /PRINT=DEFAULT DET UNIVARIATE ROTATION SIG CORRELATION.
 ])
 
-AT_CHECK([pspp -O format=csv factor-norotate.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv factor-norotate.sps], [0], [dnl
 Table: Descriptive Statistics
 ,Mean,Std. Deviation,Analysis N
 TRAIT1,6.57,3.54,7
@@ -1902,7 +1902,7 @@ FACTOR
  /ROTATION = NOROTATE.
 ])
 
-AT_CHECK([pspp -O format=csv factor-iterate.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv factor-iterate.sps], [0], [dnl
 Table: Communalities
 ,Initial,Extraction
 x,.735,.979
@@ -1945,7 +1945,7 @@ factor
 
 AT_CHECK([ln -s $top_srcdir/tests/language/stats/llz.zsav .], [0], [ignore])
 
-AT_CHECK([pspp -O format=csv factor-promax.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv factor-promax.sps], [0], [dnl
 Table: Communalities
 ,Initial,Extraction
 PZ,.191,.375
diff --git a/tests/language/stats/flip.at b/tests/language/stats/flip.at
index 2b7e234..c6ee4ff 100644
--- a/tests/language/stats/flip.at
+++ b/tests/language/stats/flip.at
@@ -18,7 +18,7 @@ list.
 flip.
 list.
 ])
-AT_CHECK([pspp -O format=csv flip.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv flip.sps], [0], [dnl
 Table: Data List
 N,a,b,c,d
 v,1,2,3,4
@@ -61,7 +61,7 @@ list.
 flip.
 list. 
 ])
-AT_CHECK([pspp -O format=csv flip.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv flip.sps], [0], [dnl
 Table: Data List
 v1,v2,v3,v4,v5,v6,v7,v8,v9,v10
 1,2,3,4,5,6,7,8,9,10
diff --git a/tests/language/stats/frequencies.at b/tests/language/stats/frequencies.at
index 0d6433c..63716e0 100644
--- a/tests/language/stats/frequencies.at
+++ b/tests/language/stats/frequencies.at
@@ -20,7 +20,7 @@ EXECUTE.
 
 FREQUENCIES /VAR = name/ORDER=ANALYSIS.
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0], [dnl
 Table: name
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,bar     ,2,20.00,20.00,20.00
@@ -46,7 +46,7 @@ end data.
 frequencies v1 v2/statistics=none/ORDER=VARIABLE.
 frequencies v1 v2/statistics=none.
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0],
   [Table: v1
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,.00,1,25.00,25.00,25.00
@@ -94,7 +94,7 @@ end data.
 
 frequencies v1 v2/statistics=none/FORMAT=LIMIT(3).
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0], [dnl
 Table: v2
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,1.00,1,25.00,25.00,25.00
@@ -120,7 +120,7 @@ list.
 
 frequencies v1/statistics=none.
 ])
-AT_CHECK([pspp -o - -O format=csv -o pspp.html frequencies.sps], [0],
+AT_CHECK([$RUNNER $PSPP -o - -O format=csv -o pspp.html frequencies.sps], [0],
   [Table: Data List
 v1,v2
 .00,1.00
@@ -165,7 +165,7 @@ frequencies /x /format=notable /statistics=none
 ])
 # Cannot use the CSV driver for this because it does not output charts
 # at all.
-AT_CHECK([pspp frequencies.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP frequencies.sps], [0], [dnl
 Reading free-form data from INLINE.
 +--------+------+
 |Variable|Format|
@@ -203,7 +203,7 @@ frequencies /x
 ])
 # Cannot use the CSV driver for this because it does not output charts
 # at all.
-AT_CHECK([pspp -O format=pdf frequencies.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=pdf frequencies.sps], [0], [ignore])
 AT_CLEANUP
 
 # Tests for a bug which crashed PSPP when the median and a histogram
@@ -217,7 +217,7 @@ end data.
 
 frequencies /x /histogram /STATISTICS=median.
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0], [ignore])
 dnl Ignore output - No crash test.
 AT_CLEANUP
 
@@ -244,7 +244,7 @@ FREQUENCIES /X .
 
 FINISH
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0],
   [Table: Reading free-form data from INLINE.
 Variable,Format
 SEX,A1
@@ -300,7 +300,7 @@ FREQUENCIES
 	/FORMAT=NOTABLE
 	/PERCENTILES = 0 25 33.333 50 66.666 75 100.
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0],
   [FREQUENCIES_NTILES_OUTPUT])
 AT_CLEANUP
 
@@ -321,7 +321,7 @@ FREQUENCIES
 	/NTILES = 3
 	/NTILES = 4.
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0],
   [FREQUENCIES_NTILES_OUTPUT])
 AT_CLEANUP
 
@@ -341,7 +341,7 @@ FREQUENCIES
 	/ALGORITHM=COMPATIBLE
 	/PERCENTILES = 0 25 50 75 100.
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0],
   [Table: X
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,1.00,1,20.00,20.00,20.00
@@ -381,7 +381,7 @@ FREQUENCIES
 	VAR=x
 	/PERCENTILES = 0 25 50 75 100.
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0],
   [Table: X
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,1.00,1,20.00,20.00,20.00
@@ -425,7 +425,7 @@ FREQUENCIES
 	VAR=x
 	/PERCENTILES = 0 25 50 75 100.
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0],
   [Table: X
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,1.00,2.00,20.00,20.00,20.00
@@ -467,7 +467,7 @@ FREQUENCIES
 	VAR=x
 	/PERCENTILES = 0 25 50 75 100.
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0],
   [Table: X
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,1.00,1.00,16.67,16.67,16.67
@@ -508,7 +508,7 @@ FREQUENCIES
 	VAR=x
 	/PERCENTILES = 0 25 50 75 100.
 ])
-AT_CHECK([pspp -O format=csv frequencies.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0], [dnl
 Table: X
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,1.00,7.00,17.50,17.50,17.50
@@ -552,7 +552,7 @@ FREQUENCIES
 	/PERCENTILES = 0 25 50 75 100.
 ])
 
-AT_CHECK([pspp -O format=csv frequencies.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv frequencies.sps], [0],
   [Table: X
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,1.00,1.00,10.00,16.67,16.67
@@ -607,7 +607,7 @@ FREQUENCIES
 	.
 ])
 
-AT_CHECK([pspp frequencies.sps], [0],  [ignore])
+AT_CHECK([$RUNNER $PSPP frequencies.sps], [0],  [ignore])
 AT_CLEANUP
 
 
@@ -626,7 +626,7 @@ FREQUENCIES
 	.
 ])
 
-AT_CHECK([pspp median.sps -O format=csv], [0],  [dnl
+AT_CHECK([$RUNNER $PSPP median.sps -O format=csv], [0],  [dnl
 Table: x
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,1.00,1,33.33,33.33,33.33
@@ -663,7 +663,7 @@ FREQUENCIES
 	.
 ])
 
-AT_CHECK([pspp median.sps -O format=csv], [0],  [dnl
+AT_CHECK([$RUNNER $PSPP median.sps -O format=csv], [0],  [dnl
 Table: x
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,10.00,1,33.33,33.33,33.33
@@ -713,7 +713,7 @@ FREQUENCIES
 	.
 ])
 
-AT_CHECK([pspp empty.sps -O format=csv], [0],  [dnl
+AT_CHECK([$RUNNER $PSPP empty.sps -O format=csv], [0],  [dnl
 Table: x
 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
 ,.  ,3,100.00,Missing,
diff --git a/tests/language/stats/glm.at b/tests/language/stats/glm.at
index de1ad2a..3c4de85 100644
--- a/tests/language/stats/glm.at
+++ b/tests/language/stats/glm.at
@@ -55,7 +55,7 @@ glm y by   b a c
   .
 ])
 
-AT_CHECK([pspp -O format=csv latin.sps | sed 's/329.62[[678]]/329.62/'], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv latin.sps | sed 's/329.62[[678]]/329.62/'], [0],
   [dnl
 Table: Tests of Between-Subjects Effects
 Source,Type III Sum of Squares,df,Mean Square,F,Sig.
@@ -106,7 +106,7 @@ glm points by Factor0 Factor1
 ])
 
 
-AT_CHECK([pspp -O format=csv 2by2.sps ], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv 2by2.sps ], [0],
   [dnl
 Table: Tests of Between-Subjects Effects
 Source,Type III Sum of Squares,df,Mean Square,F,Sig.
@@ -203,7 +203,7 @@ glm dv by Agrp Bgrp
 ])
 
 
-AT_CHECK([pspp -O format=csv type1.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv type1.sps], [0],
   [dnl
 Table: Tests of Between-Subjects Effects
 Source,Type I Sum of Squares,df,Mean Square,F,Sig.
@@ -238,7 +238,7 @@ glm dv by Agrp Bgrp
 ])
 
 
-AT_CHECK([pspp -O format=csv type2.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv type2.sps], [0],
   [dnl
 Table: Tests of Between-Subjects Effects
 Source,Type II Sum of Squares,df,Mean Square,F,Sig.
@@ -305,7 +305,7 @@ GLM depvar by A
 
 ])
 
-AT_CHECK([pspp -O format=csv intercept-exclude.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv intercept-exclude.sps], [0],
   [dnl
 Table: Tests of Between-Subjects Effects
 Source,Type III Sum of Squares,df,Mean Square,F,Sig.
diff --git a/tests/language/stats/graph.at b/tests/language/stats/graph.at
index e3dce9d..377760a 100644
--- a/tests/language/stats/graph.at
+++ b/tests/language/stats/graph.at
@@ -19,7 +19,7 @@ GRAPH
 
 ])
 
-AT_CHECK([pspp -O format=csv scatterplot.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv scatterplot.sps], [0], [ignore])
 
 AT_CLEANUP
 
@@ -75,7 +75,7 @@ Recode CityNum
 
 ])
 
-AT_CHECK([pspp -O format=pdf scatterlong.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=pdf scatterlong.sps], [0], [ignore])
 AT_CLEANUP
 
 AT_SETUP([GRAPH missing values don't crash])
@@ -95,7 +95,7 @@ graph
 graph
       /histogram = x. 
 ])
-AT_CHECK([pspp -o pspp.pdf scatter.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.pdf scatter.sps])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -118,7 +118,7 @@ graph
       /histogram = x
       /missing = VARIABLE.
 ])
-AT_CHECK([pspp -o pspp.pdf scatter.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.pdf scatter.sps])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -142,7 +142,7 @@ graph
       /scatterplot = x with y by z.
 
 ])
-AT_CHECK([pspp -o pspp.pdf scatter.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.pdf scatter.sps])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -160,7 +160,7 @@ graph
 
 ])
 
-AT_CHECK([pspp -o pspp.pdf null-hist.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.pdf null-hist.sps], [0], [ignore])
 dnl Ignore output -- this is just a no-crash check.
 AT_CLEANUP
 
@@ -189,7 +189,7 @@ COMPUTE  R = TRUNC(RV.UNIFORM(1,5)).
 GRAPH /BAR = MEAN (mtbf) BY factory BY R.
 ])
 
-AT_CHECK([pspp -o pspp.pdf barchart.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.pdf barchart.sps], [0], [ignore])
 dnl Ignore output -- this is just a no-crash check.
 
 AT_CLEANUP
@@ -217,7 +217,7 @@ end data.
 GRAPH /BAR = COUNT(x) BY y.
 ])
 
-AT_CHECK([pspp -o pspp.pdf barchart.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.pdf barchart.sps], [1], [ignore])
 dnl Ignore output -- this is just a no-crash check.
 
 AT_CLEANUP
@@ -246,7 +246,7 @@ end data.
 GRAPH /BAR = SCROD BY y.
 ])
 
-AT_CHECK([pspp -o pspp.pdf barchart.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.pdf barchart.sps], [1], [ignore])
 dnl Ignore output -- this is just a no-crash check.
 
 AT_CLEANUP
@@ -287,7 +287,7 @@ GRAPH /BAR = MAXIMUM(y) BY z BY y.
 GRAPH /BAR = MINIMUM(y) BY z BY y.
 ])
 
-AT_CHECK([pspp -o pspp.pdf barchart.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.pdf barchart.sps], [0], [ignore])
 dnl Ignore output -- this is just a no-crash check.
 
 AT_CLEANUP
\ No newline at end of file
diff --git a/tests/language/stats/logistic.at b/tests/language/stats/logistic.at
index b7285e2..ab7a7ab 100644
--- a/tests/language/stats/logistic.at
+++ b/tests/language/stats/logistic.at
@@ -93,7 +93,7 @@ logistic regression
 	.
 ])
 
-AT_CHECK([pspp -O format=csv lr-data.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv lr-data.sps], [0],
   [dnl
 Table: Dependent Variable Encoding
 Original Value,Internal Value
@@ -147,7 +147,7 @@ logistic regression
 	.
 ])
 
-AT_CHECK([pspp -O format=csv lr-data.sps > run0], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv lr-data.sps > run0], [0], [ignore])
 
 dnl Append some cases with missing values into the data.
 cat >> lr-data.txt << HERE
@@ -157,7 +157,7 @@ cat >> lr-data.txt << HERE
  108.00    99      5.00      3.00     2.00   .28  4      34     .00897  -1.00905 1
 HERE
 
-AT_CHECK([pspp -O format=csv lr-data.sps > run1], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv lr-data.sps > run1], [0], [ignore])
 
 dnl Only the summary information should be different
 AT_CHECK([diff run0 run1], [1], [dnl
@@ -210,8 +210,8 @@ logistic regression
 ])
 
 
-AT_CHECK([pspp -O format=csv lr-data-unweighted.sps > unweighted-result], [0], [ignore])
-AT_CHECK([pspp -O format=csv lr-data-weighted.sps > weighted-result], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv lr-data-unweighted.sps > unweighted-result], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv lr-data-weighted.sps > weighted-result], [0], [ignore])
 
 dnl The only difference should be the summary information, since
 dnl this displays the unweighted totals.
@@ -257,7 +257,7 @@ compute constant = 1.
 logistic regression female with constant /noconst.
 ])
 
-AT_CHECK([pspp -O format=csv non-const.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv non-const.sps], [0],
  [dnl
 Table: Dependent Variable Encoding
 Original Value,Internal Value
@@ -309,7 +309,7 @@ end data.
 logistic regression y with x1 x2 x3 x4.
 ])
 
-AT_CHECK([pspp -O format=csv non-dich.sps], [1],
+AT_CHECK([$RUNNER $PSPP -O format=csv non-dich.sps], [1],
  [dnl
 error: Dependent variable's values are not dichotomous.
 ])
@@ -737,7 +737,7 @@ logistic regression
 	   .
 ])
 
-AT_CHECK([pspp -O format=csv lr-cat.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv lr-cat.sps], [0],
  [dnl
 Table: Dependent Variable Encoding
 Original Value,Internal Value
@@ -1006,7 +1006,7 @@ logistic regression honcomp with read science ses
 
 ])
 
-AT_CHECK([pspp -O format=csv stringcat.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv stringcat.sps], [0],
  [dnl
 Table: Dependent Variable Encoding
 Original Value,Internal Value
@@ -1069,7 +1069,7 @@ logistic regression y with x1 x2
 	/categorical = x2.
 ])
 
-AT_CHECK([pspp -O format=csv crash.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv crash.sps], [1], [ignore])
 
 AT_CLEANUP
 
@@ -1188,12 +1188,12 @@ logistic regression y with x1 cat0
 	/categorical = cat0.
 ])
 
-AT_CHECK([pspp -O format=csv miss.sps > file1], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv miss.sps > file1], [0], [ignore])
 
 dnl Append a case with a missing categorical.
 AT_CHECK([echo '1  34   .' >> data.txt], [0], [ignore])
 
-AT_CHECK([pspp -O format=csv miss.sps > file2], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv miss.sps > file2], [0], [ignore])
 
 AT_CHECK([diff file1 file2], [1], [dnl
 8,10c8,10
@@ -1423,7 +1423,7 @@ logistic regression
     /print = ci(95).
 ])
 
-AT_CHECK([pspp -O format=csv ci.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv ci.sps], [0], [dnl
 Table: Dependent Variable Encoding
 Original Value,Internal Value
 .000,0
diff --git a/tests/language/stats/means.at b/tests/language/stats/means.at
index 56ab455..be63394 100644
--- a/tests/language/stats/means.at
+++ b/tests/language/stats/means.at
@@ -38,7 +38,7 @@ END DATA.
 MEANS TABLES = score BY factor.
 ])
 
-AT_CHECK([pspp -O format=csv means-simple.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv means-simple.sps], [0],
   [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
@@ -77,7 +77,7 @@ end data.
 means tables = score.
 ])
 
-AT_CHECK([pspp -O format=csv means-vsimple.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv means-vsimple.sps], [0],
   [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
@@ -118,7 +118,7 @@ MEANS TABLES =
       .
 ])
 
-AT_CHECK([pspp -O format=csv means-dmiss.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv means-dmiss.sps], [0],
   [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
@@ -176,7 +176,7 @@ means test1 by group
 ])
 
 
-AT_CHECK([pspp -O format=csv means-linear.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv means-linear.sps], [0],
   [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
@@ -221,7 +221,7 @@ means test1 by group
 ])
 
 
-AT_CHECK([pspp -O format=csv means-stderr.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv means-stderr.sps], [0],
   [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
@@ -264,7 +264,7 @@ means x y
 ])
 
 
-AT_CHECK([pspp -O format=csv means-hg.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv means-hg.sps], [0],
   [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
@@ -308,7 +308,7 @@ MEANS score /CELLS = NONE.
 ])
 
 
-AT_CHECK([pspp -O format=csv means-stat-keywords.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv means-stat-keywords.sps], [0],
   [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
@@ -373,7 +373,7 @@ MEANS a b BY g1
 ])
 
 
-AT_CHECK([pspp -O format=csv means-miss-table.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv means-miss-table.sps], [0],
   [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
@@ -480,7 +480,7 @@ MEANS a b BY g1 /cells =  COUNT /missing = dependent .
 ])
 
 
-AT_CHECK([pspp -O format=csv means-missing.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv means-missing.sps], [0],
   [dnl
 Table: Case Processing Summary
 ,Cases,,,,,
@@ -568,6 +568,6 @@ MEANS TABLES =  outcome
 	BY.
 ])
 
-AT_CHECK([pspp -O format=csv means-bad.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv means-bad.sps], [1], [ignore])
 
 AT_CLEANUP
\ No newline at end of file
diff --git a/tests/language/stats/npar.at b/tests/language/stats/npar.at
index eec7433..1c8eee0 100644
--- a/tests/language/stats/npar.at
+++ b/tests/language/stats/npar.at
@@ -16,7 +16,7 @@ NPAR TESTS
 	/BINOMIAL(0.3) = x
 	.
 ])
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Binomial Test
 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
 x,Group1,1.000,6.000,.286,.300,.551
@@ -41,7 +41,7 @@ NPAR TESTS
 	/BINOMIAL(0.4) = x
 	.
 ])
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Binomial Test
 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
 x,Group1,1,7,.538,.400,.229
@@ -66,7 +66,7 @@ NPAR TESTS
 	/BINOMIAL(0.4) = x
 	.
 ])
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Binomial Test
 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
 x,Group1,1,8,.500,.400,.284
@@ -91,7 +91,7 @@ NPAR TESTS
 	/BINOMIAL(0.6) = x
 	.
 ])
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Binomial Test
 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
 x,Group1,1,11,.478,.600,.164
@@ -115,7 +115,7 @@ WEIGHT BY w.
 NPAR TESTS
 	/BINOMIAL(0.6) = x.
 ])
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Binomial Test
 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
 x,Group1,1,11,.550,.600,.404
@@ -139,7 +139,7 @@ WEIGHT BY w.
 NPAR TESTS
 	/BINOMIAL(0.6) = x.
 ])
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Binomial Test
 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
 x,Group1,1,11,.500,.600,.228
@@ -164,7 +164,7 @@ NPAR TESTS
 	/BINOMIAL = x
 	.
 ])
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Binomial Test
 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
 x,Group1,1,8,.348,.500,.210
@@ -188,7 +188,7 @@ WEIGHT BY w.
 NPAR TESTS
 	/BINOMIAL(0.5) = x.
 ])
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Binomial Test
 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
 x,Group1,1,12,.667,.500,.238
@@ -213,7 +213,7 @@ NPAR TESTS
 	/BINOMIAL(0.5) = x
 	.
 ])
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Binomial Test
 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
 x,Group1,1,10,.500,.500,1.000
@@ -239,7 +239,7 @@ NPAR TESTS
 	/BINOMIAL(0.5) = x (10)
 	.
 ])
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Binomial Test
 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
 x,Group1,<= 10,10.000,.385,.500,.327
@@ -265,7 +265,7 @@ NPAR TESTS
 	/BINOMIAL(0.5) = x (10, 20)
 	.
 ])
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Binomial Test
 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
 x,Group1,10.000,10.000,.435,.500,.678
@@ -290,7 +290,7 @@ NPAR TEST
 	/BINOMIAL(0.5) = Range().
 
 ])
-AT_CHECK([pspp -O format=csv nparX.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv nparX.sps], [1], [ignore])
 
 AT_CLEANUP
 
@@ -326,7 +326,7 @@ NPAR TESTS
   .
 ])
 
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: x
 ,Observed N,Expected N,Residual
 1.00,3.00,2.33,.67
@@ -403,7 +403,7 @@ NPAR TESTS
   .
 ])
 
-AT_CHECK([pspp -O format=csv npar.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [1], [dnl
 "error: CHISQUARE test specified 6 expected values, but 4 distinct values were encountered in variable y."
 
 Table: Test Statistics
@@ -440,7 +440,7 @@ NPAR TESTS
   .
 ])
 
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Frequencies
 ,x,,,,y,,,
 ,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
@@ -493,7 +493,7 @@ NPAR TESTS
   .
 ])
 
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Frequencies
 ,x,,,,y,,,
 ,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
@@ -551,7 +551,7 @@ npar test
  /method=exact.
 ])
 
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Ranks
 ,,N,Mean Rank,Sum of Ranks
 first - second,Negative Ranks,8,6.00,48.00
@@ -600,7 +600,7 @@ npar test
 ])
 
 dnl This is the same output as the previous test.
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Ranks
 ,,N,Mean Rank,Sum of Ranks
 first - second,Negative Ranks,8,6.00,48.00
@@ -637,7 +637,7 @@ npar tests
 	/METHOD=EXACT
 	.
 ])
-AT_CHECK([pspp -o pspp.csv npar.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv npar.sps])
 dnl Some machines return .313 instead of .312 
 dnl (see bug #31611).
 AT_CHECK([sed -e 's/\.313$/.312/' -e 's/^Exact Sig\. (1-tailed),\.313/Exact Sig. (1-tailed),.312/' pspp.csv], [0], [dnl
@@ -695,7 +695,7 @@ npar tests
 	.
 ])
 
-AT_CHECK([pspp -o pspp.csv kw-simple.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv kw-simple.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Ranks
 ,gv,N,Mean Rank
@@ -748,7 +748,7 @@ npar tests
 	.
 ])
 
-AT_CHECK([pspp -o pspp2.csv kw-missing-group.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp2.csv kw-missing-group.sps])
 
 dnl The result should be the same as before
 AT_CHECK([diff pspp.csv pspp2.csv], [0])
@@ -799,7 +799,7 @@ npar tests
 ])
 
 
-AT_CHECK([pspp -o pspp.csv kw-multi.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv kw-multi.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Ranks
 ,gv,N,Mean Rank
@@ -875,7 +875,7 @@ npar tests
 	.
 ])
 
-AT_CHECK([pspp -O format=csv npar-runs.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv npar-runs.sps], [0],
 [Table: Runs Test
 ,score
 Test Value (median),3.0000
@@ -920,7 +920,7 @@ end data.
 NPAR TEST /RUNS(1.5) = y.
 ])
 
-AT_CHECK([pspp -O format=csv npar-runs.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar-runs.sps], [0], [dnl
 Table: Runs Test
 ,y
 Test Value,1.50
@@ -955,7 +955,7 @@ npar tests
      /friedman = x y z.
 ])
 
-AT_CHECK([pspp -O format=csv npar-friedman.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar-friedman.sps], [0], [dnl
 Table: Ranks
 ,Mean Rank
 x,2.6500
@@ -1019,7 +1019,7 @@ NPAR TESTS
      /M-W = height BY sex (0,1).
 ])
 
-AT_CHECK([pspp -O format=csv npar-mann-whitney.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar-mann-whitney.sps], [0], [dnl
 Table: Ranks
 ,N,,,Mean Rank,,Sum of Ranks,
 ,0,1,Total,0,1,0,1
@@ -1056,7 +1056,7 @@ npar tests
 
 ])
 
-AT_CHECK([pspp -o pspp.csv npar-cochran.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv npar-cochran.sps])
 
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Frequencies
@@ -1125,7 +1125,7 @@ npar tests
 	.
 ])
 
-AT_CHECK([pspp -o pspp.csv npar-kendall.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv npar-kendall.sps])
 
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Ranks
@@ -1178,7 +1178,7 @@ npar tests
      /mcnemar = v1 WITH v2 junk.
 ])
 
-AT_CHECK([pspp -O format=csv mcnemar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv mcnemar.sps], [0], [dnl
 Table: v1 & v2
 v1,v2,
 ,.000,1.000
@@ -1221,7 +1221,7 @@ end data.
 npar tests k-s (uniform 0 1) = x.
 ])
 
-AT_CHECK([pspp -O format=csv ks-uniform.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv ks-uniform.sps], [0], [dnl
 Table: One-Sample Kolmogorov-Smirnov Test
 ,,x
 N,,10
@@ -1424,7 +1424,7 @@ npar tests
 	/k-s (normal) = foo bar.
 ])
 
-AT_CHECK([pspp -O format=csv ks-normal.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv ks-normal.sps], [0], [dnl
 Table: One-Sample Kolmogorov-Smirnov Test
 ,,foo,bar
 N,,174,48
@@ -1491,7 +1491,7 @@ npar tests
 ])
 
 
-AT_CHECK([pspp -O format=csv median1.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv median1.sps], [0], [dnl
 Table: Frequencies
 ,,Animal Genus,,,,
 ,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5
@@ -1554,7 +1554,7 @@ npar tests
 ])
 
 
-AT_CHECK([pspp -O format=csv median2.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv median2.sps], [0], [dnl
 Table: Frequencies
 ,,Animal Genus,,,,
 ,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5
@@ -1617,7 +1617,7 @@ npar tests
 ])
 
 
-AT_CHECK([pspp -O format=csv median3.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv median3.sps], [0], [dnl
 Table: Frequencies
 ,,Animal Genus,
 ,,Animal 1,Animal 5
@@ -1668,7 +1668,7 @@ npar test /jonckheere-terpstra = x by g (5, 2).
 ])
 
 
-AT_CHECK([pspp -O format=csv jt.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv jt.sps], [0], [dnl
 Table: Jonckheere-Terpstra Test
 ,Number of levels in g,N,Observed J-T Statistic,Mean J-T Statistic,Std. Deviation of J-T Statistic,Std. J-T Statistic,Asymp. Sig. (2-tailed)
 x,4,24.000,29.500,65.000,15.902,-2.232,.026
@@ -1692,7 +1692,7 @@ end data.
 npar tests /wilcoxon a b with c c (paired).
 ])
 
-AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [0], [dnl
 Table: Ranks
 ,,N,Mean Rank,Sum of Ranks
 a - c,Negative Ranks,2,2.500,5.000
@@ -1739,6 +1739,6 @@ NPAR TEST
 	/EXPECTED =  1.2.
 ])
 
-AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv npar.sps], [1], [ignore])
 
 AT_CLEANUP
diff --git a/tests/language/stats/oneway.at b/tests/language/stats/oneway.at
index 1d6b4c1..d30ef65 100644
--- a/tests/language/stats/oneway.at
+++ b/tests/language/stats/oneway.at
@@ -34,7 +34,7 @@ ONEWAY
 	.
 ])
 
-AT_CHECK([pspp -O format=csv oneway.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway.sps], [0], [dnl
 Table: Descriptives
 ,,,,,,95% Confidence Interval for Mean,,,
 ,,N,Mean,Std. Deviation,Std. Error,Lower Bound,Upper Bound,Minimum,Maximum
@@ -105,7 +105,7 @@ ONEWAY
 	.
 ])
 
-AT_CHECK([pspp -O format=csv oneway-splits.sps], [0], 
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway-splits.sps], [0], 
 [Variable,Value,Label
 S,1.00,
 
@@ -236,9 +236,9 @@ ONEWAY
 
 
 
-AT_CHECK([pspp -O format=csv oneway-missing1.sps > first.out], [0])
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway-missing1.sps > first.out], [0])
 
-AT_CHECK([pspp -O format=csv oneway-missing2.sps > second.out], [0])
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway-missing2.sps > second.out], [0])
 
 AT_CHECK([diff first.out second.out], [0], [])
 
@@ -271,7 +271,7 @@ ONEWAY
 	.
 ])
 
-AT_CHECK([pspp -O format=csv oneway-missing3.sps > third.out], [0])
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway-missing3.sps > third.out], [0])
 
 AT_CHECK([diff first.out third.out], [0], [])
 
@@ -310,7 +310,7 @@ ONEWAY
 	.
 ])
 
-AT_CHECK([pspp -O format=csv oneway-descriptives.sps], [0], 
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway-descriptives.sps], [0], 
 [Table: Descriptives
 ,,,,,,95% Confidence Interval for Mean,,,
 ,,N,Mean,Std. Deviation,Std. Error,Lower Bound,Upper Bound,Minimum,Maximum
@@ -359,7 +359,7 @@ ONEWAY
 	.
 ])
 
-AT_CHECK([pspp -O format=csv oneway-homogeneity.sps], [0], 
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway-homogeneity.sps], [0], 
 [Table: Test of Homogeneity of Variances
 ,Levene Statistic,df1,df2,Sig.
 QUALITY,.09,2,12,.913
@@ -415,7 +415,7 @@ ONEWAY x y z by g
 	.
 ])
 
-AT_CHECK([pspp -o pspp.csv multivar.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv multivar.sps])
 
 dnl Some machines return 3.88 instead of 3.87 below (see bug #31611).
 AT_CHECK([sed 's/^,Within Groups,3.88/,Within Groups,3.87/' pspp.csv], [0], [dnl
@@ -517,7 +517,7 @@ ONEWAY
 	.
 ])
 
-AT_CHECK([pspp -o pspp-unweighted.csv oneway-unweighted.sps], [0], [ignore], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp-unweighted.csv oneway-unweighted.sps], [0], [ignore], [ignore])
 
 AT_DATA([oneway-weighted.sps],
 [DATA LIST NOTABLE LIST /QUALITY * BRAND * W *.
@@ -546,7 +546,7 @@ ONEWAY
 	.
 ])
 
-AT_CHECK([pspp -o pspp-weighted.csv oneway-weighted.sps], [0], [ignore], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp-weighted.csv oneway-weighted.sps], [0], [ignore], [ignore])
 
 AT_CHECK([diff pspp-weighted.csv pspp-unweighted.csv], [0])
 
@@ -588,7 +588,7 @@ oneway pigmentation by family
 	 .
 ])
 
-AT_CHECK([pspp -O format=csv oneway-pig.sps], [0], 
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway-pig.sps], [0], 
 [Table: Descriptives
 ,,,,,,95% Confidence Interval for Mean,,,
 ,,N,Mean,Std. Deviation,Std. Error,Lower Bound,Upper Bound,Minimum,Maximum
@@ -666,7 +666,7 @@ oneway libido by dose
 	/posthoc tukey gh.
 ])
 
-AT_CHECK([pspp -O format=csv oneway-tukey.sps], [0], 
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway-tukey.sps], [0], 
 [Table: ANOVA
 ,,Sum of Squares,df,Mean Square,F,Sig.
 libido,Between Groups,20.133,2,10.067,5.119,.025
@@ -726,7 +726,7 @@ ONEWAY
   /POSTHOC = SIDAK.
 ])
 
-AT_CHECK([pspp -O format=csv oneway-sidak.sps], [0], 
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway-sidak.sps], [0], 
 [Table: ANOVA
 ,,Sum of Squares,df,Mean Square,F,Sig.
 score,Between Groups,54.9500,3,18.3167,7.0449,.003
@@ -807,7 +807,7 @@ oneway usage by group
 	/posthoc scheffe.
 ])
 
-AT_CHECK([pspp -O format=csv oneway-scheffe.sps], [0], 
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway-scheffe.sps], [0], 
 [Table: ANOVA
 ,,Sum of Squares,df,Mean Square,F,Sig.
 Days of Use,Between Groups,555.275,3,185.092,6.663,.001
@@ -858,7 +858,7 @@ ONEWAY /VARIABLES= height weight temperature BY sex
 ])
 
 
-AT_CHECK([pspp -O format=csv oneway-bad-contrast.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv oneway-bad-contrast.sps], [0], [dnl
 "oneway-bad-contrast.sps:18: warning: ONEWAY: In contrast list 3, the number of coefficients (3) does not equal the number of groups (2). This contrast list will be ignored."
 
 Table: ANOVA
@@ -920,7 +920,7 @@ compute x = 1.
 oneway test by x.
 ])
 
-AT_CHECK([pspp -O format=csv crash.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv crash.sps], [0], [ignore])
 
 AT_CLEANUP
 
@@ -947,7 +947,7 @@ ONEWAY
        .
 ])
 
-AT_CHECK([pspp -O format=csv crash2.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv crash2.sps], [0], [ignore])
 
 AT_CLEANUP
 
@@ -971,7 +971,7 @@ ONEWAY
  . 
 ])
 
-AT_CHECK([pspp -O format=csv crash3.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv crash3.sps], [0], [ignore])
 
 AT_CLEANUP
 
@@ -992,6 +992,6 @@ ONEWAY /VARIABLES= height weight temperature BY sex
  .
 ])
 
-AT_CHECK([pspp -O format=csv crash4.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv crash4.sps], [0], [ignore])
 
 AT_CLEANUP
diff --git a/tests/language/stats/quick-cluster.at b/tests/language/stats/quick-cluster.at
index fd327f5..357c9cd 100644
--- a/tests/language/stats/quick-cluster.at
+++ b/tests/language/stats/quick-cluster.at
@@ -19,7 +19,7 @@ END DATA.
 QUICK CLUSTER x y z
   /CRITERIA=CLUSTER(2) MXITER(20).
 ])
-AT_CHECK([pspp -o pspp.csv quick-cluster.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv quick-cluster.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
@@ -54,7 +54,7 @@ end file.
 end input program.
 QUICK CLUSTER x /CRITERIA = CLUSTER(4) NOINITIAL.
 ])
-AT_CHECK([pspp -o pspp.csv quick-cluster.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv quick-cluster.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Final Cluster Centers
 ,Cluster,,,
@@ -94,7 +94,7 @@ weight by w.
 QUICK CLUSTER x /CRITERIA = CLUSTER(4) MXITER (10).
 ])
 
-AT_CHECK([pspp -o pspp-w.csv qc-weighted.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp-w.csv qc-weighted.sps])
 
 
 AT_DATA([qc-unweighted.sps], [dnl
@@ -109,7 +109,7 @@ end input program.
 QUICK CLUSTER x /CRITERIA = CLUSTER(4) MXITER (10).
 ])
 
-AT_CHECK([pspp -o pspp-unw.csv qc-unweighted.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp-unw.csv qc-unweighted.sps])
 
 AT_CHECK([diff pspp-w.csv pspp-unw.csv], [0])
 
@@ -131,7 +131,7 @@ end data.
 QUICK CLUSTER x /CRITERIA = CLUSTER(4) MXITER (10).
 ])
 
-AT_CHECK([pspp -o pspp-m.csv quick-miss.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp-m.csv quick-miss.sps])
 
 AT_DATA([quick-nmiss.sps], [dnl
 data list notable list /x *.
@@ -147,7 +147,7 @@ end data.
 QUICK CLUSTER x /CRITERIA = CLUSTER(4) MXITER (10).
 ])
 
-AT_CHECK([pspp -o pspp-nm.csv quick-nmiss.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp-nm.csv quick-nmiss.sps])
 
 AT_CHECK([diff pspp-m.csv pspp-nm.csv], [0])
 
@@ -183,7 +183,7 @@ QUICK CLUSTER x y
 	.
 ])
 
-AT_CHECK([pspp -O format=csv quick-s.sps  > pspp-s.csv])
+AT_CHECK([$RUNNER $PSPP -O format=csv quick-s.sps  > pspp-s.csv])
 
 AT_DATA([quick-pw.sps], [dnl
 data list notable list /x * y *.
@@ -209,7 +209,7 @@ QUICK CLUSTER x y
 	.
 ])
 
-AT_CHECK([pspp -O format=csv quick-pw.sps  > pspp-pw.csv])
+AT_CHECK([$RUNNER $PSPP -O format=csv quick-pw.sps  > pspp-pw.csv])
 
 AT_CHECK([head -n 18  pspp-s.csv > top-s.csv])
 AT_CHECK([head -n 18  pspp-pw.csv > top-pw.csv])
@@ -240,7 +240,7 @@ QUICK CLUSTER x y
 	.
 ])
 
-AT_CHECK([pspp -O format=csv badn.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv badn.sps], [1], [ignore])
 
 AT_CLEANUP
 
@@ -254,7 +254,7 @@ end data.
 
 QUICK CLUSTER x y /UNSUPPORTED.
 ])
-AT_CHECK([pspp -O format=csv quick-cluster.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv quick-cluster.sps], [1], [dnl
 quick-cluster.sps:7.20-7.30: error: QUICK CLUSTER: Syntax error at `UNSUPPORTED'.
 ])
 AT_CLEANUP
@@ -329,7 +329,7 @@ QUICK CLUSTER x y
   /PRINT=INITIAL CLUSTER.
 ])
 
-AT_CHECK([pspp -O format=csv quick-cluster.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv quick-cluster.sps], [0], [dnl
 Table: Initial Cluster Centers
 ,Cluster,,
 ,,,
@@ -431,7 +431,7 @@ QUICK CLUSTER x y
 	.
 ])
 
-AT_CHECK([pspp -o pspp.csv empty-parens.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv empty-parens.sps], [1], [ignore])
 
 AT_CLEANUP
 
diff --git a/tests/language/stats/rank.at b/tests/language/stats/rank.at
index 2b909b9..0186979 100644
--- a/tests/language/stats/rank.at
+++ b/tests/language/stats/rank.at
@@ -17,7 +17,7 @@ RANK x.
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv rank.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variables Created By RANK
 
@@ -52,7 +52,7 @@ RANK ALL.
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv rank.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variables Created By RANK
 
@@ -99,7 +99,7 @@ DISPLAY DICTIONARY.
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv rank.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variables Created By RANK
 
@@ -176,7 +176,7 @@ RANK a
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv rank.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variables Created By RANK
 
@@ -255,7 +255,7 @@ SPLIT FILE OFF.
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv rank.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variables Created By RANK
 
@@ -321,7 +321,7 @@ RANK a
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv rank.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variables Created By RANK
 
@@ -382,7 +382,7 @@ RANK x
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv rank.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variables Created By RANK
 
@@ -448,7 +448,7 @@ RANK age /RANK INTO Rf.
 
 LIST.
 ])
-AT_CHECK([pspp -O format=csv rank.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv rank.sps], [0], [dnl
 Variables Created By RANK
 
 
@@ -498,7 +498,7 @@ RANK foo.
 
 DISPLAY DICTIONARY.
 ])
-AT_CHECK([pspp -o pspp.csv rank.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv rank.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Variables Created By RANK
 
@@ -534,7 +534,7 @@ DELETE VAR ran001 TO ran999.
 
 LIST.
 ])
-AT_CHECK([pspp -O format=csv rank.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv rank.sps], [0], [dnl
 "rank.sps:3: warning: Missing value(s) for all variables from rx onward.  These will be filled with the system-missing value or blanks, as appropriate."
 
 "rank.sps:4: warning: Missing value(s) for all variables from rx onward.  These will be filled with the system-missing value or blanks, as appropriate."
@@ -585,7 +585,7 @@ DEBUG XFORM FAIL.
 
 RANK x.
 ])
-AT_CHECK([pspp -O format=csv --testing-mode rank.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv --testing-mode rank.sps], [1], [dnl
 Variables Created By RANK
 
 
@@ -629,7 +629,7 @@ RANK x
 RANK x 
  /RANK INTO foo  bar wiz.
 ])
-AT_CHECK([pspp -O format=csv rank.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv rank.sps], [1], [dnl
 rank.sps:15.1: error: RANK: Syntax error at end of command: expecting `@{:@'.
 
 rank.sps:19.11: error: RANK: Syntax error at `d': expecting integer.
diff --git a/tests/language/stats/regression.at b/tests/language/stats/regression.at
index d487ca8..d236cdb 100644
--- a/tests/language/stats/regression.at
+++ b/tests/language/stats/regression.at
@@ -21,7 +21,7 @@ regression /variables=v0 v1 v2 /statistics defaults /dependent=v2 /method=enter
 list.
 ])
 
-AT_CHECK([pspp -O format=csv regression.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv regression.sps], [0], [dnl
 regression.sps:16: warning: REGRESSION: REGRESSION with SAVE ignores FILTER.  All cases will be processed.
 
 Table: Model Summary (v2)
@@ -78,7 +78,7 @@ regression /variables=v0 v1 v2 /statistics defaults /dependent=v2 /method=enter
 list.
 ])
 
-AT_CHECK([pspp -O format=csv regression.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv regression.sps], [0], [dnl
 Table: Model Summary (v2)
 ,R,R Square,Adjusted R Square,Std. Error of the Estimate
 ,.971,.942,.925,1.337
@@ -151,7 +151,7 @@ print outfile='regdata.txt' /g x0 x1 y err *.
 execute.
 ])
 
-AT_CHECK([pspp -O format=csv gen-data.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv gen-data.sps], [0], [ignore])
 
 # Use our test data to create a predictor and a residual variable
 # for G == 0
@@ -172,7 +172,7 @@ execute.
 ])
 
 
-AT_CHECK([pspp -O format=csv regression0.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv regression0.sps], [0], [ignore])
 
 # Use our test data to create a predictor and a residual variable
 # for G == 1
@@ -193,7 +193,7 @@ execute.
 ])
 
 
-AT_CHECK([pspp -O format=csv regression1.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv regression1.sps], [0], [ignore])
 
 # Use our test data to create a predictor and a residual variable
 # The data is split on G
@@ -213,7 +213,7 @@ print outfile='outdata-split.txt' /g x0 x1 y err res1 pred1 *.
 execute.
 ])
 
-AT_CHECK([pspp -O format=csv regression-split.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv regression-split.sps], [0], [ignore])
 
 # The concatenation of G==0 and G==1 should be identical to the SPLIT data
 AT_CHECK([cat outdata-g0.txt outdata-g1.txt | diff outdata-split.txt - ], [0], [])
@@ -244,7 +244,7 @@ regression
 	   /statistics = default.
 ])
 
-AT_CHECK([pspp -O format=csv regression.sps > output], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv regression.sps > output], [0], [ignore])
 
 AT_CHECK([head -16 output > first], [0], [])
 AT_CHECK([tail -16 output > second], [0], [])
@@ -1763,7 +1763,7 @@ end data
 regression /variables=v0 v1 /statistics defaults /dependent=v0 /method=enter.
 ])
 
-AT_CHECK([pspp -O format=csv regression.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv regression.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 v0,F8.0
@@ -1808,7 +1808,7 @@ end data.
 regression /variables=x y /dependent=y.
 ])
 
-AT_CHECK([pspp -o pspp.csv regcrash.sps], [1], [ignore], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv regcrash.sps], [1], [ignore], [ignore])
 
 AT_CLEANUP
 
@@ -1838,7 +1838,7 @@ regression /variables=v0 v1
 	     /method=enter.
 ])
 
-AT_CHECK([pspp -o pspp-ref.csv reg-mdv-ref.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp-ref.csv reg-mdv-ref.sps])
 
 AT_DATA([reg-mdv.sps], [dnl
 data list notable list / v0 to v2.
@@ -1864,7 +1864,7 @@ regression /variables=v0 v1
 	     /method=enter.
 ])
 
-AT_CHECK([pspp -o pspp.csv reg-mdv.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv reg-mdv.sps])
 
 AT_CHECK([diff pspp.csv pspp-ref.csv])
 
@@ -1884,7 +1884,7 @@ regression /variables=v0 v1
 	     /method=enter v2.
 ])
 
-AT_CHECK([pspp ss.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP ss.sps], [1], [ignore])
 
 AT_CLEANUP
 
@@ -2107,7 +2107,7 @@ regression
  /method = enter 
 ])
 
-AT_CHECK([pspp -O format=csv conf.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv conf.sps], [0], [dnl
 Table: Model Summary (science)
 ,R,R Square,Adjusted R Square,Std. Error of the Estimate
 ,.699,.489,.479,7.148
@@ -2154,7 +2154,7 @@ REGRESSION
 
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv regression.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv regression.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Model Summary (X1)
 ,R,R Square,Adjusted R Square,Std. Error of the Estimate
@@ -2201,6 +2201,6 @@ regression
  /method = enter
 ])
 
-AT_CHECK([pspp -o pspp.csv empty-parens.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv empty-parens.sps], [1], [ignore])
 
 AT_CLEANUP 
diff --git a/tests/language/stats/reliability.at b/tests/language/stats/reliability.at
index 9c5d413..79c18d5 100644
--- a/tests/language/stats/reliability.at
+++ b/tests/language/stats/reliability.at
@@ -183,7 +183,7 @@ RELIABILITY
   /VARIABLES=var6 var8 var15 var17 
   .
 ])
-AT_CHECK([pspp -o pspp.csv reliability.sps], [0],
+AT_CHECK([$RUNNER $PSPP -o pspp.csv reliability.sps], [0],
   [reliability.sps:174: warning: RELIABILITY: The STATISTICS subcommand is not yet implemented.  No statistics will be produced.
 ])
 AT_CHECK([cat pspp.csv], [0], [dnl
@@ -270,7 +270,7 @@ end data.
 reliability x y.
 ])
 
-AT_CHECK([pspp -O format=csv bad-syntax.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv bad-syntax.sps], [1], [ignore])
 
 AT_CLEANUP
 
@@ -285,7 +285,7 @@ end data.
 * This syntax is incorrect
 reliability variables=f01 to f10/asdfj.
 ])
-AT_CHECK([pspp -O format=csv bad-syntax.sps], [1], [ignore])
+AT_CHECK([$RUNNER $PSPP -O format=csv bad-syntax.sps], [1], [ignore])
 AT_CLEANUP
 
 
@@ -299,7 +299,7 @@ end data.
 
 reliability variables=f01 to f10.
 ])
-AT_CHECK([pspp -O format=csv reliability.sps], [0], [])
+AT_CHECK([$RUNNER $PSPP -O format=csv reliability.sps], [0], [])
 AT_CLEANUP
 
 
@@ -319,7 +319,7 @@ reliability variables = v1 v3 v4.
 ])
 
 AT_CHECK([ln -s $top_srcdir/examples/hotel.sav .], [0])
-AT_CHECK([pspp -O format=csv tut-example.sps], [0], [dnl 
+AT_CHECK([$RUNNER $PSPP -O format=csv tut-example.sps], [0], [dnl 
 Scale: ANY
 
 Table: Case Processing Summary
diff --git a/tests/language/stats/roc.at b/tests/language/stats/roc.at
index 7ffb652..ba1b030 100644
--- a/tests/language/stats/roc.at
+++ b/tests/language/stats/roc.at
@@ -27,7 +27,7 @@ roc x by a (1)
 	/criteria = testpos(large) distribution(free) ci(99)
 	/missing = exclude .
 ])
-AT_CHECK([pspp -o pspp.csv roc.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv roc.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Case Summary
 ,Valid N (listwise),
@@ -78,7 +78,7 @@ roc x y by a (1)
 	/criteria = testpos(large) distribution(negexpo) ci(95)
 	/missing = exclude .
 ])
-AT_CHECK([pspp -o pspp.csv roc.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv roc.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Case Summary
 ,Valid N (listwise),
@@ -150,7 +150,7 @@ roc x by a (1)
 	print = se 
 	.
 ])
-AT_CHECK([pspp -o pspp.csv roc.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv roc.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Case Summary
 ,Valid N (listwise),
diff --git a/tests/language/stats/sort-cases.at b/tests/language/stats/sort-cases.at
index b000cb5..70f2e8a 100644
--- a/tests/language/stats/sort-cases.at
+++ b/tests/language/stats/sort-cases.at
@@ -50,7 +50,7 @@ SORT CASES BY x[]m4_if([$3], [], [], [/BUFFERS=$3]).
 PRINT OUTFILE='output.txt'/x y.
 EXECUTE.
 ])
-   AT_CHECK([pspp --testing-mode -o pspp.csv sort-cases.sps])
+   AT_CHECK([$RUNNER $PSPP --testing-mode -o pspp.csv sort-cases.sps])
    AT_CHECK([cat output.txt], [0], [expout])
    AT_CLEANUP])
 
@@ -96,7 +96,7 @@ LIST.
 FILTER OFF.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv sort-cases.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv sort-cases.sps], [0], [dnl
 Table: Data List
 x,mod2
 5.00,1.00
diff --git a/tests/language/stats/t-test.at b/tests/language/stats/t-test.at
index 0ad76fa..5654424 100644
--- a/tests/language/stats/t-test.at
+++ b/tests/language/stats/t-test.at
@@ -14,7 +14,7 @@ end data.
 t-test /PAIRS a with b (PAIRED).
 ])
 
-AT_CHECK([pspp -O format=csv t-test.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv t-test.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 ID,F8.0
@@ -84,7 +84,7 @@ Pair 1,a - b,-2.00,.94,.42,-3.16,-.84,-4.78,4,.009
 Pair 2,c - d,1.30,.84,.37,.26,2.34,3.47,4,.025
 ])
 
-AT_CHECK([pspp -o ref.csv ref.sps])
+AT_CHECK([$RUNNER $PSPP -o ref.csv ref.sps])
 AT_CHECK([cat ref.csv], [0], [expout])
 AT_DATA([missing.sps], [dnl
 data list list /id * a * b * c * d *.
@@ -101,7 +101,7 @@ end data.
 t-test /MISSING=analysis /PAIRS a c with b d (PAIRED) /CRITERIA=CI(0.95).
 ])
 
-AT_CHECK([pspp -o missing.csv missing.sps])
+AT_CHECK([$RUNNER $PSPP -o missing.csv missing.sps])
 AT_CHECK([cat missing.csv], [0], [expout])
 AT_CLEANUP
 
@@ -148,7 +148,7 @@ Pair 1,a - c,-3.10,.76,.34,-4.04,-2.16,-9.14,4,.001
 Pair 2,b - d,.20,1.68,.75,-1.89,2.29,.27,4,.803
 ])
 
-AT_CHECK([pspp -o ref.csv ref.sps])
+AT_CHECK([$RUNNER $PSPP -o ref.csv ref.sps])
 
 AT_CHECK([cat ref.csv], [0], [expout])
 
@@ -166,7 +166,7 @@ end data.
 
 t-test /MISSING=listwise /PAIRS a b with c d (PAIRED). 
 ])
-AT_CHECK([pspp -o missing.csv missing.sps])
+AT_CHECK([$RUNNER $PSPP -o missing.csv missing.sps])
 AT_CHECK([cat missing.csv], [0], [expout])
 AT_CLEANUP
 
@@ -193,7 +193,7 @@ T-TEST
         /CRITERIA=CI(0.95).
 ])
 
-AT_CHECK([pspp -O format=csv t-test.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv t-test.sps], [0], [dnl
 Table: Paired Sample Statistics
 ,,Mean,N,Std. Deviation,S.E. Mean
 Pair 1,y,1.94,530.00,.96,.04
@@ -227,7 +227,7 @@ end data.
 
 t-test pairs = a with b (paired).
 ])
-AT_CHECK([pspp -o pspp.csv t-test.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv t-test.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
@@ -274,7 +274,7 @@ end data.
 t-test /GROUPS=indep(1.1,2.1) /var=dep1 dep2.
 ])
 
-AT_CHECK([pspp -O format=csv t-test.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv t-test.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 ID,F8.0
@@ -331,7 +331,7 @@ end data.
 t-test /groups=indep(1.514) /var=dep.
 ])
 
-AT_CHECK([pspp -O format=csv t-test.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv t-test.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 INDEP,F8.0
@@ -388,7 +388,7 @@ dep1,Equal variances assumed,3.75,.148,-1.12,3.00,.346,-.75,.67,-2.89,1.39
 dep2,Equal variances assumed,.60,.495,2.85,3.00,.065,3.00,1.05,-.35,6.35
 ,Equal variances not assumed,,,2.60,1.68,.144,3.00,1.15,-2.98,8.98
 ])
-AT_CHECK([pspp -o ref.csv ref.sps])
+AT_CHECK([$RUNNER $PSPP -o ref.csv ref.sps])
 AT_CHECK([cat ref.csv], [0], [expout])
 AT_DATA([missing.sps], [dnl
 data list list /id * indep * dep1 * dep2.
@@ -407,7 +407,7 @@ end data.
 
 t-test /missing=analysis /group=indep /var=dep1 dep2.
 ])
-AT_CHECK([pspp -o missing.csv missing.sps])
+AT_CHECK([$RUNNER $PSPP -o missing.csv missing.sps])
 AT_CHECK([cat missing.csv], [0], [expout])
 AT_CLEANUP
 
@@ -451,7 +451,7 @@ dep2,Equal variances assumed,.00,1.000,3.67,4.00,.021,3.00,.82,.73,5.27
 ,Equal variances not assumed,,,3.67,4.00,.021,3.00,.82,.73,5.27
 ])
 
-AT_CHECK([pspp -o ref.csv ref.sps])
+AT_CHECK([$RUNNER $PSPP -o ref.csv ref.sps])
 AT_CHECK([cat ref.csv], [0], [expout])
 AT_DATA([missing.sps], [dnl
 data list list /id * indep * dep1 * dep2 *.
@@ -467,7 +467,7 @@ end data.
 
 t-test /missing=listwise,exclude /group=indep /var=dep1, dep2.
 ])
-AT_CHECK([pspp -o missing.csv missing.sps])
+AT_CHECK([$RUNNER $PSPP -o missing.csv missing.sps])
 AT_CHECK([cat missing.csv], [0], [expout])
 AT_CLEANUP
 
@@ -485,7 +485,7 @@ end data.
 
 t-test /testval=2.0 /var=abc.
 ])
-AT_CHECK([pspp -O format=csv t-test.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv t-test.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 ID,F8.0
@@ -536,7 +536,7 @@ Table: One-Sample Test
 x1,.00,5,1.000,.00,-.88,.88
 x2,2.18,5,.082,29.67,-5.39,64.72
 ])
-AT_CHECK([pspp -o ref.csv ref.sps])
+AT_CHECK([$RUNNER $PSPP -o ref.csv ref.sps])
 AT_CHECK([cat ref.csv], [0], [expout])
 AT_DATA([missing.sps], [dnl
 data list list /id * x1 * x2.
@@ -552,7 +552,7 @@ end data.
 
 t-test /missing=analysis /testval=3.0 /var=x1 x2.
 ])
-AT_CHECK([pspp -o missing.csv missing.sps])
+AT_CHECK([$RUNNER $PSPP -o missing.csv missing.sps])
 AT_CHECK([cat missing.csv], [0], [expout])
 AT_CLEANUP
 
@@ -588,7 +588,7 @@ Table: One-Sample Test
 x1,-.59,4,.587,-.20,-1.14,.74
 x2,2.22,4,.090,34.60,-8.63,77.83
 ])
-AT_CHECK([pspp -o ref.csv ref.sps])
+AT_CHECK([$RUNNER $PSPP -o ref.csv ref.sps])
 AT_CHECK([cat ref.csv], [0], [expout])
 AT_DATA([missing.sps], [dnl
 data list list /id * x1 * x2.
@@ -605,7 +605,7 @@ MISSING VALUES x2(99).
 
 t-test /missing=listwise /testval=3.0 /var=x1 x2.
 ])
-AT_CHECK([pspp -o missing.csv missing.sps])
+AT_CHECK([$RUNNER $PSPP -o missing.csv missing.sps])
 AT_CHECK([cat missing.csv], [0], [expout])
 AT_CLEANUP
 
@@ -641,7 +641,7 @@ Table: Independent Samples Test
 x,Equal variances assumed,2.00,.230,-1.73,4.00,.158,-1.00,.58,-2.60,.60
 ,Equal variances not assumed,,,-1.73,3.20,.176,-1.00,.58,-2.77,.77
 ])
-AT_CHECK([pspp -o ref.csv ref.sps])
+AT_CHECK([$RUNNER $PSPP -o ref.csv ref.sps])
 AT_CHECK([cat ref.csv], [0], [expout])
 AT_DATA([temporary.sps], [dnl
 data list list /ind * x * .
@@ -660,7 +660,7 @@ SELECT IF x < 7.
 
 t-test /groups=ind(1 2) /var x.
 ])
-AT_CHECK([pspp -o temporary.csv temporary.sps])
+AT_CHECK([$RUNNER $PSPP -o temporary.csv temporary.sps])
 AT_CHECK([cat temporary.csv], [0], [expout])
 AT_CLEANUP
 
@@ -680,7 +680,7 @@ END DATA.
 T-TEST /testval=2.0 .
 T-TEST /groups=id(3) .
 ])
-AT_CHECK([pspp -O format=csv t-test.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv t-test.sps], [1], [dnl
 t-test.sps:11: error: T-TEST: Required subcommand VARIABLES was not specified.
 
 t-test.sps:12: error: T-TEST: Required subcommand VARIABLES was not specified.
@@ -709,7 +709,7 @@ end data.
 t-test /GROUPS=indep('a','b') /var=dep1 dep2.
 ])
 
-AT_CHECK([pspp -O format=csv t-test.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv t-test.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 ID,F8.0
@@ -755,7 +755,7 @@ end data.
 
 t-test /GROUPS=indep('a') /var=dep1 dep2.
 ])
-AT_CHECK([pspp -O format=csv t-test.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv t-test.sps], [1], [dnl
 "t-test.sps:17: error: T-TEST: When applying GROUPS to a string variable, two values must be specified."
 ])
 AT_CLEANUP
@@ -779,7 +779,7 @@ t-test group=gv('One', 'Two')
 	/variables = x.
 ])
 
-AT_CHECK([pspp -O format=csv t-test.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv t-test.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 x,F8.0
@@ -816,6 +816,6 @@ end data.
 t-test /variables = x group=g(1,3).
 ])
 
-AT_CHECK([pspp t-test-crs.sps], [0],[ignore], [ignore])
+AT_CHECK([$RUNNER $PSPP t-test-crs.sps], [0],[ignore], [ignore])
 
 AT_CLEANUP
diff --git a/tests/language/utilities/cache.at b/tests/language/utilities/cache.at
index 2edda09..ff3f62b 100644
--- a/tests/language/utilities/cache.at
+++ b/tests/language/utilities/cache.at
@@ -4,5 +4,5 @@ AT_SETUP([CACHE])
 AT_DATA([cache.sps], [dnl
 CACHE.
 ])
-AT_CHECK([pspp -O format=csv cache.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv cache.sps])
 AT_CLEANUP
diff --git a/tests/language/utilities/cd.at b/tests/language/utilities/cd.at
index f56f1b8..b7d4e4b 100644
--- a/tests/language/utilities/cd.at
+++ b/tests/language/utilities/cd.at
@@ -6,7 +6,7 @@ AT_DATA([cd.sps], [dnl
 cd 'subdir'.
 host command=[['pwd > mydir']].
 ])
-AT_CHECK([pspp -O format=csv cd.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv cd.sps])
 AT_CAPTURE_FILE([subdir/mydir])
 AT_CHECK([sed 's,.*/,,' subdir/mydir], [0], [subdir
 ])
diff --git a/tests/language/utilities/date.at b/tests/language/utilities/date.at
index ab1ca12..0ad20be 100644
--- a/tests/language/utilities/date.at
+++ b/tests/language/utilities/date.at
@@ -18,7 +18,7 @@ end data.
 use all.
 list.
 ])
-AT_CHECK([pspp -o pspp.csv use.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv use.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 X
diff --git a/tests/language/utilities/insert.at b/tests/language/utilities/insert.at
index e8e7650..f9d0a1b 100644
--- a/tests/language/utilities/insert.at
+++ b/tests/language/utilities/insert.at
@@ -20,7 +20,7 @@ INSERT
   SYNTAX=interactive.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv insert.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -o pspp.csv insert.sps], [1], [dnl
 batch.sps:2.1-2.4: error: INPUT PROGRAM: Syntax error at `loop': expecting end of command.
 batch.sps:3: error: COMPUTE: COMPUTE is allowed only after the active dataset has been defined or inside INPUT PROGRAM.
 batch.sps:4: error: END CASE: END CASE is allowed only inside INPUT PROGRAM.
@@ -36,7 +36,7 @@ INSERT
   SYNTAX=BATCH.
 LIST.
 ])
-AT_CHECK([pspp -o pspp.csv insert.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv insert.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 z
@@ -63,7 +63,7 @@ BEGIN DATA.
 3
 END DATA.
 ])
-AT_CHECK([pspp -o pspp.csv insert.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -o pspp.csv insert.sps], [1], [dnl
 Dir1/foo.sps:1: error: INSERT: Can't find `bar.sps' in include file search path.
 insert.sps:2: error: LIST: LIST is allowed only after the active dataset has been defined.
 ])
@@ -84,7 +84,7 @@ BEGIN DATA.
 3
 END DATA.
 ])
-AT_CHECK([pspp -o pspp.csv insert.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv insert.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
@@ -117,7 +117,7 @@ AT_SETUP([INSERT ERROR=STOP])
 CREATE_ERROR_SPS
 AT_DATA([insert.sps], [INSERT FILE='error.sps' ERROR=STOP.
 ])
-AT_CHECK([pspp -o pspp.csv insert.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -o pspp.csv insert.sps], [1], [dnl
 error.sps:10: error: DISPLAY: AKSDJ is not a variable name.
 warning: Error encountered while ERROR=STOP is effective.
 ])
@@ -127,7 +127,7 @@ AT_SETUP([INSERT ERROR=CONTINUE])
 CREATE_ERROR_SPS
 AT_DATA([insert.sps], [INSERT FILE='error.sps' ERROR=CONTINUE.
 ])
-AT_CHECK([pspp -o pspp.csv insert.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -o pspp.csv insert.sps], [1], [dnl
 error.sps:10: error: DISPLAY: AKSDJ is not a variable name.
 ])
 AT_CHECK([cat pspp.csv], [0], [dnl
@@ -152,7 +152,7 @@ INSERT
 
 LIST.
 ])
-AT_CHECK([pspp -O format=csv insert.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv insert.sps], [1], [dnl
 insert.sps:2: error: INSERT: Can't find `nonexistent' in include file search path.
 
 insert.sps:6: error: LIST: LIST is allowed only after the active dataset has been defined.
@@ -175,7 +175,7 @@ include FILE='two-latin1.sps' ENCODING='ISO_8859-1'.
 
 AT_CHECK([iconv -f UTF-8 -t iso-8859-1 two-utf8.sps > two-latin1.sps], [0], [])
 
-AT_CHECK([pspp -O format=csv include.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv include.sps], [0], [dnl
 ONE
 
 Äpfelfölfaß
diff --git a/tests/language/utilities/permissions.at b/tests/language/utilities/permissions.at
index 873057c..52904eb 100644
--- a/tests/language/utilities/permissions.at
+++ b/tests/language/utilities/permissions.at
@@ -11,14 +11,14 @@ AT_CHECK([sed 's/^\(..........\).*/\1/' stdout], [0], [-rw-rw-rw-
 
 AT_DATA([permissions.sps], [PERMISSIONS /FILE='foobar' PERMISSIONS=READONLY.
 ])
-AT_CHECK([pspp -O format=csv permissions.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv permissions.sps])
 AT_CHECK([ls -l foobar], [0], [stdout])
 AT_CHECK([sed 's/^\(..........\).*/\1/' stdout], [0], [-r--r--r--
 ])
 
 AT_DATA([permissions.sps], [PERMISSIONS /FILE='foobar' PERMISSIONS=WRITEABLE.
 ])
-AT_CHECK([pspp -O format=csv permissions.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv permissions.sps])
 AT_CHECK([ls -l foobar], [0], [stdout])
 AT_CHECK([sed 's/^\(..........\).*/\1/' stdout], [0], [-rw-r--r--
 ])
diff --git a/tests/language/utilities/set.at b/tests/language/utilities/set.at
index b281ae4..bde5a25 100644
--- a/tests/language/utilities/set.at
+++ b/tests/language/utilities/set.at
@@ -12,7 +12,7 @@ END DATA.
 SET FORMAT F41.
 DESCRIPTIVES /x.
 ])
-AT_CHECK([pspp -O format=csv set.pspp], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv set.pspp], [1], [dnl
 "set.pspp:7: error: SET: Output format F41.0 specifies width 41, but F requires a width between 1 and 40."
 
 Table: Valid cases = 3; cases with missing value(s) = 0.
@@ -44,7 +44,7 @@ comment The following line should not be executed.
 list.
 ])
 
-AT_CHECK([pspp -O format=csv set.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv set.pspp], [0], [dnl
 set.pspp:5.3: warning: Data for variable y is not valid as format F: Field contents are not numeric.
 
 set.pspp:6.3: warning: Data for variable y is not valid as format F: Field contents are not numeric.
@@ -77,7 +77,7 @@ end data.
 list.
 ])
 
-AT_CHECK([pspp -O format=csv mxwarns.pspp], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv mxwarns.pspp], [0],
 [warning: MXWARNS set to zero.  No further warnings will be given even when potentially problematic situations are encountered.
 
 Table: Data List
@@ -104,7 +104,7 @@ SHOW FORMAT
 RESTORE.
 SHOW FORMAT.
 ])
-AT_CHECK([pspp -O format=csv set.pspp], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv set.pspp], [0], [dnl
 set.pspp:1: note: SHOW: FORMAT is F8.2.
 
 set.pspp:5: note: SHOW: FORMAT is F10.0.
diff --git a/tests/language/utilities/show.at b/tests/language/utilities/show.at
index ad3ebc0..44c24e6 100644
--- a/tests/language/utilities/show.at
+++ b/tests/language/utilities/show.at
@@ -13,7 +13,7 @@ END DATA.
 SHOW N.
 ])
 
-AT_CHECK([pspp -O format=csv show.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv show.sps], [0], [dnl
 show.sps:8: note: SHOW: N is 3.
 ])
 
@@ -26,7 +26,7 @@ AT_DATA([shown-empty.sps], [dnl
 SHOW N.
 ])
 
-AT_CHECK([pspp -O format=csv shown-empty.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv shown-empty.sps], [0], [dnl
 shown-empty.sps:1: note: SHOW: N is Unknown.
 ])
 
diff --git a/tests/language/utilities/title.at b/tests/language/utilities/title.at
index cd954f2..5d38927 100644
--- a/tests/language/utilities/title.at
+++ b/tests/language/utilities/title.at
@@ -56,7 +56,7 @@ display file label.
 
 /* Done.
 ])
-AT_CHECK([pspp -o pspp.csv file-label.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv file-label.sps])
 dnl Filter out the dates/times
 AT_CHECK([[sed 's/(Entered [^)]*)/(Entered <date>)/' pspp.csv]], [0], [dnl
 Table: Reading 1 record from INLINE.
diff --git a/tests/language/xforms/compute.at b/tests/language/xforms/compute.at
index f992d0e..93d3ea9 100644
--- a/tests/language/xforms/compute.at
+++ b/tests/language/xforms/compute.at
@@ -10,12 +10,12 @@ EXECUTE.
 
 SAVE outfile='temp.sav'.
 ])
-AT_CHECK([pspp -O format=csv compute.sps])
+AT_CHECK([$RUNNER $PSPP -O format=csv compute.sps])
 AT_DATA([list.sps],
   [GET FILE='temp.sav'.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv list.sps], [0], 
+AT_CHECK([$RUNNER $PSPP -O format=csv list.sps], [0], 
   [])
 AT_CLEANUP
 
@@ -34,7 +34,7 @@ COMPUTE A=upcase(A).
 EXECUTE.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv compute.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv compute.sps], [0],
   [Table: Reading free-form data from INLINE.
 Variable,Format
 A,A161
@@ -60,7 +60,7 @@ COMPUTE longvariableName=100-longvariablename.
 
 LIST.
 ])
-AT_CHECK([pspp -O format=csv compute.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv compute.sps], [0],
   [Table: Reading free-form data from INLINE.
 Variable,Format
 longVariablename,F8.0
@@ -86,7 +86,7 @@ BEGIN DATA.
 999
 END DATA.
 ])
-AT_CHECK([pspp -O format=csv compute.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv compute.sps], [0],
   [Table: Reading 1 record from INLINE.
 Variable,Record,Columns,Format
 ITEM,1,1-  3,F3.0
diff --git a/tests/language/xforms/count.at b/tests/language/xforms/count.at
index eacf505..b6ab072 100644
--- a/tests/language/xforms/count.at
+++ b/tests/language/xforms/count.at
@@ -21,7 +21,7 @@ FORMATS ALL(F1).
 
 LIST.
 ])
-AT_CHECK([pspp -O format=csv count.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv count.sps], [0], [dnl
 Table: Reading free-form data from INLINE.
 Variable,Format
 x,F8.0
@@ -56,7 +56,7 @@ END DATA.
 COUNT c=v1 to v2('2',' 4','1').
 LIST.
 ])
-AT_CHECK([pspp -O format=csv count.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv count.sps], [0], [dnl
 Title: Test COUNT transformation
 
 Table: Reading 1 record from INLINE.
diff --git a/tests/language/xforms/recode.at b/tests/language/xforms/recode.at
index cf5036d..a3d662c 100644
--- a/tests/language/xforms/recode.at
+++ b/tests/language/xforms/recode.at
@@ -43,7 +43,7 @@ COMPUTE x8=value(x).
 RECODE x8 (SYSMIS=4).
 LIST x x0 TO x8.
 ])
-AT_CHECK([pspp -O format=csv recode.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv recode.sps], [0],
   [Table: Data List
 x,x0,x1,x2,x3,x4,x5,x6,x7,x8
 0,0,0,0,0,0,1,0,3,0
@@ -75,7 +75,7 @@ RECODE x (LO THRU HI=3) INTO ix7.
 RECODE x (SYSMIS=4) INTO ix8.
 LIST x ix0 TO ix8.
 ])
-AT_CHECK([pspp -O format=csv recode.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv recode.sps], [0],
   [Table: Data List
 x,ix0,ix1,ix2,ix3,ix4,ix5,ix6,ix7,ix8
 0,.,.,.,.,.,1,.,3,.
@@ -108,7 +108,7 @@ RECODE x (SYSMIS=4)(ELSE=COPY) INTO cx8.
 RECODE x (5=COPY)(ELSE=22) INTO cx9.
 LIST x cx0 TO cx9.
 ])
-AT_CHECK([pspp -O format=csv recode.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv recode.sps], [0],
   [Table: Data List
 x,cx0,cx1,cx2,cx3,cx4,cx5,cx6,cx7,cx8,cx9
 0,0,0,0,0,0,1,0,3,0,22.00
@@ -136,7 +136,7 @@ RECODE t ('a'='b')('abcdefghi'='xyz')('abcdefghij'='jklmnopqr') INTO t3.
 RECODE s (MISSING='gone') INTO s3.
 LIST s t s0 TO s3 t0 TO t3.
 ])
-AT_CHECK([pspp -O format=csv recode.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv recode.sps], [0],
   [Table: Data List
 s,t,s0,s1,s2,s3,t0,t1,t2,t3
 ,,,,xyz ,,,,xyz       ,
@@ -164,7 +164,7 @@ RECODE t ('a'='b')('abcdefghi'='xyz')('abcdefghij'='jklmnopqr')(ELSE=COPY)
     INTO ct3.
 LIST s t cs0 TO cs2 ct0 TO ct3.
 ])
-AT_CHECK([pspp -O format=csv recode.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv recode.sps], [0],
   [Table: Data List
 s,t,cs0,cs1,cs2,ct0,ct1,ct2,ct3
 ,,,,xyz ,,,xyz       ,
@@ -190,7 +190,7 @@ RECODE s t (' '=0)(CONVERT)('abcd'=1) INTO ns1 nt1.
 RECODE s t ('1x'=1)('abcd'=2)(ELSE=3) INTO ns2 nt2.
 LIST s t ns0 TO ns2 nt0 TO nt2.
 ])
-AT_CHECK([pspp -O format=csv recode.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv recode.sps], [0],
   [Table: Data List
 s,t,ns0,ns1,ns2,nt0,nt1,nt2
 ,,.,0,3,.,0,3
@@ -216,7 +216,7 @@ RECODE x (0,1,3,5,7,MISSING='xxx') INTO sx1.
 RECODE x (2 THRU 6,SYSMIS='xyz')(ELSE='foobar') INTO sx2.
 LIST x sx0 TO sx2.
 ])
-AT_CHECK([pspp -O format=csv recode.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv recode.sps], [0],
   [Table: Data List
 x,sx0,sx1,sx2
 0,,xxx       ,foobar    @&t@
@@ -250,7 +250,7 @@ RECODE A ("1"="3") ("3"="1") (ELSE=COPY).
 EXECUTE.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv recode.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv recode.sps], [0],
   [Table: Reading free-form data from INLINE.
 Variable,Format
 A,A1
@@ -281,7 +281,7 @@ RECODE A ("1"="3") ("3"="1") (ELSE=COPY) INTO a1.
 EXECUTE.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv recode.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv recode.sps], [0],
   [Table: Reading free-form data from INLINE.
 Variable,Format
 A,A1
@@ -313,7 +313,7 @@ recode x y ("a" = "first") .
 list.
 ])
 
-AT_CHECK([pspp -O format=csv recode.sps], [1], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv recode.sps], [1], [dnl
 "error: Cannot recode because the variable x would require a width of 5 bytes or greater, but it has a width of only 1 bytes."
 
 Table: Data List
diff --git a/tests/language/xforms/sample.at b/tests/language/xforms/sample.at
index 912fb4f..ff8040e 100644
--- a/tests/language/xforms/sample.at
+++ b/tests/language/xforms/sample.at
@@ -20,8 +20,8 @@ end data.
 sample .5.
 list.
 ])
-AT_CHECK([pspp -o pspp.csv sample.sps])
-AT_CAPTURE_FILE([pspp.csv])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv sample.sps])
+AT_CAPTURE_FILE([$RUNNER $PSPP.csv])
 AT_CHECK(
   [n=0
    while read line; do
diff --git a/tests/language/xforms/select-if.at b/tests/language/xforms/select-if.at
index 44ac01d..ccebc53 100644
--- a/tests/language/xforms/select-if.at
+++ b/tests/language/xforms/select-if.at
@@ -25,7 +25,7 @@ compute filter_$ = 1 - filter_$.
 filter by filter_$.
 list.
 ])
-AT_CHECK([pspp -o pspp.csv filter.sps])
+AT_CHECK([$RUNNER $PSPP -o pspp.csv filter.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Data List
 X,FILTER_$
diff --git a/tests/libpspp/float-format.at b/tests/libpspp/float-format.at
index e84166c..107c520 100644
--- a/tests/libpspp/float-format.at
+++ b/tests/libpspp/float-format.at
@@ -94,5 +94,5 @@ s/^[ 	]*//
 s/[ 	]*$//
 /^$/d
 s/^\(..*\)$/DEBUG FLOAT FORMAT \1./' < float-format.txt > float-format.sps])
-AT_CHECK([pspp --testing-mode -O format=csv float-format.sps])
+AT_CHECK([$RUNNER $PSPP --testing-mode -O format=csv float-format.sps])
 AT_CLEANUP
diff --git a/tests/math/moments.at b/tests/math/moments.at
index 774d17b..df333c2 100644
--- a/tests/math/moments.at
+++ b/tests/math/moments.at
@@ -18,7 +18,7 @@ m4_define([TEST_MOMENTS],
    AT_DATA([moments.sps],
 [m4_foreach([pair], [MOMENTS_TESTCASES], [DEBUG MOMENTS $2/m4_car(pair).
 ])])
-   AT_CHECK([pspp --testing-mode --no-output moments.sps], [0], 
+   AT_CHECK([$RUNNER $PSPP --testing-mode --no-output moments.sps], [0], 
   [],
   [m4_foreach([pair], [MOMENTS_TESTCASES], [m4_argn([2], pair)
 ])])
diff --git a/tests/math/randist.at b/tests/math/randist.at
index afc1185..86853d5 100644
--- a/tests/math/randist.at
+++ b/tests/math/randist.at
@@ -79,7 +79,7 @@ END IF.
 PRINT OUTFILE='$1.out'/P $2 x $3.
 EXECUTE.
 ])
-   AT_CHECK([pspp -O format=csv $1.sps])
+   AT_CHECK([$RUNNER $PSPP -O format=csv $1.sps])
    AT_CHECK([$PERL compare.pl $1.in $1.out])
    AT_CLEANUP])
 
diff --git a/tests/output/ascii.at b/tests/output/ascii.at
index b4de688..d786fdb 100644
--- a/tests/output/ascii.at
+++ b/tests/output/ascii.at
@@ -596,7 +596,7 @@ REGRESSION
 /DEPENDENT= x y
 /STATISTICS=COEFF R ANOVA.
 ])
-AT_CHECK([pspp ascii.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP ascii.sps], [0], [dnl
 SET PRINTBACK=ON.
 
 DATA LIST LIST /x * y * a (a23).
@@ -643,7 +643,7 @@ DESCRIPTIVES X.
 ])
 
 
-AT_CHECK([pspp -O box=unicode uc.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O box=unicode uc.sps], [0], [dnl
 Valid cases = 3; cases with missing value(s) = 0.
 ╭────────╥─┬──────┬───────┬───────┬───────╮
 │Variable║N│ Mean │Std Dev│Minimum│Maximum│
diff --git a/tests/output/charts.at b/tests/output/charts.at
index 59ad8ca..378d18c 100644
--- a/tests/output/charts.at
+++ b/tests/output/charts.at
@@ -33,7 +33,7 @@ examine x y by a
 	.
 ])
 
-AT_CHECK([pspp -o pspp.txt charts.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.txt charts.sps], [0], [ignore])
 
 AT_CLEANUP
 
@@ -85,7 +85,7 @@ ROC /fred bert charlie by group (0)
 
 ])
 
-AT_CHECK([pspp -o pspp.txt roc.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.txt roc.sps], [0], [ignore])
 
 AT_CLEANUP
 
@@ -115,7 +115,7 @@ factor /variables = all
 
 ])
 
-AT_CHECK([pspp -o pspp.txt scree.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.txt scree.sps], [0], [ignore])
 
 AT_CLEANUP
 
@@ -152,7 +152,7 @@ frequencies pos neg pn
 
 
 dnl The --testing-mode flag is important!!
-AT_CHECK([pspp --testing-mode -o pspp.txt histogram.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP --testing-mode -o pspp.txt histogram.sps], [0], [ignore])
 
 AT_CLEANUP
 
@@ -189,7 +189,7 @@ FREQUENCIES /VARIABLES=religion nationality /BARCHART /PIECHART.
 ])
 
 
-AT_CHECK([pspp  -o pspp.txt xxx.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP  -o pspp.txt xxx.sps], [0], [ignore])
 
 AT_CLEANUP
 
@@ -232,7 +232,7 @@ CROSSTABS
 ])
 
 
-AT_CHECK([pspp  -o pspp.txt xxx.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP  -o pspp.txt xxx.sps], [0], [ignore])
 
 AT_CLEANUP
 
@@ -256,7 +256,7 @@ EXAMINE
 ])
 
 
-AT_CHECK([pspp -o pspp.txt bp.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP -o pspp.txt bp.sps], [0], [ignore])
 
 AT_CLEANUP
 
diff --git a/tests/output/render.at b/tests/output/render.at
index 9aaef8c..9cb43e7 100644
--- a/tests/output/render.at
+++ b/tests/output/render.at
@@ -2976,7 +2976,7 @@ BEGIN DATA.
 END DATA.
 LIST.
 ])
-AT_CHECK([pspp list.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP list.sps], [0], [dnl
 Data List
 x y z
 -----
diff --git a/tests/output/tables.at b/tests/output/tables.at
index 10b321a..e790821 100644
--- a/tests/output/tables.at
+++ b/tests/output/tables.at
@@ -28,7 +28,7 @@ t-test /PAIRS a with b (PAIRED).
 
 ]])
 
-AT_CHECK([pspp -O format=csv prec.sps], [0], [dnl
+AT_CHECK([$RUNNER $PSPP -O format=csv prec.sps], [0], [dnl
 Table: Paired Sample Statistics
 ,,Mean,N,Std. Deviation,S.E. Mean
 Pair 1,A,2.00,5,.71,.32
diff --git a/tests/perl-module.at b/tests/perl-module.at
index 5424d10..a242796 100644
--- a/tests/perl-module.at
+++ b/tests/perl-module.at
@@ -59,7 +59,7 @@ DISPLAY DOCUMENTS.
 DISPLAY DICTIONARY.
 SHOW WEIGHT.
 ])
-AT_CHECK([pspp -O format=csv dump-dict.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv dump-dict.sps], [0],
   [File label: My Dictionary
 
 Documents in the active dataset:
@@ -136,7 +136,7 @@ DISPLAY FILE LABEL.
 DISPLAY DOCUMENTS.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv dump-dicts.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv dump-dicts.sps], [0],
   [Variable,Description,Position
 id,Format: F2.0,1
 name,Format: A20,2
@@ -217,7 +217,7 @@ AT_DATA([dump-dict.sps],
   [GET FILE='testfile.sav'.
 DISPLAY DICTIONARY.
 ])
-AT_CHECK([pspp -O format=csv dump-dict.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv dump-dict.sps], [0],
   [Variable,Description,Position
 integer,"Label: My Integer
 Format: F8.0
@@ -309,7 +309,7 @@ variable attribute
 
 save outfile='sample.sav'.
 ]])
-   AT_CHECK([pspp -O format=csv sample.sps])])
+   AT_CHECK([$RUNNER $PSPP -O format=csv sample.sps])])
 
 AT_SETUP([Perl read system file])
 AT_SKIP_IF([test "$WITH_PERL_MODULE" = no])
@@ -434,7 +434,7 @@ GET FILE='copy.sav'.
 DISPLAY DICTIONARY.
 LIST.
 ])
-AT_CHECK([pspp -O format=csv dump-dicts.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv dump-dicts.sps], [0],
   [[Variable,Description,Position
 string,"Label: A Short String Variable
 Format: A8
@@ -529,7 +529,7 @@ END DATA.
 
 SAVE OUTFILE='dd.sav'.
 ])
-AT_CHECK([pspp -O format=csv dd.sps], [0],
+AT_CHECK([$RUNNER $PSPP -O format=csv dd.sps], [0],
   [Table: Reading free-form data from INLINE.
 Variable,Format
 d,DATETIME17.0
diff --git a/tests/ui/terminal/main.at b/tests/ui/terminal/main.at
index 128ad41..35dae55 100644
--- a/tests/ui/terminal/main.at
+++ b/tests/ui/terminal/main.at
@@ -1,7 +1,7 @@
 AT_BANNER([PSPP terminal UI])
 
 AT_SETUP([nonexistent syntax file crash])
-AT_CHECK([pspp nonexistent], [1], 
+AT_CHECK([$RUNNER $PSPP nonexistent], [1], 
   [error: Opening `nonexistent': No such file or directory.
 ])
 AT_CLEANUP
@@ -18,7 +18,7 @@ END IF.
 END INPUT PROGRAM.
 EXECUTE.
 ])
-AT_CHECK([pspp main.sps & sleep 1; kill $!; wait $!], [143], [], [ignore])
+AT_CHECK([$RUNNER $PSPP main.sps & sleep 1; kill $!; wait $!], [143], [], [ignore])
 AT_CLEANUP
 
 AT_SETUP([SIGSEGV yields error report])
@@ -48,6 +48,6 @@ ECHO 'This is a test'.
 FINISH.
 ])
 
-AT_CHECK([pspp --syntax=enhanced main.sps], [0], [ignore])
+AT_CHECK([$RUNNER $PSPP --syntax=enhanced main.sps], [0], [ignore])
 
 AT_CLEANUP
-- 
2.1.4

