1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 # Copyright 2008 by Sun Microsystems, Inc.
7 # OpenOffice.org - a multi-platform office productivity suite
9 # $RCSfile: exectest.pl,v $
13 # This file is part of OpenOffice.org.
15 # OpenOffice.org is free software: you can redistribute it and/or modify
16 # it under the terms of the GNU Lesser General Public License version 3
17 # only, as published by the Free Software Foundation.
19 # OpenOffice.org is distributed in the hope that it will be useful,
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 # GNU Lesser General Public License version 3 for more details
23 # (a copy is included in the LICENSE file that accompanied this code).
25 # You should have received a copy of the GNU Lesser General Public License
26 # version 3 along with OpenOffice.org. If not, see
27 # <http://www.openoffice.org/license.html>
28 # for a copy of the LGPLv3 License.
30 #*************************************************************************
33 or die "Usage: $0 <input file>|-SUCCESS|-FAILURE <command> <arguments...>";
34 if ($ARGV[0] eq "-SUCCESS")
39 elsif ($ARGV[0] eq "-FAILURE")
46 open INPUT
, $ARGV[0] or die "cannot open $ARGV[0]: $!";
53 $eof = $input ?
eof INPUT
: $open;
54 $in = <INPUT
> if $input && !$eof;
56 || $in =~ /^EXPECT (SUCCESS|FAILURE|\d+)( "([^"]*)")?:\n$/)
64 $ok = $expect eq "SUCCESS" ?
$exit == 0
65 : $expect eq "FAILURE" ?
$exit != 0 : $exit == $expect;
72 print "\"$title\", " if defined $title;
73 print "expected $expect, got $exit ($?): ";
85 $expect = $1 if $input;
94 open PIPE
, "| @ARGV" or die "cannot start process: $!";
97 elsif ($open && $input)
99 print PIPE
$in or die "cannot write to pipe: $!";