X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fdata-io%2Fprint.at;h=c589c02da57bfa2b60b134d013eb9ad014e40e10;hb=b9fef27879f4ed4c19a612fe0f1dc2abaa623832;hp=f1fae5de67503050b3e1100e7ad939982a062c0f;hpb=43bbe3ba14482dce65459f02e18e16ff718afd44;p=pspp-builds.git diff --git a/tests/language/data-io/print.at b/tests/language/data-io/print.at index f1fae5de..c589c02d 100644 --- a/tests/language/data-io/print.at +++ b/tests/language/data-io/print.at @@ -223,3 +223,53 @@ AT_CHECK([cat write.out], [0], [dnl ]) AT_CLEANUP + +AT_SETUP([PRINT overwrites file]) +AT_DATA([output.txt], [abcdef +]) +AT_DATA([print.sps], [dnl +DATA LIST NOTABLE/x 1. +BEGIN DATA. +5 +END DATA. +PRINT OUTFILE='output.txt'/x. +EXECUTE. +]) +AT_CHECK([pspp -O format=csv print.sps]) +AT_CHECK([cat output.txt], [0], [ 5 @&t@ +]) +AT_CLEANUP + +AT_SETUP([PRINT overwrites file atomically]) +AT_DATA([output.txt], [abcdef +]) +AT_DATA([print.sps], +[[DATA LIST NOTABLE/x 1. +BEGIN DATA. +5 +END DATA. +PRINT OUTFILE='output.txt'/x. +HOST COMMAND=['kill -TERM $PPID']. +]]) +AT_CHECK([pspp -O format=csv print.sps], [143], [], [ignore]) +AT_CHECK([cat output.txt], [0], [abcdef +]) +AT_CHECK( + [for file in *.tmp*; do if test -e $file; then echo $file; exit 1; fi; done]) +AT_CLEANUP + +AT_SETUP([PRINT to same file being read]) +AT_DATA([data.txt], [5 +]) +AT_DATA([print.sps], [dnl +DATA LIST FILE='data.txt' NOTABLE/x 1. +COMPUTE y = x + 1. +PRINT OUTFILE='data.txt'/y. +EXECUTE. +]) +AT_CHECK([pspp -O format=csv print.sps]) +AT_CHECK([cat data.txt], [0], [ 6.00 @&t@ +]) +AT_CHECK( + [for file in *.tmp*; do if test -e $file; then echo $file; exit 1; fi; done]) +AT_CLEANUP