X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fexpressions%2Fevaluate.at;h=e56a3a457e53c46d4a6905d95c8521c355891556;hb=9ade26c8349b4434008c46cf09bc7473ec743972;hp=6740a4a6e4d9ccd76f14f9bbf7e76af864f16192;hpb=f121693e24f4f23ee5bfda6e745f35c9c14cfa28;p=pspp-builds.git diff --git a/tests/language/expressions/evaluate.at b/tests/language/expressions/evaluate.at index 6740a4a6..e56a3a45 100644 --- a/tests/language/expressions/evaluate.at +++ b/tests/language/expressions/evaluate.at @@ -10,7 +10,12 @@ DEBUG EVALUATE m4_argn(4, check)/[]m4_car(check). AT_CAPTURE_FILE([evaluate.sps]) m4_pushdef([i], [2]) AT_CHECK([pspp --testing-mode --error-file=- --no-output evaluate.sps], - [m4_if(m4_bregexp([m4_foreach([check], [m4_shift($@)], [m4_argn(3, check)])], [error:]), [-1], [0], [1])], + [m4_if(m4_bregexp([m4_foreach([check], [m4_shift($@)], [m4_argn(3, check)])], [error:]), [-1], [0], [1])], + [stdout]) + # Use sed to transform "file:line.column:" into plain "file:line:", + # because column numbers change between opt and noopt versions. + AT_CHECK([[sed 's/\(evaluate.sps:[0-9]\{1,\}\)\.[0-9]\{1,\}:/\1:/' stdout]], + [0], [m4_foreach([check], [m4_shift($@)], [m4_define([i], m4_incr(i))dnl m4_if(m4_argn(3, check), [], [], [evaluate.sps:[]i[]: m4_argn(3, check) @@ -281,10 +286,10 @@ dnl Make sure >= token can't be split: [['asdfj ' ne 'asdf'], [true]], dnl <> token can't be split: [[1 < > 1], [error], - [error: DEBUG EVALUATE: Syntax error at `GT'.]], + [error: DEBUG EVALUATE: Syntax error at `>'.]], dnl # ~= token can't be split: [[1 ~ = 1], [error], - [error: DEBUG EVALUATE: Syntax error at `NOT': expecting end of command.]]) + [error: DEBUG EVALUATE: Syntax error at `~': expecting end of command.]]) CHECK_EXPR_EVAL([exp lg10 ln sqrt abs mod mod10 rnd trunc], [[exp(10)], [22026.47]], @@ -1281,7 +1286,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.date(date.mdy(10,7,1943) + time.hms(2,57,52)) / 86400], [131845.00]], [[xdate.date(date.mdy(3,17,1992) + time.hms(16,45,44)) / 86400], [149539.00]], [[xdate.date(date.mdy(2,25,1996) + time.hms(21,30,57)) / 86400], [150979.00]], - [[xdate.date(date.mdy(9,29,41) + time.hms(4,25,9)) / 86400], [131107.00]], + [[xdate.date(date.mdy(9,29,1941) + time.hms(4,25,9)) / 86400], [131107.00]], [[xdate.date(date.mdy(4,19,43) + time.hms(6,49,27)) / 86400], [131674.00]], [[xdate.date(date.mdy(10,7,43) + time.hms(2,57,52)) / 86400], [131845.00]], [[xdate.date(date.mdy(3,17,92) + time.hms(16,45,44)) / 86400], [149539.00]], @@ -1305,7 +1310,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.hour(date.mdy(10,7,1943) + time.hms(2,57,52))], [2.00]], [[xdate.hour(date.mdy(3,17,1992) + time.hms(16,45,44))], [16.00]], [[xdate.hour(date.mdy(2,25,1996) + time.hms(21,30,57))], [21.00]], - [[xdate.hour(date.mdy(9,29,41) + time.hms(4,25,9))], [4.00]], + [[xdate.hour(date.mdy(9,29,1941) + time.hms(4,25,9))], [4.00]], [[xdate.hour(date.mdy(4,19,43) + time.hms(6,49,27))], [6.00]], [[xdate.hour(date.mdy(10,7,43) + time.hms(2,57,52))], [2.00]], [[xdate.hour(date.mdy(3,17,92) + time.hms(16,45,44))], [16.00]], @@ -1331,7 +1336,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.jday(date.mdy(10,7,1943) + time.hms(2,57,52))], [280.00]], [[xdate.jday(date.mdy(3,17,1992) + time.hms(16,45,44))], [77.00]], [[xdate.jday(date.mdy(2,25,1996) + time.hms(21,30,57))], [56.00]], - [[xdate.jday(date.mdy(9,29,41) + time.hms(4,25,9))], [272.00]], + [[xdate.jday(date.mdy(9,29,1941) + time.hms(4,25,9))], [272.00]], [[xdate.jday(date.mdy(4,19,43) + time.hms(6,49,27))], [109.00]], [[xdate.jday(date.mdy(10,7,43) + time.hms(2,57,52))], [280.00]], [[xdate.jday(date.mdy(3,17,92) + time.hms(16,45,44))], [77.00]], @@ -1355,7 +1360,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.mday(date.mdy(10,7,1943) + time.hms(2,57,52))], [7.00]], [[xdate.mday(date.mdy(3,17,1992) + time.hms(16,45,44))], [17.00]], [[xdate.mday(date.mdy(2,25,1996) + time.hms(21,30,57))], [25.00]], - [[xdate.mday(date.mdy(9,29,41) + time.hms(4,25,9))], [29.00]], + [[xdate.mday(date.mdy(9,29,1941) + time.hms(4,25,9))], [29.00]], [[xdate.mday(date.mdy(4,19,43) + time.hms(6,49,27))], [19.00]], [[xdate.mday(date.mdy(10,7,43) + time.hms(2,57,52))], [7.00]], [[xdate.mday(date.mdy(3,17,92) + time.hms(16,45,44))], [17.00]], @@ -1376,7 +1381,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.minute(date.mdy(10,7,1943) + time.hms(2,57,52))], [57.00]], [[xdate.minute(date.mdy(3,17,1992) + time.hms(16,45,44))], [45.00]], [[xdate.minute(date.mdy(2,25,1996) + time.hms(21,30,57))], [30.00]], - [[xdate.minute(date.mdy(9,29,41) + time.hms(4,25,9))], [25.00]], + [[xdate.minute(date.mdy(9,29,1941) + time.hms(4,25,9))], [25.00]], [[xdate.minute(date.mdy(4,19,43) + time.hms(6,49,27))], [49.00]], [[xdate.minute(date.mdy(10,7,43) + time.hms(2,57,52))], [57.00]], [[xdate.minute(date.mdy(3,17,92) + time.hms(16,45,44))], [45.00]], @@ -1397,7 +1402,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.month(date.mdy(10,7,1943) + time.hms(2,57,52))], [10.00]], [[xdate.month(date.mdy(3,17,1992) + time.hms(16,45,44))], [3.00]], [[xdate.month(date.mdy(2,25,1996) + time.hms(21,30,57))], [2.00]], - [[xdate.month(date.mdy(9,29,41) + time.hms(4,25,9))], [9.00]], + [[xdate.month(date.mdy(9,29,1941) + time.hms(4,25,9))], [9.00]], [[xdate.month(date.mdy(4,19,43) + time.hms(6,49,27))], [4.00]], [[xdate.month(date.mdy(10,7,43) + time.hms(2,57,52))], [10.00]], [[xdate.month(date.mdy(3,17,92) + time.hms(16,45,44))], [3.00]], @@ -1418,7 +1423,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.quarter(date.mdy(10,7,1943) + time.hms(2,57,52))], [4.00]], [[xdate.quarter(date.mdy(3,17,1992) + time.hms(16,45,44))], [1.00]], [[xdate.quarter(date.mdy(2,25,1996) + time.hms(21,30,57))], [1.00]], - [[xdate.quarter(date.mdy(9,29,41) + time.hms(4,25,9))], [3.00]], + [[xdate.quarter(date.mdy(9,29,1941) + time.hms(4,25,9))], [3.00]], [[xdate.quarter(date.mdy(4,19,43) + time.hms(6,49,27))], [2.00]], [[xdate.quarter(date.mdy(10,7,43) + time.hms(2,57,52))], [4.00]], [[xdate.quarter(date.mdy(3,17,92) + time.hms(16,45,44))], [1.00]], @@ -1439,7 +1444,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.second(date.mdy(10,7,1943) + time.hms(2,57,52))], [52.00]], [[xdate.second(date.mdy(3,17,1992) + time.hms(16,45,44))], [44.00]], [[xdate.second(date.mdy(2,25,1996) + time.hms(21,30,57))], [57.00]], - [[xdate.second(date.mdy(9,29,41) + time.hms(4,25,9))], [9.00]], + [[xdate.second(date.mdy(9,29,1941) + time.hms(4,25,9))], [9.00]], [[xdate.second(date.mdy(4,19,43) + time.hms(6,49,27))], [27.00]], [[xdate.second(date.mdy(10,7,43) + time.hms(2,57,52))], [52.00]], [[xdate.second(date.mdy(3,17,92) + time.hms(16,45,44))], [44.00]], @@ -1460,7 +1465,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.tday(date.mdy(10,7,1943) + time.hms(2,57,52))], [131845.00]], [[xdate.tday(date.mdy(3,17,1992) + time.hms(16,45,44))], [149539.00]], [[xdate.tday(date.mdy(2,25,1996) + time.hms(21,30,57))], [150979.00]], - [[xdate.tday(date.mdy(9,29,41) + time.hms(4,25,9))], [131107.00]], + [[xdate.tday(date.mdy(9,29,1941) + time.hms(4,25,9))], [131107.00]], [[xdate.tday(date.mdy(4,19,43) + time.hms(6,49,27))], [131674.00]], [[xdate.tday(date.mdy(10,7,43) + time.hms(2,57,52))], [131845.00]], [[xdate.tday(date.mdy(3,17,92) + time.hms(16,45,44))], [149539.00]], @@ -1481,7 +1486,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.time(date.mdy(10,7,1943) + time.hms(2,57,52))], [10672.00]], [[xdate.time(date.mdy(3,17,1992) + time.hms(16,45,44))], [60344.00]], [[xdate.time(date.mdy(2,25,1996) + time.hms(21,30,57))], [77457.00]], - [[xdate.time(date.mdy(9,29,41) + time.hms(4,25,9))], [15909.00]], + [[xdate.time(date.mdy(9,29,1941) + time.hms(4,25,9))], [15909.00]], [[xdate.time(date.mdy(4,19,43) + time.hms(6,49,27))], [24567.00]], [[xdate.time(date.mdy(10,7,43) + time.hms(2,57,52))], [10672.00]], [[xdate.time(date.mdy(3,17,92) + time.hms(16,45,44))], [60344.00]], @@ -1502,7 +1507,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.week(date.mdy(10,7,1943) + time.hms(2,57,52))], [40.00]], [[xdate.week(date.mdy(3,17,1992) + time.hms(16,45,44))], [11.00]], [[xdate.week(date.mdy(2,25,1996) + time.hms(21,30,57))], [8.00]], - [[xdate.week(date.mdy(9,29,41) + time.hms(4,25,9))], [39.00]], + [[xdate.week(date.mdy(9,29,1941) + time.hms(4,25,9))], [39.00]], [[xdate.week(date.mdy(4,19,43) + time.hms(6,49,27))], [16.00]], [[xdate.week(date.mdy(10,7,43) + time.hms(2,57,52))], [40.00]], [[xdate.week(date.mdy(3,17,92) + time.hms(16,45,44))], [11.00]], @@ -1523,7 +1528,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.wkday(date.mdy(10,7,1943))], [5.00]], [[xdate.wkday(date.mdy(3,17,1992))], [3.00]], [[xdate.wkday(date.mdy(2,25,1996))], [1.00]], - [[xdate.wkday(date.mdy(9,29,41))], [2.00]], + [[xdate.wkday(date.mdy(9,29,1941))], [2.00]], [[xdate.wkday(date.mdy(4,19,43))], [2.00]], [[xdate.wkday(date.mdy(10,7,43))], [5.00]], [[xdate.wkday(date.mdy(3,17,92))], [3.00]], @@ -1544,7 +1549,7 @@ CHECK_EXPR_EVAL([xdate], [[xdate.year(date.mdy(10,7,1943) + time.hms(2,57,52))], [1943.00]], [[xdate.year(date.mdy(3,17,1992) + time.hms(16,45,44))], [1992.00]], [[xdate.year(date.mdy(2,25,1996) + time.hms(21,30,57))], [1996.00]], - [[xdate.year(date.mdy(9,29,41) + time.hms(4,25,9))], [1941.00]], + [[xdate.year(date.mdy(9,29,1941) + time.hms(4,25,9))], [1941.00]], [[xdate.year(date.mdy(4,19,43) + time.hms(6,49,27))], [1943.00]], [[xdate.year(date.mdy(10,7,43) + time.hms(2,57,52))], [1943.00]], [[xdate.year(date.mdy(3,17,92) + time.hms(16,45,44))], [1992.00]], @@ -1565,8 +1570,8 @@ CHECK_EXPR_EVAL([datediff], [[datediff(date.mdy(4,19,1943), date.mdy(10,7,1943), 'years')], [0.00]], [[datediff(date.mdy(10,7,1943), date.mdy(3,17,1992), 'years')], [-48.00]], [[datediff(date.mdy(3,17,1992), date.mdy(2,25,1996), 'years')], [-3.00]], - [[datediff(date.mdy(9,29,41), date.mdy(2,25,1996), 'years')], [-54.00]], - [[datediff(date.mdy(9,29,41), date.mdy(4,19,43), 'years')], [-1.00]], + [[datediff(date.mdy(9,29,1941), date.mdy(2,25,1996), 'years')], [-54.00]], + [[datediff(date.mdy(9,29,1941), date.mdy(4,19,43), 'years')], [-1.00]], [[datediff(date.mdy(4,19,43), date.mdy(10,7,43), 'years')], [0.00]], [[datediff(date.mdy(10,7,43), date.mdy(3,17,92), 'years')], [-48.00]], [[datediff(date.mdy(3,17,92), date.mdy(2,25,96), 'years')], [-3.00]], @@ -1588,8 +1593,8 @@ CHECK_EXPR_EVAL([datediff], [[datediff(date.mdy(4,19,1943), date.mdy(10,7,1943), 'quarters')], [-1.00]], [[datediff(date.mdy(10,7,1943), date.mdy(3,17,1992), 'quarters')], [-193.00]], [[datediff(date.mdy(3,17,1992), date.mdy(2,25,1996), 'quarters')], [-15.00]], - [[datediff(date.mdy(9,29,41), date.mdy(2,25,1996), 'quarters')], [-217.00]], - [[datediff(date.mdy(9,29,41), date.mdy(4,19,43), 'quarters')], [-6.00]], + [[datediff(date.mdy(9,29,1941), date.mdy(2,25,1996), 'quarters')], [-217.00]], + [[datediff(date.mdy(9,29,1941), date.mdy(4,19,43), 'quarters')], [-6.00]], [[datediff(date.mdy(4,19,43), date.mdy(10,7,43), 'quarters')], [-1.00]], [[datediff(date.mdy(10,7,43), date.mdy(3,17,92), 'quarters')], [-193.00]], [[datediff(date.mdy(3,17,92), date.mdy(2,25,96), 'quarters')], [-15.00]], @@ -1611,8 +1616,8 @@ CHECK_EXPR_EVAL([datediff], [[datediff(date.mdy(4,19,1943), date.mdy(10,7,1943), 'months')], [-5.00]], [[datediff(date.mdy(10,7,1943), date.mdy(3,17,1992), 'months')], [-581.00]], [[datediff(date.mdy(3,17,1992), date.mdy(2,25,1996), 'months')], [-47.00]], - [[datediff(date.mdy(9,29,41), date.mdy(2,25,1996), 'months')], [-652.00]], - [[datediff(date.mdy(9,29,41), date.mdy(4,19,43), 'months')], [-18.00]], + [[datediff(date.mdy(9,29,1941), date.mdy(2,25,1996), 'months')], [-652.00]], + [[datediff(date.mdy(9,29,1941), date.mdy(4,19,43), 'months')], [-18.00]], [[datediff(date.mdy(4,19,43), date.mdy(10,7,43), 'months')], [-5.00]], [[datediff(date.mdy(10,7,43), date.mdy(3,17,92), 'months')], [-581.00]], [[datediff(date.mdy(3,17,92), date.mdy(2,25,96), 'months')], [-47.00]], @@ -1634,8 +1639,8 @@ CHECK_EXPR_EVAL([datediff], [[datediff(date.mdy(4,19,1943), date.mdy(10,7,1943), 'weeks')], [-24.00]], [[datediff(date.mdy(10,7,1943), date.mdy(3,17,1992), 'weeks')], [-2527.00]], [[datediff(date.mdy(3,17,1992), date.mdy(2,25,1996), 'weeks')], [-205.00]], - [[datediff(date.mdy(9,29,41), date.mdy(2,25,1996), 'weeks')], [-2838.00]], - [[datediff(date.mdy(9,29,41), date.mdy(4,19,43), 'weeks')], [-81.00]], + [[datediff(date.mdy(9,29,1941), date.mdy(2,25,1996), 'weeks')], [-2838.00]], + [[datediff(date.mdy(9,29,1941), date.mdy(4,19,43), 'weeks')], [-81.00]], [[datediff(date.mdy(4,19,43), date.mdy(10,7,43), 'weeks')], [-24.00]], [[datediff(date.mdy(10,7,43), date.mdy(3,17,92), 'weeks')], [-2527.00]], [[datediff(date.mdy(3,17,92), date.mdy(2,25,96), 'weeks')], [-205.00]], @@ -1657,8 +1662,8 @@ CHECK_EXPR_EVAL([datediff], [[datediff(date.mdy(4,19,1943), date.mdy(10,7,1943), 'days')], [-171.00]], [[datediff(date.mdy(10,7,1943), date.mdy(3,17,1992), 'days')], [-17694.00]], [[datediff(date.mdy(3,17,1992), date.mdy(2,25,1996), 'days')], [-1440.00]], - [[datediff(date.mdy(9,29,41), date.mdy(2,25,1996), 'days')], [-19872.00]], - [[datediff(date.mdy(9,29,41), date.mdy(4,19,43), 'days')], [-567.00]], + [[datediff(date.mdy(9,29,1941), date.mdy(2,25,1996), 'days')], [-19872.00]], + [[datediff(date.mdy(9,29,1941), date.mdy(4,19,43), 'days')], [-567.00]], [[datediff(date.mdy(4,19,43), date.mdy(10,7,43), 'days')], [-171.00]], [[datediff(date.mdy(10,7,43), date.mdy(3,17,92), 'days')], [-17694.00]], [[datediff(date.mdy(3,17,92), date.mdy(2,25,96), 'days')], [-1440.00]], @@ -1680,8 +1685,8 @@ CHECK_EXPR_EVAL([datediff], [[datediff(date.mdy(10,7,1943), date.mdy(4,19,1943), 'years')], [0.00]], [[datediff(date.mdy(3,17,1992), date.mdy(10,7,1943), 'years')], [48.00]], [[datediff(date.mdy(2,25,1996), date.mdy(3,17,1992), 'years')], [3.00]], - [[datediff(date.mdy(2,25,1996), date.mdy(9,29,41), 'years')], [54.00]], - [[datediff(date.mdy(4,19,43), date.mdy(9,29,41), 'years')], [1.00]], + [[datediff(date.mdy(2,25,1996), date.mdy(9,29,1941), 'years')], [54.00]], + [[datediff(date.mdy(4,19,43), date.mdy(9,29,1941), 'years')], [1.00]], [[datediff(date.mdy(10,7,43), date.mdy(4,19,43), 'years')], [0.00]], [[datediff(date.mdy(3,17,92), date.mdy(10,7,43), 'years')], [48.00]], [[datediff(date.mdy(2,25,96), date.mdy(3,17,92), 'years')], [3.00]], @@ -1703,8 +1708,8 @@ CHECK_EXPR_EVAL([datediff], [[datediff(date.mdy(10,7,1943), date.mdy(4,19,1943), 'months')], [5.00]], [[datediff(date.mdy(3,17,1992), date.mdy(10,7,1943), 'months')], [581.00]], [[datediff(date.mdy(2,25,1996), date.mdy(3,17,1992), 'months')], [47.00]], - [[datediff(date.mdy(2,25,1996), date.mdy(9,29,41), 'months')], [652.00]], - [[datediff(date.mdy(4,19,43), date.mdy(9,29,41), 'months')], [18.00]], + [[datediff(date.mdy(2,25,1996), date.mdy(9,29,1941), 'months')], [652.00]], + [[datediff(date.mdy(4,19,43), date.mdy(9,29,1941), 'months')], [18.00]], [[datediff(date.mdy(10,7,43), date.mdy(4,19,43), 'months')], [5.00]], [[datediff(date.mdy(3,17,92), date.mdy(10,7,43), 'months')], [581.00]], [[datediff(date.mdy(2,25,96), date.mdy(3,17,92), 'months')], [47.00]], @@ -1726,8 +1731,8 @@ CHECK_EXPR_EVAL([datediff], [[datediff(date.mdy(10,7,1943), date.mdy(4,19,1943), 'quarters')], [1.00]], [[datediff(date.mdy(3,17,1992), date.mdy(10,7,1943), 'quarters')], [193.00]], [[datediff(date.mdy(2,25,1996), date.mdy(3,17,1992), 'quarters')], [15.00]], - [[datediff(date.mdy(2,25,1996), date.mdy(9,29,41), 'quarters')], [217.00]], - [[datediff(date.mdy(4,19,43), date.mdy(9,29,41), 'quarters')], [6.00]], + [[datediff(date.mdy(2,25,1996), date.mdy(9,29,1941), 'quarters')], [217.00]], + [[datediff(date.mdy(4,19,43), date.mdy(9,29,1941), 'quarters')], [6.00]], [[datediff(date.mdy(10,7,43), date.mdy(4,19,43), 'quarters')], [1.00]], [[datediff(date.mdy(3,17,92), date.mdy(10,7,43), 'quarters')], [193.00]], [[datediff(date.mdy(2,25,96), date.mdy(3,17,92), 'quarters')], [15.00]], @@ -2035,3 +2040,31 @@ N1,N2,N3,N4,N5,P1,P2,P3,P4,P5,MC,VC,S1,S2,S3,S4,S5,M1,M2,M3,M4,M5,V1,V2,V3,V4,V5 6,7,8,9,.,6,7,8,9,.,1,4,0,0,0,0,1,0,0,0,0,1,6,7,8,9,. ]) AT_CLEANUP + +AT_SETUP([vectors in expressions]) +AT_DATA([vectors.sps], [dnl +DATA LIST NOTABLE /N1 TO N5 1-5. +MISSING VALUES N1 TO N5 (3 THRU 5, 1). +BEGIN DATA. +12345 +6789 +END DATA. + +VECTOR N=N1 TO N5. +VECTOR X(5). +LOOP I=1 TO 5. +COMPUTE X(I)=N(I) + 1. +END LOOP. + +FORMATS ALL (F2). + +LIST. +]) +AT_CHECK([pspp -o pspp.csv vectors.sps]) +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Data List +N1,N2,N3,N4,N5,X1,X2,X3,X4,X5,I +1,2,3,4,5,.,3,.,.,.,5 +6,7,8,9,.,7,8,9,10,.,5 +]) +AT_CLEANUP