src/HOL/SMT/lib/scripts/remote_smt.pl
author boehmes
Mon, 21 Sep 2009 08:34:56 +0200
changeset 32619 02f45a09a9f2
parent 32618 42865636d006
child 32622 8ed38c7bd21a
permissions -rwxr-xr-x
tuned author

#!/usr/bin/env perl -w
#
# Script to invoke remote SMT solvers.
# Author: Sascha Boehme, TU Muenchen
#

use strict;
use LWP;


# environment

my $remote_smt_url = $ENV{"REMOTE_SMT_URL"};


# arguments

my $solver = $ARGV[0];
my @options = @ARGV[1 .. ($#ARGV - 2)];
my $problem_file = $ARGV[-2];
my $output_file = $ARGV[-1];


# call solver

my $agent = LWP::UserAgent->new;
$agent->agent("SMT-Request");
$agent->timeout(180);
my $response = $agent->post($remote_smt_url, [
  "Solver" => $solver,
  "Options" => join(" ", @options),
  "Problem" => [$problem_file] ],
  "Content_Type" => "form-data");
if (not $response->is_success) {
  print "HTTP-Error: " . $response->message . "\n";
  exit 1;
}
else {
  open(FILE, ">$output_file");
  print FILE $response->content;
  close(FILE);
}