X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fdata%2Fdata-in.at;h=72f1515ea2a6a15629693e92479cb5c53b04dd47;hb=b525a9596e60d5ae4c6c464b4a426b77ade3dd72;hp=a8526160498aab03304730b0cd922e6642a892a5;hpb=691a034d7f2139076fa012739dffd40ef5db4a9b;p=pspp diff --git a/tests/data/data-in.at b/tests/data/data-in.at index a852616049..72f1515ea2 100644 --- a/tests/data/data-in.at +++ b/tests/data/data-in.at @@ -1,23 +1,30 @@ dnl PSPP - a program for statistical analysis. dnl Copyright (C) 2017 Free Software Foundation, Inc. -dnl +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 . -dnl AT_BANNER([data input (data-in)]) +dnl +AT_BANNER([data input (data-in)]) + +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 -m4_divert_push([PREPARE_TESTS]) -[data_in_prng () { - cat > my-rand.pl <<'EOF' # 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 @@ -25,374 +32,85 @@ m4_divert_push([PREPARE_TESTS]) # 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. @@ -488,7 +206,7 @@ title 'Test use of big numbers'. 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]) @@ -496,2938 +214,128 @@ AT_CLEANUP 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 @@ -3442,13 +350,18 @@ PRINT OUTFILE='binhex-in.out'/x (PIBHEX4) ' ' ib pib pibhex. 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 @@ -3462,13 +375,18 @@ PRINT OUTFILE='bcd-in.out'/x (PIBHEX4) ' ' P PK. 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 @@ -3482,7 +400,7 @@ PRINT OUTFILE='legacy-in.out'/x (PIBHEX4) ' ' N Z. 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