1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
dnl PSPP - a program for statistical analysis.
dnl Copyright (C) 2017 Free Software Foundation, Inc.
dnl
dnl This program is free software: you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation, either version 3 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
m4_define([CHECK_ADD_FILES],
[AT_SETUP([ADD FILES -- $1 $2 with $3])
AT_DATA([a.data], [dnl
1aB
8aM
3aE
5aG
0aA
5aH
6aI
7aJ
2aD
7aK
1aC
7aL
4aF
])
AT_DATA([b.data], [dnl
1bN
3bO
4bP
6bQ
7bR
9bS
])
m4_if([$2], [sav],
[AT_DATA([save-a.sps], [dnl
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])])
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])])
m4_if([$1], [interleave],
[m4_pushdef([BY], [[/BY a /FIRST=first /LAST=last]])
m4_pushdef([SORT], [[/SORT]])],
[m4_pushdef([BY], [])
m4_pushdef([SORT], [])])
AT_DATA([add-files.sps], [dnl
m4_if([$2], [sav], [], [DATA LIST NOTABLE FILE='a.data' /a b c 1-3 (A).])
m4_if([$3], [sav], [], [DATA LIST NOTABLE FILE='b.data' /a b c 1-3 (A).])
ADD FILES
m4_if([$2], [sav], [FILE='a.sav'], [FILE=*]) /IN=InA SORT
m4_if([$3], [sav], [FILE='b.sav'], [FILE=*]) /IN=InB /RENAME c=d
BY[].
LIST.
])
m4_popdef([BY])
m4_popdef([SORT])
AT_CHECK([pspp -O format=csv add-files.sps], [0],
[m4_if([$1], [interleave], [dnl
Table: Data List
a,b,c,d,InA,InB,first,last
0,a,A,,1,0,1,1
1,a,B,,1,0,1,0
1,a,C,,1,0,0,0
1,b,,N,0,1,0,1
2,a,D,,1,0,1,1
3,a,E,,1,0,1,0
3,b,,O,0,1,0,1
4,a,F,,1,0,1,0
4,b,,P,0,1,0,1
5,a,G,,1,0,1,0
5,a,H,,1,0,0,1
6,a,I,,1,0,1,0
6,b,,Q,0,1,0,1
7,a,J,,1,0,1,0
7,a,K,,1,0,0,0
7,a,L,,1,0,0,0
7,b,,R,0,1,0,1
8,a,M,,1,0,1,1
9,b,,S,0,1,1,1
], [dnl
Table: Data List
a,b,c,d,InA,InB
1,a,B,,1,0
8,a,M,,1,0
3,a,E,,1,0
5,a,G,,1,0
0,a,A,,1,0
5,a,H,,1,0
6,a,I,,1,0
7,a,J,,1,0
2,a,D,,1,0
7,a,K,,1,0
1,a,C,,1,0
7,a,L,,1,0
4,a,F,,1,0
1,b,,N,0,1
3,b,,O,0,1
4,b,,P,0,1
6,b,,Q,0,1
7,b,,R,0,1
9,b,,S,0,1
])])
AT_CLEANUP
])
AT_BANNER([ADD FILES])
CHECK_ADD_FILES([interleave], [sav], [sav])
CHECK_ADD_FILES([interleave], [sav], [inline])
CHECK_ADD_FILES([interleave], [inline], [sav])
CHECK_ADD_FILES([concatenate], [sav], [sav])
CHECK_ADD_FILES([concatenate], [sav], [inline])
CHECK_ADD_FILES([concatenate], [inline], [sav])
dnl ADD FILES doesn't have syntax error tests because they are all covered
dnl by the tests for MATCH FILES.
|