+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/>.
+dnl
AT_BANNER([data input (data-in)])
-m4_divert_push([PREPARE_TESTS])
-[data_in_prng () {
- cat > my-rand.pl <<'EOF'
+AT_SETUP([numeric input formats])
+AT_KEYWORDS([data-in slow])
+data_in_prng
+AT_DATA([num-in.py],
+[[#! /usr/bin/python3
+
+import math
+import re
+
# This random number generator and the test for it below are drawn
# from Park and Miller, "Random Number Generators: Good Ones are Hard
# to Come By", Communications of the ACM 31:10 (October 1988). It is
# real significand, which includes systems that have 64-bit IEEE reals
# (with 53-bit significand). The test should catch any systems for
# which this is not true, in any case.
+def my_rand(modulus):
+ global seed
+ a = 16807
+ m = 2147483647
+ tmp = a * seed
+ seed = tmp - m * (tmp // m)
+ return seed % modulus
+
+# Test the random number generator for reproducibility,
+# then reset the seed
+seed = 1
+for i in range(10000):
+ my_rand(1)
+assert seed == 1043618065
+seed = 1
+
+def permute_zeros(fraction, exponent):
+ frac_rep = "%f" % fraction
+ leading_zeros = len(frac_rep) - len(frac_rep.lstrip('0'))
+ trailing_zeros = len(re.search(r'(\.?0*)$', frac_rep).group(1))
+ for i in range(leading_zeros + 1):
+ for j in range(trailing_zeros + 1):
+ trimmed = frac_rep[i:len(frac_rep) - j]
+ if trimmed == '.' or not trimmed:
+ continue
+
+ permute_commas(trimmed, exponent)
+
+def permute_commas(frac_rep, exponent):
+ permute_dot_comma(frac_rep, exponent)
+ pos = my_rand(len(frac_rep) + 1)
+ frac_rep = "%s,%s" % (frac_rep[:pos], frac_rep[pos:])
+ permute_dot_comma(frac_rep, exponent)
+
+def permute_dot_comma(frac_rep, exponent):
+ permute_exponent_syntax(frac_rep, exponent)
+ if ',' in frac_rep or '.' in frac_rep:
+ frac_rep = frac_rep.translate(str.maketrans('.,', ',.'))
+ permute_exponent_syntax(frac_rep, exponent)
+
+def permute_exponent_syntax(frac_rep, exponent):
+ if exponent == 0:
+ e = pick(('', 'e0', 'e-0', 'e+0', '-0', '+0'))
+ elif exponent > 0:
+ e = pick(("e%s" % exponent, "e+%s" % exponent, "+%s" % exponent))
+ else:
+ abs_exp = -exponent
+ e = pick(("e-%s" % abs_exp, "e-%s" % abs_exp, "-%s" % abs_exp))
+ permute_sign_and_affix(frac_rep, e)
+
+def permute_sign_and_affix(frac_rep, exp_rep):
+ for prefix in (pick(('', '$')),
+ pick(('-', '-$', '$-', '$-$')),
+ pick(('+', '+$', '$+', '$+$'))):
+ for suffix in ('', '%'):
+ permute_spaces(prefix + frac_rep + exp_rep + suffix)
+
+def permute_spaces(s):
+ fields = re.sub(r'([-+\$e%])', r' \1 ', s).split()
+ print(''.join(fields))
+
+ if len(fields) > 1:
+ pos = my_rand(len(fields) - 1) + 1
+ print("%s %s" % (''.join(fields[:pos]),
+ ''.join(fields[pos:])))
+
+def pick(choices):
+ return choices[my_rand(len(choices))]
+
+for number in (0, 1, .5, .015625, 123):
+ base_exp = math.floor(math.log10(number)) if number else 0
+ for offset in range(-3, 4):
+ exponent = base_exp + offset
+ fraction = number / 10**offset
+
+ permute_zeros(fraction, exponent)
-our ($seed) = 1;
-sub my_rand {
- my ($modulo) = @_;
- my ($a) = 16807;
- my ($m) = 2147483647;
- my ($tmp) = $a * $seed;
- $seed = $tmp - $m * int ($tmp / $m);
- return $seed % $modulo;
-}
-EOF
- cat > test-my-rand.pl <<'EOF'
-#! /usr/bin/perl
-use strict;
-use warnings;
-do 'my-rand.pl';
-my_rand (1) foreach 1...10000;
-our $seed;
-die $seed if $seed != 1043618065;
-EOF
-}
-date_in () {
- data_in_prng
- cat > date-in.pl << 'EOF'
-#! /usr/bin/perl
-
-use strict;
-use warnings;
-
-do 'my-rand.pl';
-
-my ($fmt_name, @templates) = @ARGV;
-
-my @dates = (#yyyy mm dd jjj HH MM SS
- [1648, 6, 10, 162, 0, 0, 0],
- [1680, 6, 30, 182, 4, 50, 38],
- [1716, 7, 24, 206, 12, 31, 35],
- [1768, 6, 19, 171, 12, 47, 53],
- [1819, 8, 2, 214, 1, 26, 0],
- [1839, 3, 27, 86, 20, 58, 11],
- [1903, 4, 19, 109, 7, 36, 5],
- [1929, 8, 25, 237, 15, 43, 49],
- [1941, 9, 29, 272, 4, 25, 9],
- [1943, 4, 19, 109, 6, 49, 27],
- [1943, 10, 7, 280, 2, 57, 52],
- [1992, 3, 17, 77, 16, 45, 44],
- [1996, 2, 25, 56, 21, 30, 57],
- [1941, 9, 29, 272, 4, 25, 9],
- [1943, 4, 19, 109, 6, 49, 27],
- [1943, 10, 7, 280, 2, 57, 52],
- [1992, 3, 17, 77, 16, 45, 44],
- [1996, 2, 25, 56, 21, 30, 57],
- [2038, 11, 10, 314, 22, 30, 4],
- [2094, 7, 18, 199, 1, 56, 51]);
-
-open (SYNTAX, '>', "$fmt_name.sps") or die "$fmt_name.sps: create: $!\n";
-print SYNTAX "SET EPOCH 1930.\n";
-print SYNTAX "DATA LIST NOTABLE FILE='$fmt_name.in'/$fmt_name 1-40 ($fmt_name).\n";
-print SYNTAX "PRINT OUTFILE='$fmt_name.out'/$fmt_name (F16.2).\n";
-print SYNTAX "EXECUTE.\n";
-close (SYNTAX);
-
-my ($fn) = "$fmt_name.in";
-open (DATA, '>', $fn) or die "$fn: create: $!\n";
-select DATA;
-for my $template (@templates) {
- for my $date (@dates) {
- print_date_with_template ($date, $template) for 1...10;
- }
-}
-close (DATA);
-
-sub print_date_with_template {
- my ($date, $template) = @_;
- my ($year, $month, $day, $julian, $hour, $minute, $second) = @$date;
- my ($quarter) = int (($month - 1) / 3) + 1;
- my ($week) = int (($julian - 1) / 7) + 1;
- my (@year_types) = ('full');
- push (@year_types, '2digit') if $year >= 1930 && $year < 2030;
- for my $c (split ('', $template)) {
- if ($c eq 'd') {
- printf (+pick ('%d', '%02d'), $day);
- } elsif ($c eq 'm') {
- my ($type) = pick ('arabic', 'roman', 'abbrev', 'full');
- if ($type eq 'arabic') {
- printf (+pick ('%d', '%02d'), $month);
- } elsif ($type eq 'roman') {
- my ($mmm) = ('i', 'ii', 'iii',
- 'iv', 'v', 'vi',
- 'vii', 'viii', 'ix',
- 'x', 'xi', 'xii')[$month - 1];
- print_rand_case ($mmm);
- } elsif ($type eq 'abbrev') {
- my ($mmm) = qw (jan feb mar apr may jun
- jul aug sep oct nov dec)[$month - 1];
- print_rand_case ($mmm);
- } elsif ($type eq 'full') {
- my ($mmm) = qw (january february march
- april may june
- july august september
- october november december)[$month - 1];
- print_rand_case ($mmm);
- } else {
- die;
- }
- } elsif ($c eq 'y') {
- my ($type) = pick (@year_types);
- if ($type eq '2digit') {
- printf (+pick ('%d', '%02d'), $year % 100);
- } elsif ($type eq 'full') {
- print $year;
- } else {
- die;
- }
- } elsif ($c eq 'j') {
- my ($type) = pick (@year_types);
- if ($type eq '2digit') {
- printf ("%02d%03d", $year % 100, $julian);
- } elsif ($type eq 'full') {
- printf ("%04d%03d", $year, $julian);
- } else {
- die;
- }
- } elsif ($c eq 'q') {
- print $quarter;
- } elsif ($c eq 'w') {
- print $week;
- } elsif ($c eq 'H') {
- printf (+pick ('%d', '%02d'), $hour);
- } elsif ($c eq 'M') {
- printf (+pick ('%d', '%02d'), $minute);
- } elsif ($c eq 'S') {
- printf (+pick ('%d', '%02d'), $second);
- } elsif ($c eq '-') {
- print +pick (' ', '-', '.', ',', '/');
- } elsif ($c eq ':') {
- print +pick (' ', ':');
- } elsif ($c eq ' ') {
- print ' ';
- } elsif ($c eq 'Q') {
- maybe_print_space ();
- print_rand_case ('q');
- maybe_print_space ();
- } elsif ($c eq 'W') {
- maybe_print_space ();
- print_rand_case ('wk');
- maybe_print_space ();
- } elsif ($c eq '+') {
- print +pick ('', '-', '+');
- } else {
- die;
- }
- }
- print "\n";
-}
-
-sub print_rand_case {
- my ($s) = @_;
- my ($case) = pick (qw (uc lc tc));
- if ($case eq 'uc') {
- print uc ($s);
- } elsif ($case eq 'lc') {
- print lc ($s);
- } elsif ($case eq 'tc') {
- print ucfirst ($s);
- } else {
- die;
- }
-}
-
-sub maybe_print_space {
- print +pick ('', ' ');
-}
-
-sub pick {
- return $_[int (my_rand ($#_
- + 1))];
-}
-EOF
-}
-time_in () {
- data_in_prng
- cat > time-in.pl << 'EOF'
-#! /usr/bin/perl
-
-use strict;
-use warnings;
-
-do 'my-rand.pl';
-
-my ($skip, $fmt_name, @templates) = @ARGV;
-
-my_rand (1) foreach 1...$skip;
-
-my @times = (# D HH MM SS
- [ 0, 0, 0, 0.00],
- [ 1, 4, 50, 38.68],
- [ 5, 12, 31, 35.82],
- [ 0, 12, 47, 53.41],
- [ 3, 1, 26, 0.69],
- [ 1, 20, 58, 11.19],
- [ 12, 7, 36, 5.98],
- [ 52, 15, 43, 49.27],
- [ 7, 4, 25, 9.24],
- [ 0, 6, 49, 27.89],
- [ 20, 2, 57, 52.56],
- [555, 16, 45, 44.12],
- [120, 21, 30, 57.27],
- [ 0, 4, 25, 9.98],
- [ 3, 6, 49, 27.24],
- [ 5, 2, 57, 52.13],
- [ 0, 16, 45, 44.35],
- [ 1, 21, 30, 57.32],
- [ 10, 22, 30, 4.27],
- [ 22, 1, 56, 51.18]);
-
-open (SYNTAX, '>', "$fmt_name.sps") or die "$fmt_name.sps: create: $!\n";
-print SYNTAX "DATA LIST NOTABLE FILE='$fmt_name.data'/$fmt_name 1-40 ($fmt_name).\n";
-print SYNTAX "PRINT OUTFILE='$fmt_name.out'/$fmt_name (F16.2).\n";
-print SYNTAX "EXECUTE.\n";
-close (SYNTAX);
-
-my ($fn) = "$fmt_name.data";
-open (DATA, '>', $fn) or die "$fn: create: $!\n";
-select DATA;
-for my $template (@templates) {
- for my $time (@times) {
- print_time_with_template ($time, $template) for 1...10;
- }
-}
-close (DATA);
-
-sub print_time_with_template {
- my ($time, $template) = @_;
- my ($day, $hour, $minute, $second) = @$time;
- for my $c (split ('', $template)) {
- if ($c eq '+') {
- print +pick ('', '-', '+');
- } elsif ($c eq 'D') {
- printf (+pick ('%d', '%02d'), $day);
- $day = 0;
- } elsif ($c eq 'H') {
- printf (+pick ('%d', '%02d'), $hour + 24 * $day);
- } elsif ($c eq 'M') {
- printf (+pick ('%d', '%02d'), $minute);
- } elsif ($c eq 'S') {
- printf (+pick ('%.0f', '%02.0f', '%.1f', '%.2f'), $second);
- } elsif ($c eq ':') {
- print +pick (' ', ':');
- } elsif ($c eq ' ') {
- print ' ';
- } else {
- die;
- }
- }
- print "\n";
-}
-
-sub pick {
- return $_[int (my_rand ($#_
- + 1)) ];
-}
-EOF
-}]
-m4_divert_pop([PREPARE_TESTS])
-
-AT_SETUP([numeric input formats])
-AT_KEYWORDS([data-in])
-data_in_prng
-AT_CHECK([$PERL test-my-rand.pl])
-AT_DATA([num-in.pl],
-[[#! /usr/bin/perl
-
-use POSIX;
-use strict;
-use warnings;
-
-do 'my-rand.pl';
-
-for my $number (0, 1, .5, .015625, 123) {
- my ($base_exp) = floor ($number ? log10 ($number) : 0);
- for my $offset (-3...3) {
- my ($exponent) = $base_exp + $offset;
- my ($fraction) = $number / 10**$offset;
-
- permute_zeros ($fraction, $exponent);
- }
-}
-
-sub permute_zeros {
- my ($fraction, $exponent) = @_;
-
- my ($frac_rep) = sprintf ("%f", $fraction);
- my ($leading_zeros) = length (($frac_rep =~ /^(0*)/)[0]);
- my ($trailing_zeros) = length (($frac_rep =~ /(\.?0*)$/)[0]);
- for my $i (0...$leading_zeros) {
- for my $j (0...$trailing_zeros) {
- my ($trimmed) = substr ($frac_rep, $i,
- length ($frac_rep) - $i - $j);
- next if $trimmed eq '.' || $trimmed eq '';
-
- permute_commas ($trimmed, $exponent);
- }
- }
-}
-
-sub permute_commas {
- my ($frac_rep, $exponent) = @_;
- permute_dot_comma ($frac_rep, $exponent);
- my ($pos) = int (my_rand (length ($frac_rep) + 1));
- $frac_rep = substr ($frac_rep, 0, $pos) . "," . substr ($frac_rep, $pos);
- permute_dot_comma ($frac_rep, $exponent);
-}
-
-sub permute_dot_comma {
- my ($frac_rep, $exponent) = @_;
- permute_exponent_syntax ($frac_rep, $exponent);
- if ($frac_rep =~ /[,.]/) {
- $frac_rep =~ tr/.,/,./;
- permute_exponent_syntax ($frac_rep, $exponent);
- }
-}
-
-sub permute_exponent_syntax {
- my ($frac_rep, $exponent) = @_;
- my (@exp_reps);
- if ($exponent == 0) {
- @exp_reps = pick ('', 'e0', 'e-0', 'e+0', '-0', '+0');
- } elsif ($exponent > 0) {
- @exp_reps = pick ("e$exponent", "e+$exponent", "+$exponent");
- } else {
- my ($abs_exp) = -$exponent;
- @exp_reps = pick ("e-$abs_exp", , "e-$abs_exp", "-$abs_exp");
- }
- permute_sign_and_affix ($frac_rep, $_) foreach @exp_reps;
-}
-
-sub permute_sign_and_affix {
- my ($frac_rep, $exp_rep) = @_;
- for my $prefix (pick ('', '$'),
- pick ('-', '-$', '$-', '$-$'),
- pick ('+', '+$', '$+', '$+$')) {
- for my $suffix ('', '%') {
- permute_spaces ("$prefix$frac_rep$exp_rep$suffix");
- }
- }
-}
-
-sub permute_spaces {
- my ($s) = @_;
- $s =~ s/([-+\$e%])/ $1 /g;
- my (@fields) = split (' ', $s);
- print join ('', @fields), "\n";
-
- if ($#fields > 0) {
- my ($pos) = int (my_rand ($#fields)) + 1;
- print join ('', @fields[0...$pos - 1]);
- print " ";
- print join ('', @fields[$pos...$#fields]);
- print "\n";
- }
-}
-
-sub pick {
- return $_[int (my_rand ($#_ + 1))];
-}
]])
-AT_CHECK([$PERL num-in.pl > num-in.data])
+AT_CHECK([$PYTHON3 num-in.py > num-in.data])
AT_DATA([num-in.sps], [dnl
SET ERRORS=NONE.
SET MXERRS=10000000.
data list file='bignum.txt'/BIGNUM 1-40.
list.
-*** Do the nonportable output for fun.
+*** Do the nonportable output for fun.
descriptives BIGNUM.
])
AT_CHECK([pspp -o pspp.csv bignum.sps], [0], [ignore])
AT_SETUP([DATE input format])
AT_KEYWORDS([data-in])
-date_in
-AT_CHECK([$PERL test-my-rand.pl])
-AT_CHECK([$PERL date-in.pl date d-m-y])
-AT_CHECK([test -s date.sps])
-AT_CHECK([test -s date.in])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-date-input.py date d-m-y])
+AT_FAIL_IF([test ! -s date.sps || test ! -s date.input || test ! -s expout])
AT_CHECK([pspp -O format=csv date.sps])
-AT_CHECK([cat date.out], [0], [dnl
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
-])
+AT_CHECK([cat date.output], [0], [expout])
AT_CLEANUP
AT_SETUP([ADATE input format])
AT_KEYWORDS([data-in])
-date_in
-AT_CHECK([$PERL test-my-rand.pl])
-AT_CHECK([$PERL date-in.pl adate m-d-y])
-AT_CHECK([test -s adate.sps])
-AT_CHECK([test -s adate.in])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-date-input.py adate m-d-y])
+AT_FAIL_IF([test ! -s adate.sps || test ! -s adate.input || test ! -s expout])
AT_CHECK([pspp -O format=csv adate.sps])
-AT_CHECK([cat adate.out], [0], [dnl
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
-])
+AT_CHECK([cat adate.output], [0], [expout])
AT_CLEANUP
AT_SETUP([EDATE input format])
AT_KEYWORDS([data-in])
-date_in
-AT_CHECK([$PERL test-my-rand.pl])
-AT_CHECK([$PERL date-in.pl edate d-m-y])
-AT_CHECK([test -s edate.sps])
-AT_CHECK([test -s edate.in])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-date-input.py edate d-m-y])
+AT_FAIL_IF([test ! -s edate.sps || test ! -s edate.input || test ! -s expout])
AT_CHECK([pspp -O format=csv edate.sps])
-AT_CHECK([cat edate.out], [0], [dnl
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
-])
+AT_CHECK([cat edate.output], [0], [expout])
AT_CLEANUP
AT_SETUP([JDATE input format])
AT_KEYWORDS([data-in])
-date_in
-AT_CHECK([$PERL test-my-rand.pl])
-AT_CHECK([$PERL date-in.pl jdate j])
-AT_CHECK([test -s jdate.sps])
-AT_CHECK([test -s jdate.in])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-date-input.py jdate j])
+AT_FAIL_IF([test ! -s jdate.sps || test ! -s jdate.input || test ! -s expout])
AT_CHECK([pspp -O format=csv jdate.sps])
-AT_CHECK([cat jdate.out], [0], [dnl
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
-])
+AT_CHECK([cat jdate.output], [0], [expout])
AT_CLEANUP
AT_SETUP([SDATE input format])
AT_KEYWORDS([data-in])
-date_in
-AT_CHECK([$PERL test-my-rand.pl])
-AT_CHECK([$PERL date-in.pl sdate y-m-d])
-AT_CHECK([test -s sdate.sps])
-AT_CHECK([test -s sdate.in])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-date-input.py sdate y-m-d])
+AT_FAIL_IF([test ! -s sdate.sps || test ! -s sdate.input || test ! -s expout])
AT_CHECK([pspp -O format=csv sdate.sps])
-AT_CHECK([cat sdate.out], [0], [dnl
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 3083529600.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 4221590400.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 5859561600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 7472649600.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 8092742400.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10114329600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 10945929600.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11327644800.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11376633600.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 11391408000.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 12920169600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 13044585600.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 14392339200.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
- 16149628800.00
-])
+AT_CHECK([cat sdate.output], [0], [expout])
AT_CLEANUP
AT_SETUP([QYR input format])
AT_KEYWORDS([data-in])
-date_in
-AT_CHECK([$PERL test-my-rand.pl])
-AT_CHECK([$PERL date-in.pl qyr qQy])
-AT_CHECK([test -s qyr.sps])
-AT_CHECK([test -s qyr.in])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-date-input.py qyr qQy])
+AT_FAIL_IF([test ! -s qyr.sps || test ! -s qyr.input || test ! -s expout])
AT_CHECK([pspp -O format=csv qyr.sps])
-AT_CHECK([cat qyr.out], [0], [dnl
- 2065910400.00
- 2065910400.00
- 2065910400.00
- 2065910400.00
- 2065910400.00
- 2065910400.00
- 2065910400.00
- 2065910400.00
- 2065910400.00
- 2065910400.00
- 3075753600.00
- 3075753600.00
- 3075753600.00
- 3075753600.00
- 3075753600.00
- 3075753600.00
- 3075753600.00
- 3075753600.00
- 3075753600.00
- 3075753600.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 5852736000.00
- 5852736000.00
- 5852736000.00
- 5852736000.00
- 5852736000.00
- 5852736000.00
- 5852736000.00
- 5852736000.00
- 5852736000.00
- 5852736000.00
- 7469884800.00
- 7469884800.00
- 7469884800.00
- 7469884800.00
- 7469884800.00
- 7469884800.00
- 7469884800.00
- 7469884800.00
- 7469884800.00
- 7469884800.00
- 8085398400.00
- 8085398400.00
- 8085398400.00
- 8085398400.00
- 8085398400.00
- 8085398400.00
- 8085398400.00
- 8085398400.00
- 8085398400.00
- 8085398400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10941177600.00
- 10941177600.00
- 10941177600.00
- 10941177600.00
- 10941177600.00
- 10941177600.00
- 10941177600.00
- 10941177600.00
- 10941177600.00
- 10941177600.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11319868800.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 12913603200.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 13039833600.00
- 14388883200.00
- 14388883200.00
- 14388883200.00
- 14388883200.00
- 14388883200.00
- 14388883200.00
- 14388883200.00
- 14388883200.00
- 14388883200.00
- 14388883200.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
-])
+AT_CHECK([cat qyr.output], [0], [expout])
AT_CLEANUP
AT_SETUP([MOYR input format])
AT_KEYWORDS([data-in])
-date_in
-AT_CHECK([$PERL test-my-rand.pl])
-AT_CHECK([$PERL date-in.pl moyr m-y])
-AT_CHECK([test -s moyr.sps])
-AT_CHECK([test -s moyr.in])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-date-input.py moyr m-y])
+AT_FAIL_IF([test ! -s moyr.sps || test ! -s moyr.input || test ! -s expout])
AT_CHECK([pspp -O format=csv moyr.sps])
-AT_CHECK([cat moyr.out], [0], [dnl
- 2071180800.00
- 2071180800.00
- 2071180800.00
- 2071180800.00
- 2071180800.00
- 2071180800.00
- 2071180800.00
- 2071180800.00
- 2071180800.00
- 2071180800.00
- 3081024000.00
- 3081024000.00
- 3081024000.00
- 3081024000.00
- 3081024000.00
- 3081024000.00
- 3081024000.00
- 3081024000.00
- 3081024000.00
- 3081024000.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 4219603200.00
- 5858006400.00
- 5858006400.00
- 5858006400.00
- 5858006400.00
- 5858006400.00
- 5858006400.00
- 5858006400.00
- 5858006400.00
- 5858006400.00
- 5858006400.00
- 7472563200.00
- 7472563200.00
- 7472563200.00
- 7472563200.00
- 7472563200.00
- 7472563200.00
- 7472563200.00
- 7472563200.00
- 7472563200.00
- 7472563200.00
- 8090496000.00
- 8090496000.00
- 8090496000.00
- 8090496000.00
- 8090496000.00
- 8090496000.00
- 8090496000.00
- 8090496000.00
- 8090496000.00
- 8090496000.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10112774400.00
- 10943856000.00
- 10943856000.00
- 10943856000.00
- 10943856000.00
- 10943856000.00
- 10943856000.00
- 10943856000.00
- 10943856000.00
- 10943856000.00
- 10943856000.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11325225600.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11375078400.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 12918787200.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 13042512000.00
- 14391561600.00
- 14391561600.00
- 14391561600.00
- 14391561600.00
- 14391561600.00
- 14391561600.00
- 14391561600.00
- 14391561600.00
- 14391561600.00
- 14391561600.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
- 16148160000.00
-])
+AT_CHECK([cat moyr.output], [0], [expout])
AT_CLEANUP
AT_SETUP([WKYR input format])
AT_KEYWORDS([data-in])
-date_in
-AT_CHECK([$PERL test-my-rand.pl])
-AT_CHECK([$PERL date-in.pl wkyr wWy])
-AT_CHECK([test -s wkyr.sps])
-AT_CHECK([test -s wkyr.in])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-date-input.py wkyr wWy])
+AT_FAIL_IF([test ! -s wkyr.sps || test ! -s wkyr.input || test ! -s expout])
AT_CHECK([pspp -O format=csv wkyr.sps])
-AT_CHECK([cat wkyr.out], [0], [dnl
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 3083011200.00
- 3083011200.00
- 3083011200.00
- 3083011200.00
- 3083011200.00
- 3083011200.00
- 3083011200.00
- 3083011200.00
- 3083011200.00
- 3083011200.00
- 4221417600.00
- 4221417600.00
- 4221417600.00
- 4221417600.00
- 4221417600.00
- 4221417600.00
- 4221417600.00
- 4221417600.00
- 4221417600.00
- 4221417600.00
- 5859388800.00
- 5859388800.00
- 5859388800.00
- 5859388800.00
- 5859388800.00
- 5859388800.00
- 5859388800.00
- 5859388800.00
- 5859388800.00
- 5859388800.00
- 7472390400.00
- 7472390400.00
- 7472390400.00
- 7472390400.00
- 7472390400.00
- 7472390400.00
- 7472390400.00
- 7472390400.00
- 7472390400.00
- 7472390400.00
- 8092656000.00
- 8092656000.00
- 8092656000.00
- 8092656000.00
- 8092656000.00
- 8092656000.00
- 8092656000.00
- 8092656000.00
- 8092656000.00
- 8092656000.00
- 10114070400.00
- 10114070400.00
- 10114070400.00
- 10114070400.00
- 10114070400.00
- 10114070400.00
- 10114070400.00
- 10114070400.00
- 10114070400.00
- 10114070400.00
- 10945497600.00
- 10945497600.00
- 10945497600.00
- 10945497600.00
- 10945497600.00
- 10945497600.00
- 10945497600.00
- 10945497600.00
- 10945497600.00
- 10945497600.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11327212800.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11376374400.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 11390889600.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 12919651200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 13044067200.00
- 14391907200.00
- 14391907200.00
- 14391907200.00
- 14391907200.00
- 14391907200.00
- 14391907200.00
- 14391907200.00
- 14391907200.00
- 14391907200.00
- 14391907200.00
- 16149456000.00
- 16149456000.00
- 16149456000.00
- 16149456000.00
- 16149456000.00
- 16149456000.00
- 16149456000.00
- 16149456000.00
- 16149456000.00
- 16149456000.00
-])
+AT_CHECK([cat wkyr.output], [0], [expout])
AT_CLEANUP
AT_SETUP([DATETIME input format])
-AT_KEYWORDS([data-in])
-date_in
-AT_CHECK([$PERL test-my-rand.pl])
-AT_CHECK([$PERL date-in.pl datetime "d-m-y +H:M" "d-m-y +H:M:S"])
-AT_CHECK([test -s datetime.sps])
-AT_CHECK([test -s datetime.in])
+AT_KEYWORDS([data-in slow])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-date-input.py datetime "d-m-y +H:M" "d-m-y +H:M:S"])
+AT_FAIL_IF([test ! -s datetime.sps || test ! -s datetime.input || \
+ test ! -s expout])
AT_CHECK([pspp -O format=csv datetime.sps])
-AT_CHECK([cat datetime.out], [0], [dnl
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 3083512200.00
- 3083512200.00
- 3083547000.00
- 3083547000.00
- 3083547000.00
- 3083512200.00
- 3083547000.00
- 3083547000.00
- 3083512200.00
- 3083512200.00
- 4221545340.00
- 4221635460.00
- 4221545340.00
- 4221545340.00
- 4221635460.00
- 4221635460.00
- 4221545340.00
- 4221635460.00
- 4221545340.00
- 4221635460.00
- 5859607620.00
- 5859607620.00
- 5859515580.00
- 5859515580.00
- 5859607620.00
- 5859607620.00
- 5859607620.00
- 5859607620.00
- 5859515580.00
- 5859607620.00
- 7472644440.00
- 7472654760.00
- 7472654760.00
- 7472654760.00
- 7472654760.00
- 7472654760.00
- 7472654760.00
- 7472654760.00
- 7472644440.00
- 7472654760.00
- 8092817880.00
- 8092666920.00
- 8092817880.00
- 8092666920.00
- 8092817880.00
- 8092817880.00
- 8092666920.00
- 8092817880.00
- 8092666920.00
- 8092817880.00
- 10114302240.00
- 10114356960.00
- 10114302240.00
- 10114302240.00
- 10114302240.00
- 10114356960.00
- 10114302240.00
- 10114302240.00
- 10114302240.00
- 10114356960.00
- 10945873020.00
- 10945986180.00
- 10945986180.00
- 10945986180.00
- 10945873020.00
- 10945986180.00
- 10945986180.00
- 10945873020.00
- 10945986180.00
- 10945873020.00
- 11327628900.00
- 11327660700.00
- 11327660700.00
- 11327660700.00
- 11327660700.00
- 11327628900.00
- 11327628900.00
- 11327660700.00
- 11327660700.00
- 11327660700.00
- 11376658140.00
- 11376609060.00
- 11376658140.00
- 11376658140.00
- 11376609060.00
- 11376658140.00
- 11376609060.00
- 11376658140.00
- 11376658140.00
- 11376658140.00
- 11391418620.00
- 11391418620.00
- 11391397380.00
- 11391397380.00
- 11391418620.00
- 11391418620.00
- 11391397380.00
- 11391418620.00
- 11391418620.00
- 11391418620.00
- 12920229900.00
- 12920229900.00
- 12920229900.00
- 12920229900.00
- 12920229900.00
- 12920109300.00
- 12920229900.00
- 12920109300.00
- 12920229900.00
- 12920229900.00
- 13044508200.00
- 13044663000.00
- 13044508200.00
- 13044663000.00
- 13044508200.00
- 13044508200.00
- 13044663000.00
- 13044663000.00
- 13044663000.00
- 13044663000.00
- 11327660700.00
- 11327628900.00
- 11327628900.00
- 11327660700.00
- 11327628900.00
- 11327628900.00
- 11327628900.00
- 11327628900.00
- 11327628900.00
- 11327628900.00
- 11376609060.00
- 11376658140.00
- 11376658140.00
- 11376609060.00
- 11376658140.00
- 11376609060.00
- 11376658140.00
- 11376609060.00
- 11376658140.00
- 11376658140.00
- 11391397380.00
- 11391397380.00
- 11391418620.00
- 11391397380.00
- 11391418620.00
- 11391418620.00
- 11391418620.00
- 11391418620.00
- 11391418620.00
- 11391397380.00
- 12920229900.00
- 12920229900.00
- 12920229900.00
- 12920229900.00
- 12920229900.00
- 12920229900.00
- 12920109300.00
- 12920229900.00
- 12920229900.00
- 12920229900.00
- 13044508200.00
- 13044663000.00
- 13044508200.00
- 13044508200.00
- 13044508200.00
- 13044663000.00
- 13044663000.00
- 13044663000.00
- 13044508200.00
- 13044508200.00
- 14392420200.00
- 14392258200.00
- 14392420200.00
- 14392420200.00
- 14392420200.00
- 14392420200.00
- 14392258200.00
- 14392420200.00
- 14392420200.00
- 14392420200.00
- 16149635760.00
- 16149635760.00
- 16149635760.00
- 16149635760.00
- 16149635760.00
- 16149635760.00
- 16149635760.00
- 16149635760.00
- 16149621840.00
- 16149635760.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 2071958400.00
- 3083512162.00
- 3083512162.00
- 3083512162.00
- 3083547038.00
- 3083512162.00
- 3083512162.00
- 3083547038.00
- 3083512162.00
- 3083547038.00
- 3083547038.00
- 4221635495.00
- 4221545305.00
- 4221635495.00
- 4221635495.00
- 4221635495.00
- 4221545305.00
- 4221635495.00
- 4221635495.00
- 4221635495.00
- 4221635495.00
- 5859607673.00
- 5859515527.00
- 5859607673.00
- 5859607673.00
- 5859607673.00
- 5859607673.00
- 5859515527.00
- 5859607673.00
- 5859607673.00
- 5859607673.00
- 7472654760.00
- 7472644440.00
- 7472654760.00
- 7472654760.00
- 7472654760.00
- 7472644440.00
- 7472654760.00
- 7472654760.00
- 7472644440.00
- 7472654760.00
- 8092817891.00
- 8092817891.00
- 8092666909.00
- 8092817891.00
- 8092817891.00
- 8092817891.00
- 8092817891.00
- 8092817891.00
- 8092817891.00
- 8092817891.00
- 10114302235.00
- 10114302235.00
- 10114302235.00
- 10114356965.00
- 10114356965.00
- 10114356965.00
- 10114356965.00
- 10114356965.00
- 10114356965.00
- 10114302235.00
- 10945986229.00
- 10945986229.00
- 10945872971.00
- 10945872971.00
- 10945986229.00
- 10945986229.00
- 10945872971.00
- 10945986229.00
- 10945986229.00
- 10945986229.00
- 11327660709.00
- 11327660709.00
- 11327660709.00
- 11327660709.00
- 11327660709.00
- 11327660709.00
- 11327660709.00
- 11327660709.00
- 11327660709.00
- 11327660709.00
- 11376658167.00
- 11376658167.00
- 11376658167.00
- 11376658167.00
- 11376658167.00
- 11376658167.00
- 11376658167.00
- 11376658167.00
- 11376658167.00
- 11376658167.00
- 11391397328.00
- 11391418672.00
- 11391418672.00
- 11391418672.00
- 11391397328.00
- 11391418672.00
- 11391397328.00
- 11391418672.00
- 11391418672.00
- 11391418672.00
- 12920229944.00
- 12920229944.00
- 12920109256.00
- 12920229944.00
- 12920229944.00
- 12920109256.00
- 12920109256.00
- 12920109256.00
- 12920229944.00
- 12920109256.00
- 13044663057.00
- 13044663057.00
- 13044663057.00
- 13044508143.00
- 13044663057.00
- 13044663057.00
- 13044663057.00
- 13044508143.00
- 13044663057.00
- 13044663057.00
- 11327628891.00
- 11327628891.00
- 11327660709.00
- 11327660709.00
- 11327660709.00
- 11327628891.00
- 11327628891.00
- 11327660709.00
- 11327660709.00
- 11327628891.00
- 11376658167.00
- 11376658167.00
- 11376658167.00
- 11376658167.00
- 11376658167.00
- 11376609033.00
- 11376658167.00
- 11376609033.00
- 11376658167.00
- 11376658167.00
- 11391418672.00
- 11391397328.00
- 11391418672.00
- 11391397328.00
- 11391397328.00
- 11391397328.00
- 11391397328.00
- 11391397328.00
- 11391397328.00
- 11391397328.00
- 12920229944.00
- 12920229944.00
- 12920229944.00
- 12920109256.00
- 12920229944.00
- 12920229944.00
- 12920229944.00
- 12920229944.00
- 12920229944.00
- 12920229944.00
- 13044663057.00
- 13044663057.00
- 13044663057.00
- 13044663057.00
- 13044508143.00
- 13044663057.00
- 13044508143.00
- 13044508143.00
- 13044663057.00
- 13044663057.00
- 14392258196.00
- 14392420204.00
- 14392420204.00
- 14392420204.00
- 14392258196.00
- 14392420204.00
- 14392420204.00
- 14392258196.00
- 14392420204.00
- 14392420204.00
- 16149635811.00
- 16149635811.00
- 16149635811.00
- 16149635811.00
- 16149635811.00
- 16149621789.00
- 16149621789.00
- 16149621789.00
- 16149635811.00
- 16149635811.00
-])
+AT_CHECK([cat datetime.output], [0], [expout])
+AT_CLEANUP
+
+AT_SETUP([YMDHMS input format])
+AT_KEYWORDS([data-in slow])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-date-input.py ymdhms "y-m-d +H:M" "y-m-d +H:M:S"])
+AT_FAIL_IF([test ! -s ymdhms.sps || test ! -s ymdhms.input || \
+ test ! -s expout])
+AT_CHECK([pspp -O format=csv ymdhms.sps])
+AT_CHECK([cat ymdhms.output], [0], [expout])
+AT_CLEANUP
+
+AT_SETUP([MTIME input format])
+AT_KEYWORDS([data-in])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-time-input.py mtime +M:S])
+AT_FAIL_IF([test ! -s mtime.sps || test ! -s mtime.input || test ! -s expout])
+AT_CHECK([pspp -O format=csv mtime.sps])
+AT_CHECK([cat mtime.output], [0], [expout])
AT_CLEANUP
AT_SETUP([TIME input format])
AT_KEYWORDS([data-in])
-time_in
-AT_CHECK([$PERL test-my-rand.pl])
-AT_CHECK([$PERL time-in.pl 0 time +H:M +H:M:S])
-AT_CHECK([test -s time.sps])
-AT_CHECK([test -s time.data])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-time-input.py time +H:M +H:M:S])
+AT_FAIL_IF([test ! -s time.sps || test ! -s time.input || test ! -s expout])
AT_CHECK([pspp -O format=csv time.sps])
-AT_CHECK([cat time.out], [0], [dnl
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- -103800.00
- 103800.00
- 103800.00
- -103800.00
- 103800.00
- -103800.00
- 103800.00
- 103800.00
- -103800.00
- 103800.00
- 477060.00
- 477060.00
- 477060.00
- 477060.00
- -477060.00
- 477060.00
- 477060.00
- 477060.00
- 477060.00
- -477060.00
- 46020.00
- -46020.00
- -46020.00
- -46020.00
- 46020.00
- 46020.00
- -46020.00
- 46020.00
- 46020.00
- -46020.00
- 264360.00
- 264360.00
- -264360.00
- -264360.00
- 264360.00
- -264360.00
- 264360.00
- -264360.00
- -264360.00
- -264360.00
- 161880.00
- 161880.00
- 161880.00
- 161880.00
- 161880.00
- -161880.00
- 161880.00
- 161880.00
- 161880.00
- -161880.00
- 1064160.00
- 1064160.00
- 1064160.00
- 1064160.00
- 1064160.00
- 1064160.00
- -1064160.00
- 1064160.00
- 1064160.00
- 1064160.00
- -4549380.00
- 4549380.00
- 4549380.00
- 4549380.00
- 4549380.00
- 4549380.00
- 4549380.00
- -4549380.00
- 4549380.00
- 4549380.00
- 620700.00
- -620700.00
- 620700.00
- 620700.00
- -620700.00
- 620700.00
- -620700.00
- -620700.00
- 620700.00
- 620700.00
- 24540.00
- -24540.00
- 24540.00
- 24540.00
- 24540.00
- 24540.00
- 24540.00
- 24540.00
- 24540.00
- 24540.00
- -1738620.00
- 1738620.00
- 1738620.00
- 1738620.00
- 1738620.00
- 1738620.00
- 1738620.00
- 1738620.00
- 1738620.00
- 1738620.00
- 48012300.00
- -48012300.00
- -48012300.00
- 48012300.00
- 48012300.00
- 48012300.00
- 48012300.00
- 48012300.00
- 48012300.00
- 48012300.00
- 10445400.00
- -10445400.00
- -10445400.00
- 10445400.00
- 10445400.00
- 10445400.00
- -10445400.00
- 10445400.00
- 10445400.00
- -10445400.00
- 15900.00
- 15900.00
- -15900.00
- 15900.00
- -15900.00
- -15900.00
- 15900.00
- 15900.00
- 15900.00
- 15900.00
- 283740.00
- -283740.00
- 283740.00
- 283740.00
- 283740.00
- -283740.00
- 283740.00
- 283740.00
- -283740.00
- 283740.00
- 442620.00
- 442620.00
- 442620.00
- 442620.00
- 442620.00
- 442620.00
- 442620.00
- 442620.00
- 442620.00
- -442620.00
- 60300.00
- 60300.00
- 60300.00
- 60300.00
- 60300.00
- -60300.00
- -60300.00
- 60300.00
- -60300.00
- -60300.00
- 163800.00
- -163800.00
- -163800.00
- -163800.00
- 163800.00
- 163800.00
- 163800.00
- 163800.00
- -163800.00
- 163800.00
- 945000.00
- -945000.00
- -945000.00
- -945000.00
- 945000.00
- 945000.00
- 945000.00
- -945000.00
- 945000.00
- 945000.00
- -1907760.00
- 1907760.00
- -1907760.00
- 1907760.00
- -1907760.00
- 1907760.00
- 1907760.00
- 1907760.00
- 1907760.00
- -1907760.00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- 103839.00
- 103838.68
- -103838.70
- -103838.68
- 103838.70
- 103838.68
- -103839.00
- 103838.68
- 103838.70
- -103839.00
- 477095.82
- 477096.00
- 477096.00
- 477095.82
- 477095.82
- 477095.82
- 477095.80
- -477095.80
- 477095.82
- -477095.82
- -46073.00
- -46073.40
- 46073.00
- 46073.40
- 46073.40
- 46073.00
- -46073.00
- 46073.00
- 46073.00
- 46073.00
- 264360.69
- -264360.70
- 264361.00
- 264360.70
- 264360.69
- 264360.70
- 264361.00
- 264360.70
- -264361.00
- 264361.00
- 161891.00
- -161891.20
- -161891.00
- 161891.00
- -161891.00
- 161891.20
- -161891.20
- -161891.20
- 161891.20
- -161891.19
- -1064166.00
- 1064165.98
- -1064166.00
- -1064166.00
- -1064165.98
- 1064166.00
- 1064166.00
- -1064166.00
- -1064165.98
- 1064166.00
- 4549429.00
- 4549429.27
- 4549429.27
- -4549429.30
- 4549429.00
- -4549429.00
- 4549429.00
- 4549429.27
- 4549429.00
- 4549429.30
- 620709.00
- -620709.24
- 620709.24
- 620709.24
- 620709.24
- 620709.20
- -620709.24
- 620709.20
- 620709.24
- 620709.24
- 24567.90
- 24567.89
- 24567.90
- 24568.00
- 24567.90
- 24568.00
- 24568.00
- -24567.90
- 24567.90
- 24568.00
- 1738672.56
- 1738673.00
- -1738672.60
- -1738672.56
- 1738673.00
- 1738673.00
- 1738673.00
- 1738672.60
- -1738672.56
- 1738672.60
- -48012344.10
- 48012344.12
- -48012344.10
- -48012344.00
- -48012344.00
- 48012344.00
- -48012344.00
- -48012344.00
- -48012344.00
- 48012344.00
- 10445457.27
- 10445457.00
- 10445457.30
- 10445457.00
- 10445457.27
- 10445457.00
- 10445457.27
- 10445457.00
- 10445457.00
- -10445457.30
- -15909.98
- 15910.00
- -15910.00
- 15910.00
- -15909.98
- 15910.00
- -15909.98
- 15909.98
- 15910.00
- 15909.98
- -283767.00
- 283767.20
- 283767.20
- 283767.00
- -283767.00
- 283767.00
- 283767.24
- 283767.00
- 283767.24
- 283767.00
- -442672.00
- 442672.13
- 442672.00
- 442672.13
- 442672.00
- 442672.00
- 442672.00
- 442672.00
- -442672.00
- 442672.13
- -60344.40
- -60344.00
- 60344.00
- 60344.35
- 60344.00
- 60344.40
- 60344.40
- -60344.00
- 60344.00
- 60344.40
- 163857.00
- 163857.00
- 163857.00
- 163857.00
- 163857.30
- -163857.30
- 163857.30
- -163857.00
- -163857.00
- 163857.30
- 945004.30
- 945004.00
- 945004.27
- 945004.30
- 945004.30
- 945004.00
- 945004.30
- 945004.00
- 945004.00
- 945004.00
- 1907811.00
- 1907811.00
- -1907811.00
- 1907811.18
- 1907811.20
- 1907811.00
- -1907811.00
- 1907811.18
- -1907811.00
- -1907811.00
-])
+AT_CHECK([cat time.output], [0], [expout])
AT_CLEANUP
AT_SETUP([DTIME input format])
AT_KEYWORDS([data-in])
-time_in
-AT_CHECK([$PERL test-my-rand.pl])
-AT_CHECK([$PERL time-in.pl 2000 dtime '+D H:M' '+D H:M:S'])
-AT_CHECK([test -s dtime.sps])
-AT_CHECK([test -s dtime.data])
+AT_CHECK([$PYTHON3 $top_srcdir/tests/data/test-time-input.py dtime '+D H:M' '+D H:M:S'])
+AT_FAIL_IF([test ! -s dtime.sps || test ! -s dtime.input || test ! -s expout])
AT_CHECK([pspp -O format=csv dtime.sps])
-AT_CHECK([cat dtime.out], [0], [dnl
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- 103800.00
- 103800.00
- -103800.00
- 103800.00
- 103800.00
- -103800.00
- 103800.00
- -103800.00
- 103800.00
- -103800.00
- 477060.00
- 477060.00
- 477060.00
- 477060.00
- 477060.00
- 477060.00
- -477060.00
- -477060.00
- -477060.00
- 477060.00
- 46020.00
- 46020.00
- 46020.00
- 46020.00
- -46020.00
- -46020.00
- -46020.00
- 46020.00
- 46020.00
- 46020.00
- 264360.00
- 264360.00
- -264360.00
- 264360.00
- 264360.00
- 264360.00
- 264360.00
- -264360.00
- -264360.00
- -264360.00
- -161880.00
- -161880.00
- 161880.00
- 161880.00
- 161880.00
- -161880.00
- 161880.00
- -161880.00
- 161880.00
- -161880.00
- 1064160.00
- 1064160.00
- 1064160.00
- 1064160.00
- 1064160.00
- 1064160.00
- -1064160.00
- 1064160.00
- 1064160.00
- 1064160.00
- -4549380.00
- 4549380.00
- -4549380.00
- -4549380.00
- -4549380.00
- 4549380.00
- 4549380.00
- 4549380.00
- 4549380.00
- 4549380.00
- -620700.00
- 620700.00
- 620700.00
- -620700.00
- 620700.00
- 620700.00
- 620700.00
- -620700.00
- 620700.00
- 620700.00
- -24540.00
- 24540.00
- 24540.00
- 24540.00
- -24540.00
- 24540.00
- 24540.00
- -24540.00
- 24540.00
- -24540.00
- 1738620.00
- 1738620.00
- 1738620.00
- -1738620.00
- -1738620.00
- -1738620.00
- 1738620.00
- 1738620.00
- 1738620.00
- 1738620.00
- 48012300.00
- 48012300.00
- 48012300.00
- 48012300.00
- 48012300.00
- -48012300.00
- -48012300.00
- 48012300.00
- -48012300.00
- -48012300.00
- -10445400.00
- 10445400.00
- -10445400.00
- 10445400.00
- 10445400.00
- 10445400.00
- 10445400.00
- 10445400.00
- 10445400.00
- 10445400.00
- 15900.00
- 15900.00
- 15900.00
- 15900.00
- 15900.00
- -15900.00
- 15900.00
- 15900.00
- 15900.00
- 15900.00
- -283740.00
- 283740.00
- -283740.00
- -283740.00
- 283740.00
- 283740.00
- 283740.00
- 283740.00
- 283740.00
- -283740.00
- 442620.00
- -442620.00
- -442620.00
- 442620.00
- 442620.00
- -442620.00
- -442620.00
- -442620.00
- 442620.00
- 442620.00
- 60300.00
- -60300.00
- 60300.00
- 60300.00
- 60300.00
- 60300.00
- 60300.00
- 60300.00
- 60300.00
- 60300.00
- 163800.00
- 163800.00
- -163800.00
- 163800.00
- -163800.00
- -163800.00
- -163800.00
- 163800.00
- 163800.00
- -163800.00
- 945000.00
- 945000.00
- 945000.00
- 945000.00
- -945000.00
- 945000.00
- 945000.00
- 945000.00
- 945000.00
- -945000.00
- -1907760.00
- 1907760.00
- 1907760.00
- 1907760.00
- -1907760.00
- -1907760.00
- -1907760.00
- 1907760.00
- -1907760.00
- -1907760.00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- .00
- 103838.70
- 103838.70
- 103839.00
- 103838.68
- 103838.70
- 103839.00
- 103838.70
- -103839.00
- 103839.00
- 103839.00
- 477095.80
- 477095.80
- -477095.80
- 477095.82
- 477095.82
- 477095.82
- -477095.82
- 477095.82
- 477096.00
- -477096.00
- -46073.00
- 46073.00
- -46073.00
- 46073.41
- 46073.00
- 46073.40
- 46073.00
- 46073.41
- 46073.41
- -46073.00
- 264360.70
- 264360.70
- 264360.69
- 264361.00
- -264360.70
- 264360.69
- -264360.70
- 264360.69
- -264361.00
- 264360.69
- 161891.00
- -161891.20
- -161891.19
- 161891.19
- 161891.00
- 161891.20
- 161891.20
- 161891.00
- 161891.00
- 161891.20
- -1064165.98
- 1064166.00
- 1064166.00
- 1064166.00
- 1064165.98
- 1064166.00
- 1064166.00
- -1064165.98
- 1064165.98
- -1064166.00
- 4549429.27
- 4549429.27
- 4549429.27
- 4549429.27
- 4549429.00
- 4549429.27
- -4549429.27
- 4549429.00
- 4549429.27
- 4549429.27
- -620709.00
- 620709.20
- 620709.00
- -620709.20
- -620709.24
- -620709.00
- 620709.00
- 620709.24
- -620709.24
- 620709.00
- -24567.89
- 24567.90
- 24568.00
- 24567.89
- 24568.00
- 24568.00
- 24567.90
- -24568.00
- -24567.89
- -24568.00
- 1738672.56
- -1738672.56
- 1738672.56
- -1738672.60
- -1738673.00
- 1738672.56
- 1738673.00
- -1738672.60
- 1738672.60
- 1738672.56
- 48012344.00
- -48012344.12
- -48012344.00
- 48012344.12
- -48012344.12
- -48012344.00
- 48012344.12
- -48012344.00
- -48012344.00
- -48012344.00
- -10445457.00
- 10445457.00
- 10445457.00
- 10445457.00
- -10445457.00
- -10445457.00
- 10445457.00
- 10445457.00
- 10445457.00
- -10445457.30
- -15909.98
- 15910.00
- -15909.98
- 15910.00
- 15910.00
- -15910.00
- -15910.00
- -15910.00
- -15910.00
- 15909.98
- -283767.24
- 283767.20
- 283767.24
- 283767.24
- 283767.00
- 283767.20
- 283767.20
- 283767.24
- -283767.00
- 283767.24
- 442672.13
- -442672.13
- 442672.00
- 442672.13
- 442672.10
- 442672.00
- 442672.00
- -442672.10
- 442672.00
- -442672.10
- -60344.35
- 60344.00
- 60344.00
- -60344.00
- 60344.00
- 60344.35
- 60344.00
- 60344.35
- 60344.00
- 60344.00
- -163857.00
- -163857.00
- 163857.32
- 163857.00
- -163857.30
- -163857.00
- 163857.30
- 163857.00
- 163857.00
- -163857.00
- -945004.00
- -945004.30
- 945004.27
- 945004.27
- -945004.27
- -945004.27
- -945004.00
- -945004.27
- -945004.00
- 945004.30
- 1907811.00
- 1907811.00
- 1907811.00
- 1907811.00
- 1907811.20
- 1907811.18
- 1907811.18
- 1907811.18
- 1907811.18
- 1907811.00
-])
+AT_CHECK([cat dtime.output], [0], [expout])
AT_CLEANUP
+m4_divert_push([PREPARE_TESTS])
+[number_lines_in_hex () {
+ $PYTHON3 -c '
+import sys
+for i, line in enumerate(sys.stdin):
+ sys.stdout.write(" %04X %s" % (i, line))
+'
+}]
+m4_divert_pop([PREPARE_TESTS])
+
+
AT_SETUP([binary and hexadecimal input (IB, PIB, and PIBHEX formats)])
-AT_CHECK([$PERL -e 'print pack "n", $_ foreach 0...65535' > binhex-in.data])
+AT_KEYWORDS([slow])
+AT_CHECK([$PYTHON3 -c '
+import struct
+import sys
+for i in range(65536):
+ sys.stdout.buffer.write(struct.pack(">H", i))' > binhex-in.data])
AT_CHECK([[wc -c < binhex-in.data | sed 's/[ ]//g']], [0], [131072
])
AT_DATA([binhex-in.sps], [dnl
EXECUTE.
])
AT_CHECK([gzip -cd < $top_srcdir/tests/data/binhex-in.expected.cmp.gz | \
- $PERL -pe "printf ' %04X ', $.-1" > expout])
+ number_lines_in_hex > expout])
AT_CHECK([pspp -O format=csv binhex-in.sps], [0])
AT_CHECK([cat binhex-in.out], [0], [expout])
AT_CLEANUP
AT_SETUP([BCD input (P and PK formats)])
-AT_CHECK([$PERL -e 'print pack "n", $_ foreach 0...65535' > bcd-in.data])
+AT_KEYWORDS([slow])
+AT_CHECK([$PYTHON3 -c '
+import struct
+import sys
+for i in range(65536):
+ sys.stdout.buffer.write(struct.pack(">H", i))' > bcd-in.data])
AT_CHECK([[wc -c < bcd-in.data | sed 's/[ ]//g']], [0], [131072
])
AT_DATA([bcd-in.sps], [dnl
EXECUTE.
])
AT_CHECK([gzip -cd < $top_srcdir/tests/data/bcd-in.expected.cmp.gz | \
- $PERL -pe "printf ' %04X ', $.-1" > expout])
+ number_lines_in_hex > expout])
AT_CHECK([pspp -O format=csv bcd-in.sps])
AT_CHECK([cat bcd-in.out], [0], [expout])
AT_CLEANUP
AT_SETUP([legacy input (N and Z formats)])
-AT_CHECK([$PERL -e 'print pack "n", $_ foreach 0...65535' > legacy-in.data])
+AT_KEYWORDS([slow])
+AT_CHECK([$PYTHON3 -c '
+import struct
+import sys
+for i in range(65536):
+ sys.stdout.buffer.write(struct.pack(">H", i))' > legacy-in.data])
AT_CHECK([[wc -c < legacy-in.data | sed 's/[ ]//g']], [0], [131072
])
AT_DATA([legacy-in.sps], [dnl
EXECUTE.
])
AT_CHECK([gzip -cd < $top_srcdir/tests/data/legacy-in.expected.cmp.gz | \
- $PERL -pe "printf ' %04X ', $.-1" > expout])
+ number_lines_in_hex > expout])
AT_CHECK([pspp -O format=csv legacy-in.sps])
AT_CHECK([cat legacy-in.out], [0], [expout])
AT_CLEANUP