segment: Fix 1-byte read past initialized data when file ends in CR.
[pspp] / tests / language / lexer / variable-parser.at
index a7f792fb2ed598e7857d9eef5e05437a24ab6294..2591ef276b65638a5375ff40fc4683db1a1ca50a 100644 (file)
@@ -1,23 +1,23 @@
 dnl PSPP - a program for statistical analysis.
-dnl Copyright (C) 2017 Free Software Foundation, Inc.
-dnl 
+dnl Copyright (C) 2017, 2020 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
 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
 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/>.
 dnl
 AT_BANNER([Variable parser])
 
 dnl This program tests that both long and short variable names are parsed OK.
-dnl It use CROSSTABS, since its TABLES subcommand exercises the array var set 
+dnl It use CROSSTABS, since its TABLES subcommand exercises the array var set
 dnl feature.
 AT_SETUP([Long variable names])
 AT_DATA([longvars.sps], [dnl
@@ -28,8 +28,8 @@ END DATA.
 
 LIST.
 
-CROSSTABS 
-       VARIABLES X (1,7) Yabbadabbadoo (1,7) 
+CROSSTABS
+       VARIABLES X (1,7) Yabbadabbadoo (1,7)
        /TABLES X BY Yabbadabbadoo.
 ])
 AT_CHECK([pspp -o pspp.csv longvars.sps])
@@ -45,22 +45,36 @@ Table: Data List
 AlphaBetaGamma,B,X,Yabbadabbadoo
 2.00,3.00,4.00,5.00
 
-Table: Summary.
+Table: Summary
 ,Cases,,,,,
 ,Valid,,Missing,,Total,
 ,N,Percent,N,Percent,N,Percent
-X * Yabbadabbadoo,1,100.0%,0,0.0%,1,100.0%
+X × Yabbadabbadoo,1,100.0%,0,.0%,1,100.0%
 
-Table: X * Yabbadabbadoo [[count]].
-,Yabbadabbadoo,,,,,,,
-X,1.00,2.00,3.00,4.00,5.00,6.00,7.00,Total
-1.00,.00,.00,.00,.00,.00,.00,.00,.00
-2.00,.00,.00,.00,.00,.00,.00,.00,.00
-3.00,.00,.00,.00,.00,.00,.00,.00,.00
-4.00,.00,.00,.00,.00,1.00,.00,.00,1.00
-5.00,.00,.00,.00,.00,.00,.00,.00,.00
-6.00,.00,.00,.00,.00,.00,.00,.00,.00
-7.00,.00,.00,.00,.00,.00,.00,.00,.00
-Total,.00,.00,.00,.00,1.00,.00,.00,1.00
+Table: X × Yabbadabbadoo
+,,,Yabbadabbadoo,,,,,,,Total
+,,,1.00,2.00,3.00,4.00,5.00,6.00,7.00,
+X,1.00,Count,0,0,0,0,0,0,0,0
+,2.00,Count,0,0,0,0,0,0,0,0
+,3.00,Count,0,0,0,0,0,0,0,0
+,4.00,Count,0,0,0,0,1,0,0,1
+,5.00,Count,0,0,0,0,0,0,0,0
+,6.00,Count,0,0,0,0,0,0,0,0
+,7.00,Count,0,0,0,0,0,0,0,0
+Total,,Count,0,0,0,0,1,0,0,1
 ])
 AT_CLEANUP
+
+
+AT_SETUP([variable parser crash])
+
+AT_DATA([crash.sps], [dnl
+INPUT PROGRAM.
+FORMATS ALL(F1).$
+END FILE.
+END INPUT PROGRAM.
+])
+
+AT_CHECK([pspp -O format=txt crash.sps], [1], [ignore])
+
+AT_CLEANUP
\ No newline at end of file