4479a48017643b2f8bc1002ef15f15bbfa4c262d
[pspp] / tests / data / file.at
1 AT_BANNER([files handling])
2
3 AT_SETUP([Write error - directory exists])
4
5 mkdir foobar.sav
6
7 AT_DATA([file.sps], [dnl
8 DATA LIST NOTABLE/x 1.
9 BEGIN DATA.
10 5
11 END DATA.
12 SAVE OUTFILE='foobar.sav'.
13 ])
14
15 AT_CHECK([pspp -O format=csv file.sps], [1], [dnl
16 error: Opening foobar.sav for writing: Is a directory.
17
18 error: Error opening `foobar.sav' for writing as a system file: Is a directory.
19 ])
20
21 AT_CLEANUP
22
23
24 AT_SETUP([Write error - no permission])
25
26 mkdir  directory
27 touch directory/foobar.sav
28 chmod 000 directory
29
30 AT_DATA([file.sps], [dnl
31 DATA LIST NOTABLE/x 1.
32 BEGIN DATA.
33 5
34 END DATA.
35 SAVE OUTFILE='directory/foobar.sav'.
36 ])
37
38 AT_CHECK([pspp -O format=csv file.sps], [1], [dnl
39 error: Creating temporary file to replace directory/foobar.sav: Permission denied.
40
41 error: Error opening `directory/foobar.sav' for writing as a system file: Permission denied.
42 ])
43
44 AT_CLEANUP
45
46
47
48 AT_SETUP([Write error - temp file disappeared])
49
50 AT_DATA([file.sps], [dnl
51 DATA LIST NOTABLE/x 1.
52 BEGIN DATA.
53 5
54 END DATA.
55 XSAVE OUTFILE='foobar.sav'.
56 HOST COMMAND=[['rm foobar.savtmp*']].
57 EXECUTE.
58 ])
59
60 AT_CHECK([pspp -O format=csv file.sps], [1], [ignore])
61
62 AT_CLEANUP
63
64
65
66 AT_SETUP([Write fifo])
67
68 dnl The Fifo feature is not available in w32 builds
69 AT_SKIP_IF([case $host in *-*-mingw*) true ;; *) false ;; esac])
70
71 AT_DATA([file.sps], [dnl
72 DATA LIST NOTABLE/x 1.
73 BEGIN DATA.
74 5
75 END DATA.
76 SAVE OUTFILE='foobar.sav'.
77 ])
78
79 mkfifo foobar.sav
80 cat foobar.sav > /dev/null & 
81 pid=$!
82
83 AT_CHECK([pspp -O format=csv file.sps], [0], [ignore])
84
85 AT_CLEANUP
86
87
88
89 AT_SETUP([Reading from pipe])
90
91 AT_DATA([pipe.sps], [dnl
92 data list file='echo "1 2\n 3 4\n 5 6" |' notable list /x * y *.
93 list.
94 ])
95
96 AT_CHECK([pspp -O format=csv pipe.sps], [0], [dnl
97 Table: Data List
98 x,y
99 1.00,2.00
100 3.00,4.00
101 5.00,6.00
102 ])
103
104 AT_CLEANUP