$Verbose = 0;
$SaveStderr = 0;
$SaveStdout = 0;
+$StdoutBinary = 0;
+$StderrBinary = 0;
$Status = 0;
@PgmArgs = ();
$PgmFail=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++,
cat /dev/null > $DefaultStderrFile
$PreScriptLines
$SpixifyLine1
-echo $TimeCmd /bin/sh -c \'$CachegrindPrefix $ToRun $TimingMagic @PgmArgs < $PgmStdinFile | dos2unix 1> $TmpPrefix/runtest$$.1 2> $TmpPrefix/runtest$$.2 3> $TmpPrefix/runtest$$.3\'
-$TimeCmd /bin/sh -c \'$CachegrindPrefix $ToRun $TimingMagic @PgmArgs < $PgmStdinFile | dos2unix 1> $TmpPrefix/runtest$$.1 2> $TmpPrefix/runtest$$.2 3> $TmpPrefix/runtest$$.3\'
+$TimeCmd /bin/sh -c \'$CachegrindPrefix $ToRun $TimingMagic @PgmArgs < $PgmStdinFile 1> $TmpPrefix/runtest$$.1.raw 2> $TmpPrefix/runtest$$.2.raw 3> $TmpPrefix/runtest$$.3.raw\'
+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
echo $ToRun @PgmArgs \\< $PgmStdinFile
cp $TmpPrefix/runtest$$.2 $PgmStderrFile[0]
fi
-${RM} core $ToRunOrig.spix $DefaultStdoutFile $DefaultStderrFile $TmpPrefix/runtest$$.1 $TmpPrefix/runtest$$.2 $TmpPrefix/runtest$$.3
+${RM} core $ToRunOrig.spix $DefaultStdoutFile $DefaultStderrFile $TmpPrefix/runtest$$.1 $TmpPrefix/runtest$$.2 $TmpPrefix/runtest$$.3 $TmpPrefix/runtest$$.1.raw $TmpPrefix/runtest$$.2.raw $TmpPrefix/runtest$$.3.raw
exit \$myexit
EOSCRIPT
}
$BytesAlloc = $1 if /^\s*([0-9,]+) bytes allocated in the heap/;
- $GCWork += $1 if /^\s*([0-9,]+) bytes copied during GC/;
+
+ if (/^\s*([0-9,]+) bytes copied during GC/) {
+ $tmp = $1;
+ $tmp =~ s/,//g;
+ $GCWork += $tmp;
+ }
# if ( /^\s*([0-9,]+) bytes maximum residency .* (\d+) sample/ ) {
# $MaxResidency = $1; $ResidencySamples = $2;
# a bit of tidying
$BytesAlloc =~ s/,//g;
- $GCWork =~ s/,//g;
$MaxResidency =~ s/,//g;
$GCs =~ s/,//g;
$InitTime =~ s/,//g;