From f468fd805a962dc75e27b1564c0053e2e992ddbc Mon Sep 17 00:00:00 2001
From: Daniel Dunbar
The lit test runner looks at each file that is passed to it and - gathers any lines together that match "RUN:". These are the "RUN" lines that - specify how the test is to be run. So, each test script must contain RUN lines - if it is to do anything. If there are no RUN lines, lit function will - issue an error and the test will fail.
+The llvm-runtests function looks at each file that is passed to + it and gathers any lines together that match "RUN:". These are the "RUN" lines + that specify how the test is to be run. So, each test script must contain + RUN lines if it is to do anything. If there are no RUN lines, the + llvm-runtests function will issue an error and the test will + fail.
RUN lines are specified in the comments of the test program using the keyword RUN followed by a colon, and lastly the command (pipeline) to execute. Together, these lines form the "script" that - lit executes to run the test case. The syntax of the RUN lines is - similar to a shell's syntax for pipelines including I/O redirection and - variable substitution. However, even though these lines may look like - a shell script, they are not. RUN lines are interpreted directly by the - Tcl exec command. They are never executed by a shell. Consequently - the syntax differs from normal shell script syntax in a few ways. You can - specify as many RUN lines as needed.
+ llvm-runtests executes to run the test case. The syntax of the + RUN lines is similar to a shell's syntax for pipelines including I/O + redirection and variable substitution. However, even though these lines + may look like a shell script, they are not. RUN lines are interpreted + directly by the Tcl exec command. They are never executed by a + shell. Consequently the syntax differs from normal shell script syntax in a + few ways. You can specify as many RUN lines as needed.lit performs substitution on each RUN line to replace LLVM tool names with the full paths to the executable built for each tool (in @@ -812,6 +813,13 @@ define two separate CHECK lines that match on the same line. +
To make the output more useful, the llvm_runtest function wil + scan the lines of the test case for ones that contain a pattern that matches + PR[0-9]+. This is the syntax for specifying a PR (Problem Report) number that + is related to the test case. The number after "PR" specifies the LLVM bugzilla + number. When a PR number is specified, it will be used in the pass/fail + reporting. This is useful to quickly get some context when a test fails.
+Finally, any line that contains "END." will cause the special interpretation of lines to terminate. This is generally done right after the last RUN: line. This has two side effects: (a) it prevents special -- cgit v1.2.3-70-g09d2