File: insert.at

package info (click to toggle)
pspp 0.8.4-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 35,692 kB
  • ctags: 20,600
  • sloc: ansic: 218,288; sh: 12,890; xml: 11,342; perl: 715; lisp: 597; makefile: 157
file content (160 lines) | stat: -rw-r--r-- 3,318 bytes parent folder | download | duplicates (3)
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
AT_BANNER([INSERT])

dnl Create a file "batch.sps" that is valid syntax only in batch mode.
m4_define([CREATE_BATCH_SPS], 
  [AT_DATA([batch.sps], [dnl
input program
loop #i = 1 to 5
+  compute z = #i
+  end case
end loop
end file
end input program
])])

AT_SETUP([INSERT SYNTAX=INTERACTIVE])
CREATE_BATCH_SPS
AT_DATA([insert.sps], [dnl
INSERT 
  FILE='batch.sps'
  SYNTAX=interactive.
LIST.
])
AT_CHECK([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.
insert.sps:4: error: LIST: LIST is allowed only after the active dataset has been defined.
])
AT_CLEANUP

AT_SETUP([INSERT SYNTAX=BATCH])
CREATE_BATCH_SPS
AT_DATA([insert.sps], [dnl
INSERT 
  FILE='batch.sps'
  SYNTAX=BATCH.
LIST.
])
AT_CHECK([pspp -o pspp.csv insert.sps])
AT_CHECK([cat pspp.csv], [0], [dnl
Table: Data List
z
1.00
2.00
3.00
4.00
5.00
])
AT_CLEANUP

AT_SETUP([INSERT CD=NO])
AT_DATA([insert.sps], [INSERT FILE='Dir1/foo.sps'.
LIST.
])
mkdir Dir1
AT_DATA([Dir1/foo.sps], [INSERT FILE='bar.sps' CD=NO.
])
AT_DATA([Dir1/bar.sps],
  [DATA LIST LIST /x *.
BEGIN DATA.
1
2
3
END DATA.
])
AT_CHECK([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.
])
AT_CLEANUP

AT_SETUP([INSERT CD=YES])
AT_DATA([insert.sps], [INSERT FILE='Dir1/foo.sps' CD=YES.
LIST.
])
mkdir Dir1
AT_DATA([Dir1/foo.sps], [INSERT FILE='bar.sps'.
])
AT_DATA([Dir1/bar.sps],
  [DATA LIST LIST /x *.
BEGIN DATA.
1
2
3
END DATA.
])
AT_CHECK([pspp -o pspp.csv insert.sps])
AT_CHECK([cat pspp.csv], [0], [dnl
Table: Reading free-form data from INLINE.
Variable,Format
x,F8.0

Table: Data List
x
1.00
2.00
3.00
])
AT_CLEANUP

m4_define([CREATE_ERROR_SPS],
  [AT_DATA([error.sps], [dnl
DATA LIST NOTABLE LIST /x *.
BEGIN DATA.
1
2
3
END DATA.

* The following line is erroneous

DISPLAY AKSDJ.
LIST.
])])

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
error.sps:10: error: DISPLAY: AKSDJ is not a variable name.
warning: Error encountered while ERROR=STOP is effective.
])
AT_CLEANUP

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
error.sps:10: error: DISPLAY: AKSDJ is not a variable name.
])
AT_CHECK([cat pspp.csv], [0], [dnl
error.sps:10: error: DISPLAY: AKSDJ is not a variable name.

Table: Data List
x
1.00
2.00
3.00
])
AT_CLEANUP

dnl Test for regression against bug #24569 in which PSPP crashed
dnl upon attempt to insert a nonexistent file.
AT_SETUP([INSERT nonexistent file])
AT_DATA([insert.sps], [dnl
INSERT 
  FILE='nonexistent'
  ERROR=CONTINUE.
  .

LIST.
])
AT_CHECK([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.
])
AT_CLEANUP