# eth test script
#
# This file is a test script for eth (etac Test Harness).  It
# conforms to the following grammar:
#
#   ScriptFile      ::= Commands+
#   Command         ::= build
#                     | CompilerTest
#   CompilerTest    ::= TestKind (\(TestName\))? ([TestPath])? ("CmdLineArgs")?
#                           { (FileTest;)* }
#   TestKind        ::= etac
#   TestName        ::= LitString
#   FileTest        ::= Filenames Description? FailureSet?
#   Filenames       ::= Filename+
#   Description     ::= LitString
#   FailureSet      ::= Failure (, Failure)*
#   Failure         ::= \( ErrorKind \)
#                     | \( ErrorKind, LitString \)
#
#   TestPath        :   the path to the test files, enclosed in quotes,
#                       relative to the path given in eth's -testpath flag.
#   CmdLineArgs     :   command-line arguments for etac
#   Filename        :   the name of a file, interpreted from TestPath.
#   LitString       :   a literal string, enclosed in quotes.
#   ErrorKind       :   one of, or a unique prefix of one of the following
#                       strings: "Lexical Error", "Syntax Error", or
#                       "Semantic Error".
#
# eth runs the commands in order of appearance.

# build compiler first
build

etac ("Test --help") "--help" {
    ;
}

etac ("Test --lex") "--lex" {
    ex1.eta;
    ex2.eta (Lexical, "empty character literal");
    spec1.eta;
    spec2.eta;
    spec3.eta;
    gcd.eta;
    ratadd.eta;
    ratadduse.eta;
    insertionsort.eta;
    arrayinit.eta;
    arrayinit2.eta;
    mdarrays.eta;
    add.eta;
    beauty.eta;
}
