scale.test
Class TestGen

java.lang.Object
  extended by scale.test.TestGen

public class TestGen
extends java.lang.Object

This class generates makefiles to do regression testing.

$Id: TestGen.java,v 1.24 2007-10-04 19:58:40 burrill Exp $

Copyright 2008 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.

The following are the optional parameters for the program:

t
a list of tests to be performed/processed - see below.
m
Select one of
make
generate a makefile
gather
generate a script to gather the log files
check
generate a script for checking the log files
cmd
specify the makefile rule to use
npfa
specify to not use pure function annotations

Tests

Each test is specified as a triple in the form n/optimization/benchmark. See below for the lists of allowed optimizations and benchmarks. n is the alias analysis level and must be 1, 2, 3.1, 3.2, 3.4, 3.8, 4, 5, 6.1, 6.2, 6.4, or 6.8. If any part of the triple is missing or is '*', all possibilities are selected. If no item is specified, all 600 tests are selected.

Allowed Optimizations

Allowed Benchmarks

anagram applu apsi bc
bisort compress95 fpppp ft
gcc go health hydro2d
impulse jpeg ks m88ksim
mgrid mst perimeter perl
power su2cor swim tomcatv treeadd
tsp turb3d vortex wave5 xlisp
yacr2

Mode

When a test is performed, it generates a log file in the test directory. For example, the test 3/Scnruvd/bisort with the cmd parameter set to "diff" generates a log file whose pathname is
 $SCALE/$SCALERELEASE/$SCALEHOST/scale/test/tests/bisort/a3Scnruvd/diff.log
 
If the mode (-m) is set to gather, a script to collect the generated log files is generated instead of the makefile that runs the tests. If the mode is set to check, a script is generated that scans each log file and trys to determine if the test succeeded. If the -npfa switch is specified, the pathname for the log file is
 $SCALE/$SCALERELEASE/$SCALEHOST/scale/test/tests/bisort/a3Scnruvd_npfa/diff.log
 
and the generated makefile does not define the environment variable that specifies that annotations are to be used.

All three modes are not placed into one makefile file as the resultant makefile file could be quite large.


Field Summary
protected  java.lang.String[] AAL
           
protected  java.lang.String backend
           
protected  java.lang.String[] benchmarks
           
static int C
           
protected  CmdParam cmd
           
protected  java.lang.String command
           
protected  int commandCnt
           
protected  boolean[][][] cube
           
protected  boolean doLte
           
static int F77
           
static int JAVA
           
protected  CmdParam mode
           
protected  java.lang.String nativetag
           
protected  boolean noPFA
           
protected  java.lang.String[] opts
           
protected  CmdParam[] params
           
protected  boolean[][] plane
           
protected  CmdParam rc
           
protected  java.lang.String type
           
protected  boolean[] vect
           
protected  CmdParam what
           
 
Constructor Summary
TestGen()
           
 
Method Summary
static void main(java.lang.String[] args)
           
protected  void parseCmdLine(java.lang.String[] args, CmdParam[] params)
          Process the command line parameters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mode

protected CmdParam mode

cmd

protected CmdParam cmd

rc

protected CmdParam rc

what

protected CmdParam what

params

protected CmdParam[] params

C

public static final int C
See Also:
Constant Field Values

F77

public static final int F77
See Also:
Constant Field Values

JAVA

public static final int JAVA
See Also:
Constant Field Values

cube

protected boolean[][][] cube

plane

protected boolean[][] plane

vect

protected boolean[] vect

command

protected java.lang.String command

type

protected java.lang.String type

commandCnt

protected int commandCnt

benchmarks

protected java.lang.String[] benchmarks

AAL

protected java.lang.String[] AAL

opts

protected java.lang.String[] opts

backend

protected java.lang.String backend

nativetag

protected java.lang.String nativetag

doLte

protected boolean doLte

noPFA

protected boolean noPFA
Constructor Detail

TestGen

public TestGen()
Method Detail

main

public static void main(java.lang.String[] args)

parseCmdLine

protected void parseCmdLine(java.lang.String[] args,
                            CmdParam[] params)
Process the command line parameters.

Parameters:
args - the array of command line parameters
params - an array of allowed command line parameters