2 # This file is part of the LibreOffice project.
4 # This Source Code Form is subject to the terms of the Mozilla Public
5 # License, v. 2.0. If a copy of the MPL was not distributed with this
6 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 # This file incorporates work covered by the following license notice:
10 # Licensed to the Apache Software Foundation (ASF) under one or more
11 # contributor license agreements. See the NOTICE file distributed
12 # with this work for additional information regarding copyright
13 # ownership. The ASF licenses this file to you under the Apache
14 # License, Version 2.0 (the "License"); you may not use this file
15 # except in compliance with the License. You may obtain a copy of
16 # the License at http://www.apache.org/licenses/LICENSE-2.0 .
27 or die "Usage: $0 <input file> <temp file> <new?> <command> <arguments...>";
28 open INPUT
, '<', $ARGV[0] or die "cannot open $ARGV[0]: $!";
38 $in = <INPUT
> unless $eof;
40 || $in =~ /^EXPECT (SUCCESS|FAILURE|NEW-FAILURE|OLD-FAILURE) "([^"]*)"?:\n$/)
47 for ($i = 0; $i != scalar(@ARGV); ++$i)
49 $prog .= ' ' unless $i == 0;
50 if ($assigns && $ARGV[$i] =~ /^([A-Za-z_][A-Za-z0-9_]+)=(.*)$/)
52 $prog .= $1 . "='" . encode
($2) . "'";
56 if ($ARGV[$i] =~ /^{}$/)
58 $prog .= "'" . encode
($temp) . "'";
62 $prog .= "'" . encode
($ARGV[$i]) . "'";
72 $ok = ($?
== 0) == ($expect eq "SUCCESS");
79 print "\"$title\" expected $expect, got $exit ($?): ";
92 $expect = ($new ?
'FAILURE' : 'SUCCESS') if $expect eq 'NEW-FAILURE';
93 $expect = ($new ?
'SUCCESS' : 'FAILURE') if $expect eq 'OLD-FAILURE';
95 open OUTPUT
, '>', $temp or die "cannot open $temp: $!";
100 print OUTPUT
$in or die "cannot write to $temp: $!";