From: Simon Marlow Date: Tue, 23 Jan 2007 12:38:43 +0000 (+0000) Subject: Add -stdout-binary and -stderr-binary flags to bypass dos2unix X-Git-Tag: 2007-02-05~38 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=fe117c584717a2d7a8a7756ab0695a5f3748f078 Add -stdout-binary and -stderr-binary flags to bypass dos2unix Apparently some versions of dos2unix can detect a binary file and ignore it, but others can't, so provide a way to tell runstdtest that the output is in binary. --- diff --git a/utils/runstdtest/runstdtest.prl b/utils/runstdtest/runstdtest.prl index 0a9bd98..7dc9744 100644 --- a/utils/runstdtest/runstdtest.prl +++ b/utils/runstdtest/runstdtest.prl @@ -43,6 +43,8 @@ $Verbose = 0; $SaveStderr = 0; $SaveStdout = 0; +$StdoutBinary = 0; +$StderrBinary = 0; $Status = 0; @PgmArgs = (); $PgmFail=0; @@ -91,6 +93,9 @@ arg: while ($_ = $ARGV[0]) { /^-accept-output-stdout$/ && do { $SaveStdout = 1; next arg; }; /^-accept-output$/ && do { $SaveStdout = 1; $SaveStderr = 1; next arg; }; + /^-stdout-binary/ && do { $StdoutBinary=1; next arg; }; + /^-stdout-binary/ && do { $StderrBinary=1; next arg; }; + /^-O(.*)/ && do { push(@PgmArgs, &grab_arg_arg('-O',$1)); next arg; }; /^-i(.*)/ && do { $PgmStdinFile = &grab_arg_arg('-i',$1); $Status++, @@ -208,8 +213,16 @@ cat /dev/null > $DefaultStderrFile $PreScriptLines $SpixifyLine1 $TimeCmd /bin/sh -c \'$CachegrindPrefix $ToRun $TimingMagic @PgmArgs < $PgmStdinFile 1> $TmpPrefix/runtest$$.1.raw 2> $TmpPrefix/runtest$$.2.raw 3> $TmpPrefix/runtest$$.3.raw\' -dos2unix < $TmpPrefix/runtest$$.1.raw > $TmpPrefix/runtest$$.1 -dos2unix < $TmpPrefix/runtest$$.2.raw > $TmpPrefix/runtest$$.2 +if [ "$StdoutBinary" = "0" ]; then + dos2unix < $TmpPrefix/runtest$$.1.raw > $TmpPrefix/runtest$$.1 +else + cp $TmpPrefix/runtest$$.1.raw $TmpPrefix/runtest$$.1 +fi +if [ "$StderrBinary" = "0" ]; then + dos2unix < $TmpPrefix/runtest$$.2.raw > $TmpPrefix/runtest$$.2 +else + cp $TmpPrefix/runtest$$.2.raw $TmpPrefix/runtest$$.2 +fi dos2unix < $TmpPrefix/runtest$$.3.raw > $TmpPrefix/runtest$$.3 progexit=\$? if [ \$progexit -eq 0 ] && [ $PgmFail -ne 0 ]; then