#! /usr/bin/env perl
#testreq: personal
##**************************************************************
##
## Copyright (C) 1990-2007, Condor Team, Computer Sciences Department,
## University of Wisconsin-Madison, WI.
## 
## Licensed under the Apache License, Version 2.0 (the "License"); you
## may not use this file except in compliance with the License.  You may
## obtain a copy of the License at
## 
##    http://www.apache.org/licenses/LICENSE-2.0
## 
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
##**************************************************************

use CondorTest;
use File::Copy;
use File::Path;
use Digest::SHA;
use Check::SimpleJob;

$cmd = 'lib_chirpio_van.cmd';
$testdesc =  'chirp io tests - vanilla U';
$testname = "lib_chirpio_van";


$ExitSuccess = sub {
	my %info = @_;

	# Pull out requested environment values
	my $environ   = $info{"environment"};
};


my $rows = 4;
my $rowsz = 1024;
my $start_char = "a";
my $row = "";

open(DATA,">job_chirp_io.txtdata") || die "Can't open output file $!\n";
# make test data
MakeChirpIoData("Testing message");

my $proxy = '
	want_io_proxy = true
';

SimpleJob::RunCheck(
    runthis=>"lib_chirpio.exe",
    on_success=>$ExitSuccess,
	output=>"chirpio.out",
	error=>"chirpio.err",
	append_submit_commands=>$proxy,
	should_transfer_files=>" YES",
	when_to_transfer_output=>"ON_EXIT_OR_EVICT",
);

CondorTest::EndTest();
print scalar localtime() . "\n";
my $result = 0;

if( $result != 0 )
{
    exit(1);
}

CondorTest::debug("$testname SUCCESS\n",1);
exit(0);


sub MakeChirpIoData {
	my $message = shift;

	die "Need message defined\n" unless defined $message;

	my $rowchar = $seed_char++;


	fill_row("a");
	add_row();
	$row = "";

	fill_row("b");
	add_row();
	$row = "";

	fill_row("c");
	add_row();
	$row = "";

	fill_row("d");
	add_row();
	$row = "";

	print DATA "$message";

	close(DATA);

	open(SHA256,">job_chirp_io.txtdatasha256") || die "Can't open SHA256 output file $!\n";
	my $datasha256 = Digest::SHA->new(256);

	$datasha256->addfile("job_chirp_io.txtdata");


	my $hexsha256 = $datasha256->hexdigest;

	print SHA256 "$hexsha256\n";
	close(SHA256);
}

sub fill_row 
{
	my $char = shift @_;
	foreach (1..$rowsz)
	{
		$row .=  $char;
	}
}

sub add_row
{
	print DATA "$row";
}


