[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