Fixed numerous memory leaks. Changed many of the test cases to use a canonical
authorJohn Darrington <john@darrington.wattle.id.au>
Tue, 18 Jan 2005 11:31:45 +0000 (11:31 +0000)
committerJohn Darrington <john@darrington.wattle.id.au>
Tue, 18 Jan 2005 11:31:45 +0000 (11:31 +0000)
format for the temporary test file names.

48 files changed:
src/ChangeLog
src/examine.q
src/factor_stats.c
src/factor_stats.h
src/get.c
src/pfm-read.c
tests/ChangeLog
tests/bugs/big-input-2.sh
tests/command/aggregate.sh
tests/command/autorecod.sh
tests/command/beg-data.sh
tests/command/bignum.sh
tests/command/count.sh
tests/command/data-list.sh
tests/command/erase.sh
tests/command/examine-extremes.sh
tests/command/examine-percentiles.sh
tests/command/examine.sh
tests/command/file-label.sh
tests/command/filter.sh
tests/command/flip.sh
tests/command/import-export.sh
tests/command/lag.sh
tests/command/list.sh
tests/command/loop.sh
tests/command/oneway-missing.sh
tests/command/oneway-with-splits.sh
tests/command/oneway.sh
tests/command/permissions.sh
tests/command/print.sh
tests/command/sample.sh
tests/command/sort.sh
tests/command/split-file.sh
tests/command/sys-info.sh
tests/command/t-test-1-indep-val.sh
tests/command/t-test-1-sample-missing-anal.sh
tests/command/t-test-1-sample-missing-list.sh
tests/command/t-test-1s.sh
tests/command/t-test-groups.sh
tests/command/t-test-indep-missing-anal.sh
tests/command/t-test-indep-missing-list.sh
tests/command/t-test-paired-missing-anal.sh
tests/command/t-test-paired-missing-list.sh
tests/command/t-test-pairs.sh
tests/command/tabs.sh
tests/command/trimmed-mean.sh
tests/command/use.sh
tests/command/weight.sh

index b4e9b12c4a4a0f8d51d59ba738e42ce28c63a6f8..a0a45cb0ab8de645e8ce280870a52f269d3bcc46 100644 (file)
@@ -1,3 +1,8 @@
+Tue Jan 18 19:26:59 WST 2005 John Darrington <john@darrington.wattle.id.au>
+
+       * examine.q  factor_stats.[ch] get.c pfm-read.c: Plugged numerous
+       memory leaks.
+
 Mon Jan 10 14:43:45 WST 2005 John Darrington <john@darrington.wattle.id.au>
 
        * ascii.c cartesian.c casefile.c chart.h devind.c 
index 469b413c743c4ebde5c51d6e6a84ebc11296fac1..7d5c2b2b9d89d4c186bf0471290147d6efd94e70 100644 (file)
@@ -132,7 +132,7 @@ void box_plot_group(const struct factor *fctr,
 
 
 void box_plot_variables(const struct factor *fctr, 
-                       struct variable **vars, int n_vars, 
+                       const struct variable **vars, int n_vars, 
                        const struct variable *id
                        );
 
@@ -211,7 +211,10 @@ cmd_examine(void)
   multipass_procedure_with_splits (run_examine, &cmd);
 
   if ( totals ) 
-    free(totals);
+    free( totals );
+  
+  if ( dependent_vars ) 
+    free (dependent_vars);
 
   subc_list_double_destroy(&percentile_list);
 
@@ -485,6 +488,7 @@ xmn_custom_variables(struct cmd_examine *cmd )
   assert(n_dependent_vars);
 
   totals = xmalloc( sizeof(struct metrics) * n_dependent_vars);
+  memset ( totals, 0, sizeof(struct metrics) * n_dependent_vars);
 
   if ( lex_match(T_BY))
     {
@@ -786,8 +790,13 @@ run_examine(const struct casefile *cf, void *cmd_ )
 
   output_examine();
 
-  for ( v = 0 ; v < n_dependent_vars ; ++v ) 
-    hsh_destroy(totals[v].ordered_data);
+
+  if ( totals ) 
+    {
+      int i;
+      for ( i = 0 ; i < n_dependent_vars ; ++i ) 
+       metrics_destroy(&totals[i]);
+    }
 
 }
 
@@ -1623,7 +1632,7 @@ populate_descriptives(struct tab_table *tbl, int col, int row,
 
 void
 box_plot_variables(const struct factor *fctr, 
-                  struct variable **vars, int n_vars, 
+                  const struct variable **vars, int n_vars, 
                   const struct variable *id)
 {
 
@@ -1687,7 +1696,7 @@ void
 box_plot_group(const struct factor *fctr, 
               const struct variable **vars, 
               int n_vars,
-              const struct variable *id)
+              const struct variable *id UNUSED)
 {
 
   int i;
index 7c4cce000f928c63c7931469dab9396091d9d064..8109a2171f0774f25a3087ab156e0f40af475d03 100644 (file)
@@ -124,7 +124,6 @@ metrics_postcalc(struct metrics *m)
   int i;
   int j = 1;  
 
-
   moments1_calculate (m->moments, &m->n, &m->mean, &m->var, 
                      &m->skewness, &m->kurtosis);
 
@@ -207,6 +206,7 @@ metrics_postcalc(struct metrics *m)
   m->trimmed_mean += (m->wvp[k1 + 1]->cc - tc) * m->wvp[k1 + 1]->v.f ;
   m->trimmed_mean /= 0.9 * m->n ;
 
+
 }
 
 
@@ -225,7 +225,12 @@ weighted_value_create(void)
 void 
 weighted_value_free(struct weighted_value *wv)
 {
-  struct case_node *cn = wv->case_nos;
+  struct case_node *cn ;
+
+  if ( !wv ) 
+    return ;
+
+  cn = wv->case_nos;
 
   while(cn)
     {
@@ -255,16 +260,28 @@ create_factor_statistics (int n, union value *id0, union value *id1)
   f->id[0] = *id0;
   f->id[1] = *id1;
   f->m = xmalloc( sizeof ( struct metrics ) * n ) ;
+  memset (f->m, 0, sizeof(struct metrics) * n);
+  f->n_var = n;
 
   return f;
 }
 
 
+void 
+metrics_destroy(struct metrics *m)
+{
+  hsh_destroy(m->ordered_data);
+  hsh_destroy(m->ptile_hash);
+  gsl_histogram_free(m->histogram);
+}
+
 void
 factor_statistics_free(struct factor_statistics *f)
 {
-  hsh_destroy(f->m->ordered_data);
-  gsl_histogram_free(f->m->histogram);
+
+  int i; 
+  for ( i = 0 ; i < f->n_var; ++i ) 
+       metrics_destroy(&f->m[i]);
   free(f->m) ; 
   free(f);
 }
index b05d7423e05f3d7a352c965993d644c5b4734364..259694e8fc5aafd2d982404b57f958a1f2e86d6e 100644 (file)
@@ -27,6 +27,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 
 #include "hash.h"
 #include "val.h"
+#include <string.h>
 #include <gsl/gsl_histogram.h>
 #include "subclist.h"
 #include "percentiles.h"
@@ -85,6 +86,8 @@ struct metrics
 };
 
 
+struct metrics * metrics_create(void);
+
 void metrics_precalc(struct metrics *m);
 
 void metrics_calc(struct metrics *m, const union value *f, double weight, 
@@ -92,6 +95,9 @@ void metrics_calc(struct metrics *m, const union value *f, double weight,
 
 void metrics_postcalc(struct metrics *m);
 
+void  metrics_destroy(struct metrics *m);
+
+
 
 /* Linked list of case nos */
 struct case_node
@@ -133,6 +139,8 @@ struct factor_statistics {
   /* The an array stats for this factor, one for each dependent var */
   struct metrics *m;
 
+  /* The number of dependent variables */
+  int n_var;
 };
 
 
index 8f98dea460821bc30578e1153cdd1eb45390ce26..7fcb1f250a3863d5fbc0f5975ba817cf75ff7526 100644 (file)
--- a/src/get.c
+++ b/src/get.c
@@ -242,6 +242,7 @@ cmd_save (void)
     {
       procedure (save_write_case_func, t);
       save_trns_free (&t->h);
+      free(t);
       return CMD_SUCCESS;
     }
   else
@@ -549,12 +550,14 @@ cmd_export (void)
 
   procedure (export_write_case_func, proc);
   export_proc_free (proc);
+  free (proc);
 
   return CMD_SUCCESS;
 
  error:
   dict_destroy (dict);
   export_proc_free (proc);
+  free (proc);
   return CMD_FAILURE;
 }
 
@@ -1623,20 +1626,21 @@ finish_case_map (struct dictionary *d)
   for (i = 0; i < var_cnt; i++) 
     {
       struct variable *v = dict_get_var (d, i);
-      int src_fv = *(int *) var_detach_aux (v);
+      int *src_fv = (int *) var_detach_aux (v);
       size_t idx;
 
-      if (v->fv != src_fv)
+      if (v->fv != *src_fv)
         identity_map = 0;
       
       for (idx = 0; idx < v->nv; idx++)
         {
-          int src_idx = src_fv + idx;
+          int src_idx = *src_fv + idx;
           int dst_idx = v->fv + idx;
           
           assert (map->map[dst_idx] == -1);
           map->map[dst_idx] = src_idx;
         }
+      free (src_fv);
     }
 
   if (identity_map) 
index d551b1c17d23b8f54a3741e9cb8c63edeca8ae29..5b64d25d275115954a7b5e9d4bee9bfc6d92417c 100644 (file)
@@ -114,6 +114,7 @@ pfm_close_reader (struct pfm_reader *r)
     msg (ME, _("%s: Closing portable file: %s."),
          handle_get_filename (r->fh), strerror (errno));
   free (r->trans);
+  free (r->widths);
   free (r);
 }
 
index 191e6470333d91f779d53e4f02763c19e53d86fc..63b1959aed8acb619dfacb0f7c0bd2bd100d3c60 100644 (file)
@@ -1,3 +1,8 @@
+Tue Jan 18 19:25:24 WST 2005 John Darrington <john@darrington.wattle.id.au>
+
+       * Canonicalised (some of) the tests' temp file names to make it
+       easier to recognise valgrind ouput.
+
 Sun Jan  9 16:39:08 WST 2005 John Darrington <john@darrington.wattle.id.au>
 
        * bugs/big-input-2.sh Made the test a bit faster
index bd53c20667ca36ca7511b52a002ee52966af6696..834522628e75360e72e0248e453a8b9d9aaa12d1 100755 (executable)
@@ -5,6 +5,7 @@
 
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -65,7 +66,7 @@ if [ $? -ne 0 ] ; then no_result ; fi
 printf "\n";
 
 activity="create program"
-cat > $TEMPDIR/large.sps <<EOF
+cat > $TESTFILE <<EOF
 DATA LIST FILE='$TEMPDIR/large.dat' /S 1-2 (A) X 3 .
 
 
@@ -77,7 +78,7 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/large.sps > /dev/null
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE > /dev/null
 if [ $? -ne 0 ] ; then fail ; fi
 
 activity="appending to data"
@@ -89,7 +90,7 @@ done )  | head -50000 >> $TEMPDIR/large.dat
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/large.sps > /dev/null
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE > /dev/null
 if [ $? -ne 0 ] ; then fail ; fi
 
 pass;
index 916587dc0c575c5fca125d7706be6f00569db5b9..c03852ecd702d5bc05f3289f38cceb9f7c09b31f 100755 (executable)
@@ -3,6 +3,8 @@
 # This program tests the aggregate procedure
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
+
 
 here=`pwd`;
 
@@ -46,7 +48,7 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="program create"
-cat > $TEMPDIR/test.sps << EOF
+cat > $TESTFILE << EOF
 
 data list notable /x y 1-2.
 begin data.
@@ -69,7 +71,7 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp    -o raw-ascii $TEMPDIR/test.sps  
+$SUPERVISOR $here/../src/pspp    -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="test result"
index 01c90904a230f6750b1c0b76f0a19db7aabd5bcd..2f5acea07dbd3ea636c0596ff147c484f0aeba14 100755 (executable)
@@ -3,6 +3,8 @@
 # This program tests the autorecode command
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
+
 
 here=`pwd`;
 
@@ -46,7 +48,7 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/prog.sps <<EOF
+cat > $TESTFILE <<EOF
 /* Tries AUTORECODE on some random but similar strings of characters.
 data list /x 1-5(a) y 7.
 begin data.
@@ -73,7 +75,7 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp    -o raw-ascii $TEMPDIR/prog.sps  
+$SUPERVISOR $here/../src/pspp    -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="test output"
index d7131f096394bce42005b4e30c6e2e0a3191431f..4820ab660fea114384da1ede0e2bc812ab678703 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the BEGIN DATA / END DATA commands
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -46,7 +47,7 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/prog.sps << EOF_foobar
+cat > $TESTFILE << EOF_foobar
 title 'Test BEGIN DATA ... END DATA'.
 
 data list /A B 1-2.
@@ -73,7 +74,7 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/prog.sps
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="compare data"
index a6465426e47ffaee83dc8daa59fdd74fc49ebc1f..24d0dd3f2cec43b73a8a3449b11dabe3c5ca4201 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the use of big numbers
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -114,7 +115,7 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="create program"
-cat > $TEMPDIR/prog.stat <<foobar
+cat > $TESTFILE <<foobar
 title 'Test use of big numbers'.
 
 *** Do the portable output.
@@ -127,7 +128,7 @@ foobar
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii prog.stat
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 # Like the above comments say ...
index 7e9d7818773a34f7114eadfee95e329149c3e213..a792c08ba3f56a91686cec58aead146dd95ee17c 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the count transformation
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -45,7 +46,7 @@ mkdir -p $TEMPDIR
 
 cd $TEMPDIR
 
-cat > $TEMPDIR/count.stat <<EOF
+cat > $TESTFILE <<EOF
 title 'Test COUNT transformation'.
 
 * we're going to count the 2s 4s and 1s in the data
@@ -65,7 +66,7 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/count.stat
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 
index fce515c6a74f540e09a54e6f358d9ba57b5ecf19..134c8bba5477c671efdef9d3883ff648224f1d07 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the DATA LIST input program.
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -47,7 +48,7 @@ cd $TEMPDIR
 
 # Create command file.
 activity="create program"
-cat > $TEMPDIR/data-list.stat << EOF
+cat > $TESTFILE << EOF
 data list list ('|','X') /A B C D.
 begin data.
 1|23X45|2.03
@@ -99,7 +100,7 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii --testing-mode $TEMPDIR/data-list.stat # > $TEMPDIR/errs
+$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii --testing-mode $TESTFILE
 if [ $? -ne 0 ] ; then fail ; fi
 
 activity="compare output"
index ba65d474e6abe925dce0b278925f9f17f4fb26b8..760ac7d881376098e742f4d7e8e855dd9456f85d 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the ERASE command.
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -56,7 +57,7 @@ if [ ! -f $TEMPDIR/foobar ] ; then no_result ; fi
 
 
 activity="create program 1"
-cat > $TEMPDIR/foo.sps <<EOF
+cat > $TESTFILE <<EOF
 set safer on
 
 erase FILE='foobar'.
@@ -70,12 +71,12 @@ if [ ! -f $TEMPDIR/foobar ] ; then fail ; fi
 
 # This command must fail
 activity="run prog 1"
-$SUPERVISOR $here/../src/pspp $TEMPDIR/foo.sps > /dev/null
+$SUPERVISOR $here/../src/pspp $TESTFILE > /dev/null
 if [ $? -eq 0 ] ; then fail ; fi
 
 
 activity="create program 2"
-cat > $TEMPDIR/foo.sps <<EOF
+cat > $TESTFILE <<EOF
 
 erase FILE='foobar'.
 
@@ -84,19 +85,11 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run prog 1"
-$SUPERVISOR $here/../src/pspp $TEMPDIR/foo.sps
+$SUPERVISOR $here/../src/pspp $TESTFILE
 if [ $? -ne 0 ] ; then fail ; fi
 
 # foobar should now be gone
 if [ -f $TEMPDIR/foobar ] ; then fail ; fi 
 
 
-
-
-
-
-if [ $? -ne 0 ] ; then fail ; fi
-
-
-
 pass;
index 3df60f12c43c73db8852ea736212bab06698c220..e4d39bdc59b1fc02ab62931cdf58eb84bc5aefb4 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests  the EXTREME subcommand of the EXAMINE command.
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -46,7 +47,7 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/out.stat <<EOF
+cat > $TESTFILE <<EOF
 data list free /v1 w
 begin data.
 1  1
@@ -82,7 +83,7 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/out.stat
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="compare results"
index b7982d3027b28b0cc2e55d071bffd69d86c3336c..2428009ad65ed9bf43df1430aed1819d20a94109 100755 (executable)
@@ -5,6 +5,7 @@
 # a few cases
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -48,7 +49,7 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/out.stat <<EOF
+cat > $TESTFILE <<EOF
 DATA LIST LIST /x *.
 BEGIN DATA.
 2.00 
@@ -74,7 +75,7 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/out.stat
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 
index 55c80a8a914436e76d59cd8f74e1d64d96fcbcc7..6e27eeb831ad6095bfaf49fa10e46a6f03c2d02a 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests  the EXAMINE command.
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -46,7 +47,7 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/out.stat <<EOF
+cat > $TESTFILE <<EOF
 DATA LIST LIST /quality * w * brand * .
 BEGIN DATA
 3  1  1
@@ -85,7 +86,7 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/out.stat
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 # NOTE:  In the following data: Only the extreme values have been checked
index 931d0c11af14420816fc21c183868760300717a9..ac7f514247238c223c2ae22d2cb0d9ad2c4fbec6 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the FILE LABEL and  DOCUMENT commands
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 1214c72894a722a98e541a568494928744677399..151e43f27b03497a48c98b89b4e031ccad42a187 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests ....
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 269939fd01907c0c344ca3446936eaffde93ef3e..8b95ec77ff427d808edf5b0dd81669b659888cc4 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the flip command
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 3cf262a442368415f81bd998fb7e49fe39c274a5..9c92637d7ed29b293f53baafc0e2920a55943d78 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the IMPORT and EXPORT commands
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -46,7 +47,7 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/prog.stat <<EOF
+cat > $TESTFILE <<EOF
 DATA LIST LIST /x * y *.
 BEGIN DATA.
 1 2
@@ -66,7 +67,7 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii $TEMPDIR/prog.stat
+$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="compare output"
index 77ec38e8538bb452b5c5e44f4c9c7e87ae50e210..c1adf609072dcf56365b09fdb91abcbe93a28b29 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the LAG function
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index b73684d1ce3d23fe2a0ca852abd17afbd6d16370..3bc92aa67335ea22e186b46a86d989a3602a3185 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the LIST command.
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 15f43ec738d7914a71f7a22dfc815b73814ff455..3fc5978874d7ed3fc6afffd6c07e8432f20bb204 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the LOOP command
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 76ab99eaaac38d13044cc23f485519c3101fee5d..322c4216dd6db1289ebd9aa2e6eab367fe82bb5b 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests that the ONEWAY anova command works OK when there is missing data
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -46,7 +47,7 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/out.stat <<EOF
+cat > $TESTFILE <<EOF
 DATA LIST LIST /v1 * v2 * dep * vn *.
 BEGIN DATA
 . .  1  4
@@ -77,7 +78,7 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/out.stat
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="copy output"
@@ -85,7 +86,7 @@ cp $TEMPDIR/pspp.list $TEMPDIR/pspp.list1
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="create program 2"
-cat > $TEMPDIR/out.stat <<EOF
+cat > $TESTFILE <<EOF
 DATA LIST LIST /v1 * v2 * dep * vn * .
 BEGIN DATA
 4 .  1  2 
@@ -115,7 +116,7 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program 2"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/out.stat
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="compare outputs"
@@ -125,7 +126,7 @@ if [ $? -ne 0 ] ; then fail ; fi
 # Now try a missing dependent variable
 # Everything depends upon it, so it should behave as if LISTWISE were set
 activity="create program 3"
-cat > $TEMPDIR/out.stat <<EOF
+cat > $TESTFILE <<EOF
 DATA LIST LIST /v1 * v2 * dep * vn * .
 BEGIN DATA
 4 2  .  2 
@@ -155,7 +156,7 @@ EOF
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="run program 3"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/out.stat
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="compare outputs"
index f935343ed26ca49ec7e17c96734adc5083fb3509..44cb5bcba6b61be5aba6a9862f16b8740ffdb197 100755 (executable)
@@ -4,6 +4,7 @@
 # when SPLIT FILE is active
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index e81d8032910a25b7223853e10561b97e4dda2be6..98b242ffc2623a81c042250e062d8e450b308dd9 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests that the ONEWAY anova command works OK
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 960a04ca22300960dd8bfa07022a1c97b20fc673..f485fc002b69220efaeabbd4dba132f54674f1ba 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the PERMISSIONS command
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 33d47a7d56a3de42c90da4cd204fd84886b294f1..119ac572569c2e110ca802cef9a650a7e7ae1ef4 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the PRINT transformation
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 56a1bb30c425cba16c7e0d15d70ba5abc00ead56..277593fad66b5e3b219395c966407168314a1406 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the SAMPLE function
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 72d17cc95567e50659274e85e9827c5fb6b17983..7f2662158e3c88a035bc2e18afc3e2592c0badc5 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the sort command
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 6b9a5ea38979991399875bbcd9ff254f976dda86..2f2c98b4612873d2693e577ca94f14d1aec3a319 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the split file command
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 31025a0cfe7d02fa811c2fcedfa761e80f974466..ab87ddeacb0c60e88fccf345ba0a696b329057c7 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the SYSFILE INFO command
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 89f2a038b40589160db6f77798b22a7cded6ea8c..89815629db5576d0e3f62b7a520189f5fd703a24 100755 (executable)
@@ -4,6 +4,7 @@
 # when a single value in the independent variable is given.
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -47,7 +48,7 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/out.stat <<EOF
+cat > $TESTFILE <<EOF
 data list list /indep * dep *.
 begin data.
        1        6
@@ -79,7 +80,7 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp -o raw-ascii $TEMPDIR/out.stat
+$SUPERVISOR $here/../src/pspp -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 
index 53d463be663406f9b84efe1c1533de7b1aaf1386..abfa309322e53dc0ce73e2a543b480156fdf2800 100755 (executable)
@@ -4,6 +4,7 @@
 # when there are per analysis missing values involved.
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 2e2f1d01b845dc10b95ef37623aaf19cb243086a..9c0dc703e4a75c027796e97523583922b3cb788a 100755 (executable)
@@ -4,6 +4,7 @@
 # when there are listwise missing values involved.
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index b440d55561374fadfb5e50797256509bebb9d9f6..7aec1233cd68a5027d5a14aa3414598909e52dc3 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests that the T-TEST /TESTVAL command works OK
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 1173dcc2613d33bb6b7f27485be2301cb95d013c..3ceed34c694c9e279fe01acf4ef74a3ce2d566cf 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests that the T-TEST /GROUPS command works
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 30dc2b7b08cc4ccea0ed0f7bca403e76b966f1c0..4bcbddde1542682bbce0ded5a3456750d1090433 100755 (executable)
@@ -4,6 +4,7 @@
 # when ANALYSIS missing values are involved
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 1f1223006dc37d21084e12f65f4bc4535670ce67..fa23407b8a5cb71f6aaa9f92a1cd4e480ed8219d 100755 (executable)
@@ -4,6 +4,7 @@
 # when LISTWISE missing values are involved
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 2829385e9e4ef70dd0965e79b54e8422f6fac832..793a0db16e56970cad41a8b0676735ce03b17a8c 100755 (executable)
@@ -4,6 +4,7 @@
 # when there is per ANALYSIS missing data involved.
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 5158a6a10ad06a3536b70e189dfd2d49a2659abd..4f649bbbc6b3f45a9aee028b9cb86b4536acf2a0 100755 (executable)
@@ -4,6 +4,7 @@
 # when there is listwise missing data involved.
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 80920a6ac859dee518587d90d67aabf57ab3a053..58f6f94739f6f590ceba9b01898ea1388aad7fde 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests that the T-TEST /PAIRS command works OK
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 05178199efbde1b0575191123e9c631bb996773a..764e747df72fe112b87f057e4f91e3d6fd437fc5 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests that tab characters can be used in string input
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 8b84a31c47c24d9bb38f916d54518910c6cdc819..6a6ee3a4c142f0c8c9508cae1027212a852f4d20 100755 (executable)
@@ -4,6 +4,7 @@
 # where the data is weighted towards the centre
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 2afcc9390ab89c378b30e8f8732b0aef795d0b9a..a685d3087f8f39619735a42bed85634e62d588d8 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests USE, just to make sure that USE ALL is accepted silently.
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
index 8eb2cf9265cc910d61dcedbf2cb2ab47452796d7..acd9e458a882798dbecc41cd43c5dcfff2cba243 100755 (executable)
@@ -3,6 +3,7 @@
 # This program tests the WEIGHT command
 
 TEMPDIR=/tmp/pspp-tst-$$
+TESTFILE=$TEMPDIR/`basename $0`.sps
 
 here=`pwd`;
 
@@ -46,7 +47,7 @@ mkdir -p $TEMPDIR
 cd $TEMPDIR
 
 activity="create program"
-cat > $TEMPDIR/weight.stat <<EOF
+cat > $TESTFILE << EOF
 data list file='$top_srcdir/tests/weighting.data'/AVAR 1-5 BVAR 6-10.
 weight by BVAR.
 
@@ -58,7 +59,7 @@ if [ $? -ne 0 ] ; then no_result ; fi
 
 
 activity="run program"
-$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii $TEMPDIR/weight.stat
+$SUPERVISOR $here/../src/pspp --testing-mode -o raw-ascii $TESTFILE
 if [ $? -ne 0 ] ; then no_result ; fi
 
 activity="compare results"