#!/usr/bin/env perl
use warnings;

$#ARGV==0 or die "Usage: $0 tests.in\n";

open IN, "<$ARGV[0]" or die "Can't open $ARGV[0]\n";

open STDOUT, ">tests.at";
while(<IN>)
{
    chomp;
    if (/^### (.*)/)
    {
        print "AT_SETUP([[$1]])\n";
        $vars="";
    }
    elsif (/^\$\$\$ (.*)/)
    {
        $vars.=$1." ";
    }
    elsif (/^<<</)
    {
        print "AT_DATA([testin], [";
    }
    elsif (/^>>>/)
    {
        print "])\nAT_DATA([expout], [";
    }
    elsif (/^===/)
    {
        print "])\nAT_CHECK([${vars}runtest.sh],,[expout])\nAT_CLEANUP\n";
    }
    elsif (/^;;;/)
    {
    }
    else
    {
        print "$_\n";
    }
}
