Commit Graph

54 Commits

Author SHA1 Message Date
Gabor Greif
900b81cc22 While hunting for two hanging tests,
(on solaris10, which are:
  CodeGen/PowerPC/frounds.ll
  Transforms/InstCombine/2008-02-23-MulSub.ll)

I needed a tool to figure out which one is the guilty.

To this end I have added a verbosity
option to the test/Makefile.

It can be invoked thus:

gmake check TESTSUITE=CodeGen/PowerPC VERBOSE="-v -v"

(The number of "-v"s specifies the verbosity level.
 Instead of "-v" other aliases can be specified,
 please consult the dejagnu docs for info.)

At level >= 2 following line is logged for each
test, before running it:

ABOUT TO RUN: <test>.ll

llvm-svn: 47602
2008-02-26 12:08:55 +00:00
Tanya Lattner
c33660d278 Fix bug in regression tests that ignored stderr output in RUN lines. Updated tests and fixed broken run lines.
XFAILed 3 arm regressions (will file bugs)

llvm-svn: 44389
2007-11-28 04:57:00 +00:00
Tanya Lattner
6dbbd7c6ce Implement the XTARGET feature for PR1778
This will mark a test as PASS for all targets specified. It will override whatever is in XFAIL.

llvm-svn: 43788
2007-11-06 22:32:17 +00:00
Gordon Henriksen
29fe360b5a Adding ocaml language bindings for the vmcore and bitwriter libraries. These are
built atop the C language bindings, and user programs can link with them as 
such:

  # Bytecode
  ocamlc -cc g++ llvm.cma llvmbitwriter.cma -o example example.ml
  # Native
  ocamlopt -cc g++ llvm.cmxa llvmbitwriter.cmxa -o example.opt example.ml

The vmcore.ml test exercises most/all of the APIs thus far bound. Unfortunately,
they're not yet numerous enough to write hello world. But:

  $ cat example.ml
  (* example.ml *)
  
  open Llvm
  open Llvm_bitwriter
  
  let _ =
    let filename = Sys.argv.(1) in
    let m = create_module filename in
    
    let v = make_int_constant i32_type 42 false in
    let g = define_global "hello_world" v m in
    
    if not (write_bitcode_file m filename) then exit 1;
    
    dispose_module m;

  $ ocamlc -cc g++ llvm.cma llvm_bitwriter.cma -o example example.ml
  File "example.ml", line 11, characters 6-7:
  Warning Y: unused variable g.
  $ ./example example.bc
  $ llvm-dis < example.bc
  ; ModuleID = '<stdin>'
  @hello_world = global i32 42            ; <i32*> [#uses=0]

The ocaml test cases provide effective tests for the C interfaces.

llvm-svn: 42093
2007-09-18 12:49:39 +00:00
Duncan Sands
5a29993695 The Ada f-e produces various auxiliary output files
that cannot be suppressed and cannot be redirected:
they are dumped in the current working directory.
When running the testsuite this means that these
files do not end up in the Output directory.  The
best solution I could find is to change directory
into Output before running tests.

llvm-svn: 40437
2007-07-23 15:23:35 +00:00
Duncan Sands
6684ec18cd Fix typo.
llvm-svn: 37224
2007-05-18 12:13:34 +00:00
Reid Spencer
78ba39377a Dan is right, using "string first" would produce false positives. So,
devolve the check to a comparison against each component in the string.
Fortunately there isn't many of them.

llvm-svn: 36376
2007-04-23 21:21:53 +00:00
Reid Spencer
3c32917e0d Fix the comparison of language names to accept any characters by using
"string first" instead of "regexp match". This helps C++ tests get executed.

llvm-svn: 36339
2007-04-22 14:14:11 +00:00
Reid Spencer
49926e54a0 Replace llvm_gcc_supports_ada and llvm_gcc_supports_objc with just a single
llvm_gcc_supports function that takes the language as an argument. Base that
function on the new LLVMGCC_LANGS configured variable so that we don't have
to execute feature checks during the test run.

llvm-svn: 36322
2007-04-21 21:45:51 +00:00
Reid Spencer
15fe42f410 llvm-dg.exp is dead, remove it.
llvm-svn: 36317
2007-04-21 20:48:14 +00:00
Reid Spencer
c97f1dd57c Add the llvm_supports_target function.
llvm-svn: 36314
2007-04-21 20:40:17 +00:00
Duncan Sands
1a1b798094 Test if the compiler supports Ada, and enable Ada tests if so. While I was
there, delete a temporary file the objc test forgot to delete.

llvm-svn: 36312
2007-04-21 20:20:47 +00:00
Reid Spencer
1d7c49097d Always print the same "PR" information in the same location (just after
the test name) in all cases (PASS, XPASS, FAIL, XFAIL). This makes the
output consistent and more amenable to parsing by nightly test.

llvm-svn: 36311
2007-04-21 18:53:12 +00:00
Reid Spencer
8297d9b097 Put failure information on a separate line. Hopefully this unbreaks the
nightly tester which expects the FAIL: line to only have the test name on
it.

llvm-svn: 36310
2007-04-21 18:46:52 +00:00
Devang Patel
322584e3f6 Enable Objective-C tests.
llvm-svn: 36281
2007-04-20 21:24:01 +00:00
Duncan Sands
4acf9e6941 Spelling fix.
llvm-svn: 36165
2007-04-16 21:19:45 +00:00
Duncan Sands
091f8117a7 Change ne into !=.
llvm-svn: 36135
2007-04-16 15:37:00 +00:00
Reid Spencer
3d7ba2fb96 Two changes:
1. Don't bother truncating reading of the file. It doesn't save that much
   time and we should support putting RUN lines anywhere in the file. For
   example, someone might want to put the grep match before each function
   in the test file which would sprinkle the RUN: lines throughout the file.
2. Fix a bug with llvmgcc version match .. global var wasn't declared as such

llvm-svn: 36085
2007-04-15 20:43:36 +00:00
Reid Spencer
2d25f3f7b5 Some tests have really long RUN line sets. Read the first 4096 bytes instead
of 1024.

llvm-svn: 36083
2007-04-15 20:31:42 +00:00
Reid Spencer
9a91d444e0 Allow lines that have \ and end in \ to be recognized as ending in \
llvm-svn: 36074
2007-04-15 18:38:42 +00:00
Reid Spencer
be60a28130 Two improvements:
1. Only read the first 1024 bytes of the file. The RUN: lines should all be
   within that amount of space.  This keeps I/O costs down when reading
   very large files.
2. Print PR numbers with a PR prefix so it is clear what they are.

llvm-svn: 36071
2007-04-15 10:27:54 +00:00
Reid Spencer
28c91b6042 No, don't cancel all remaining tests, just the one that failed!
llvm-svn: 36057
2007-04-15 07:34:58 +00:00
Reid Spencer
4270a694ea Abandone the entire test case on the first error.
llvm-svn: 36056
2007-04-15 07:21:26 +00:00
Reid Spencer
b07b9426ef Allow replacement of %% with %
llvm-svn: 36044
2007-04-15 04:57:03 +00:00
Reid Spencer
cfa86314dd Changes to fix problems with "make check". Apparently you can redefine
functions and Tcl's just tickled with that. The fix is to give the "new"
test system a different interface function name.

llvm-svn: 36022
2007-04-14 22:51:29 +00:00
Reid Spencer
798486bc87 For PR1319:
More improvements:
1. Using ::errorInfo wasn't such a hot idea. Go back to just printing the
   offending line of code and the stderr output. This is sufficient and
   not entangled with Tcl goop.
2. Capture the problem report numbers and report them whether pass or fail.
   This helps quickly get some context when a test fails, if it has an
   associated PR number.

llvm-svn: 36010
2007-04-14 19:37:22 +00:00
Reid Spencer
991a7da9b9 1. Don't generate redundant copy of stderr
2. Only match \ at the *end* of a line.

llvm-svn: 36007
2007-04-14 18:51:19 +00:00
Reid Spencer
3eb6245e5f Print full errorInfo when a failure occurs.
llvm-svn: 35999
2007-04-14 17:36:20 +00:00
Reid Spencer
a4ac5f2f08 Add the line number where the script failed to the error output.
llvm-svn: 35994
2007-04-14 16:41:39 +00:00
Reid Spencer
90bdd23c2b Initial version of a re-write of llvm-runtest that doesn't write the
tests to a script file but executes each line individually and catches
errors on each line too.

llvm-svn: 35986
2007-04-14 09:39:28 +00:00
Reid Spencer
500fb924dd Make the shlibext and llvmlibsdir variables accessible.
llvm-svn: 35939
2007-04-12 02:49:30 +00:00
Reid Spencer
6650bbc30b Make new variables available: compile_c, compile_cxx, link to handle tests
that want to use LLVM's notion of compiling and linking programs. This
includes all the -I -L and optimization switches that LLVM would using to
compile or link any of this files.

llvm-svn: 35920
2007-04-11 20:57:39 +00:00
Reid Spencer
56b310ae49 Make the llvm-runtest function much more amenable by eliminating all the
global variables that needed to be passed in. This makes it possible to
add new global variables with only a couple changes (Makefile and llvm-dg.exp)
instead of touching every single dg.exp file.

llvm-svn: 35918
2007-04-11 19:56:59 +00:00
Reid Spencer
50f96f2a23 Update the way llvm2cpp tests are done:
1. Make sure bytecode/assembly inputs are always redirected stdin so that
   the module name is <stdin>. This helps not get false negatives when the
   diff is done.
2. Scan the test file to determine if llvm-upgrade needs to be run.
3. Avoid running testings that are XFAIL'd because they'll cause a failure
   when run for llvm2cpp.
4. Get some better error message output.

llvm-svn: 35914
2007-04-11 17:56:23 +00:00
Reid Spencer
b960d7e5d7 No, libLLVMbzip2 does not have a .a suffix.
llvm-svn: 28624
2006-06-01 07:23:32 +00:00
Reid Spencer
7e56903810 Fix gcc command line options after LLVMCore and LLVMbzip2 became archive
libraries.

llvm-svn: 28623
2006-06-01 07:19:28 +00:00
Reid Spencer
556edf9b9b 1. No need to thwart this test with an environment variable. Turning it off
is the default and handled by the makefile system and runtest
2. Redirect stderr of llvm-as and llvm2cpp so that warning messages about
   instrinsics don't cause Tcl to report the run as failed.

llvm-svn: 28576
2006-05-30 23:07:17 +00:00
Reid Spencer
181a0cc88d Fix a bug with diffing the wrong files. Make output more readable.
llvm-svn: 28542
2006-05-29 18:09:38 +00:00
Reid Spencer
97be29a3b4 Fix a problem where dejagnu won't accept the value of global tcl variable
"libdir" for some reason. Changing to llvmlibsdir instead fixes it.

llvm-svn: 28526
2006-05-28 07:22:42 +00:00
Reid Spencer
30094a399d Provide an infrastructure for testing the llvm2cpp program (yet to be
committed). This infrastructure is only activated when RUNLLVM2CPP=1 is
specified on the make command line. Currently it is only supported in the
Feature test suite.

llvm-svn: 28525
2006-05-28 04:21:40 +00:00
Reid Spencer
16022f0a6a Improve error output. Use the third parameter of the "catch" command to
capture the error output from the exec option. This generally will capture
the stderr messages generated by the tools. This information is then
printed if the test fails. This helps to recognize more quickly what the
error was. Otherwise, this information is lost.

llvm-svn: 28385
2006-05-18 19:42:16 +00:00
Tanya Lattner
9cd1518d42 Added the ability to xfail based on llvmgcc version
llvm-svn: 27635
2006-04-12 21:57:40 +00:00
Chris Lattner
3765a6b032 Automatically pass -emit-llvm to llvmgcc when using %llvmgcc
llvm-svn: 26623
2006-03-08 22:32:20 +00:00
Tanya Lattner
cfb870436f Adding timeout for a test.
llvm-svn: 18372
2004-11-30 06:29:45 +00:00
Tanya Lattner
5f863d1a47 Forgot to join srcdir and subdir for complete path for input files.
llvm-svn: 18022
2004-11-19 23:00:19 +00:00
Tanya Lattner
5c64da7c48 Adding srcdir arg. Added ability to specify the path to an input file. This is needed for when srcdir != objdir.
llvm-svn: 18021
2004-11-19 22:46:23 +00:00
Tanya Lattner
c5e8993eef setting path to prcontext.tcl script. Right now it searches for tclsh in your path, but this should be obtained from configure.
llvm-svn: 17720
2004-11-13 23:36:18 +00:00
Tanya Lattner
e8b778b39b Run prcontext.tcl with tclsh and let it be found in the path. This should be found by configure.
llvm-svn: 17713
2004-11-13 23:16:17 +00:00
Tanya Lattner
bfc27caaaa Changed to use tcl script.
llvm-svn: 17711
2004-11-13 22:55:51 +00:00
Tanya Lattner
dab12a1946 Now using path to python found by configure.
llvm-svn: 17610
2004-11-08 03:26:59 +00:00