[LLVMbugs] [Bug 1123] NEW: Convert DejaGNU Tests To Use Tcl Fully

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Fri Jan 19 10:56:46 PST 2007


http://llvm.org/bugs/show_bug.cgi?id=1123

           Summary: Convert DejaGNU Tests To Use Tcl Fully
           Product: Test Suite
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DejaGNU
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: rspencer at x10sys.com


Currently, the RUN: lines in the llvm/test suite depend on Unix utilities. This
makes them not portable to other systems and also makes them slower than they
might be. If the RUN: lines were interpreted by Tcl instead of a Unix shell, it
would be portable and faster (fewer processes created). 

Tcl is able to emulate grep which is the main tool used in the scripts. It is
also extensible so we could create a library of Tcl functions for executing
things like "not grep" or "notcast" or "prcontext", etc. Piping of data could
also be handled by Tcl.  Tcl is also flexible on its syntax so it might be
possible to come up with Tcl definitions that allow it to interpret the 
the shell syntax. If not, the RUN: lines would need to be translated to Tcl.

A phased approach is suggested to implement this:

1. Scan the RUN: lines in use and find out what Unix type things need to be
   supported in Tcl.

2. Implement the things needed from the list in #1 in llvm/test/lib as Tcl 
   function definitions (e.g. notcast).

3. Implement the "TestRunner.sh" functionality in Tcl so that it can interpret
   the RUN:, XFAIL: and other lines in a script.

4. Write documentation on how to use the Tcl-based testing facilities and
   encourage developers to write new test cases using it.

5. Convert test cases one by one to use the new Tcl facilities.

6. When all old syntax test cases are fixed to use the new syntax, remove the
   support scripts and etc.

This approach allows the feature to be implemented incrementally by keeping both
systems alive until the conversion is completed.



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the llvm-bugs mailing list