Commit Graph

73 Commits

Author SHA1 Message Date
Anton Korobeynikov 90e17e787f The attached patches attempt to fix cross builds. For example, if you
try to use i686-darwin to build for arm-eabi, you'll quickly run into
several false assumptions that the target OS must be the same as the
host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to
help builds like "make check" and the test-suite able to cross
compile. Along the way a target of *-unknown-eabi is defined as
"Freestanding" so that TARGET_OS checks have something to work with.

Patch by Sandeep Patel!

llvm-svn: 79296
2009-08-18 00:40:33 +00:00
Nick Lewycky e68347bde5 In an XFAIL line, treat "XFAIL: foo*bar" as a regular expression to be matched
against the target triple, instead of equivalent to "XFAIL: *".

llvm-svn: 73219
2009-06-12 05:18:32 +00:00
Evan Cheng 15f1754eb4 Re-commit r67334 and r67349 with fix.
llvm-svn: 67451
2009-03-21 18:12:24 +00:00
Nick Lewycky 18ca80cdda Revert r67334 and r37349 which break "make check" on Linux.
llvm-svn: 67368
2009-03-20 07:56:31 +00:00
Evan Cheng 6d6647c7b3 Fix typo's.
llvm-svn: 67349
2009-03-20 00:14:09 +00:00
Evan Cheng 05799db963 More makefile changes to allow dejagnu tests to pass when system tools default to a different target from the llvm configuration (e.g. 64-bit gcc and 32-bit llvm).
llvm-svn: 67334
2009-03-19 20:27:23 +00:00
Mikhail Glushenkov 6a64f907c6 Trailing whitespace.
llvm-svn: 66268
2009-03-06 12:21:40 +00:00
Devang Patel dd5dbca59c Run dsymutil on darwin, when it is expected, before running gdb test.
llvm-svn: 63548
2009-02-02 21:09:36 +00:00
Torok Edwin 016fa4cd0d Fix make check on Solaris 10/x86: the default grep is not GNU grep, same for as.
llvm-svn: 57912
2008-10-21 17:21:32 +00:00
Nuno Lopes 9a04782fda add support for running the test suite with valgrind. to run it just type 'make VG=1', as in clang
beware of the 42000 leaks reported by valgrind in the Constant.cpp + Type.cpp files. it needs fixing IMHO

llvm-svn: 57245
2008-10-07 14:48:14 +00:00
Duncan Sands bae7a517cc Actually run Obj-C++ tests if llvm-gcc supports.
Before there were two problems: (1) configure
turned "obj-c++" into "obj" in the langs line;
(2) the dejagnu library called it objc++ not
obj-c++.
Now the problem is that some of these tests don't
pass!

llvm-svn: 57167
2008-10-06 10:31:21 +00:00
Duncan Sands d7911bfa44 Use correct compiler component names for objc
and objc++.

llvm-svn: 54474
2008-08-07 17:59:54 +00:00
Duncan Sands 0690fdbef2 Regression test for PR2443.
llvm-svn: 52826
2008-06-27 14:22:20 +00:00
Duncan Sands 2649ff8672 Turn off llvm-gcc warnings when running "make check".
llvm-svn: 52595
2008-06-21 20:22:58 +00:00
Matthijs Kooijman 0747a60377 Change llvm.exp so it no longer ignores some errors when executing dejagnu
tests. This breaks 80 tests in the tree.

The interesting part here is that this no longer ignores syntax errors
in RUN command lines. Some tests have not been working all the time because of
this.

The tricky part is that it now also views any stderr output as an error. This
can be suppressed in tcl 8.5, but let's not add this dependency. Instead, all
testcases should be changed to redirect stderr if they expect stderr output.
This holds in particular for lines like:
  ; RUN: not llvm-as < %s
where an error is expected (but I think I can solve this by modifying the not
script). Also, compilations resulting in warnings will now also fail (so
the warnings should be fixed, disabled or redirected...).

I'll continue with fixing the testcases that are broken now.

llvm-svn: 52172
2008-06-10 12:28:43 +00:00
Anton Korobeynikov 3aec21fa0e Fix tests due to llvm2cpp move to llc target
llvm-svn: 50191
2008-04-23 22:41:53 +00:00
Tanya Lattner 8bf97c2324 Byebye llvm-upgrade!
llvm-svn: 48762
2008-03-25 04:26:08 +00:00
Tanya Lattner c21cfe37ec Fix error in testing for END. notation.
Patch by Julien Lerouge. Thanks!

llvm-svn: 48342
2008-03-13 22:02:51 +00:00
Chris Lattner ca43433493 Fix PR2120 by changing the replacement order to change compile_cxx
before compile_c.  Patch by Joachim Durchholz!

llvm-svn: 48132
2008-03-10 06:45:35 +00:00
Gabor Greif d5691031f5 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 8f342f8ef3 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 5de0daf6b1 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 37582f74cd 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 b063fa59d3 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 76256a069c Fix typo.
llvm-svn: 37224
2007-05-18 12:13:34 +00:00
Reid Spencer 98f713141a 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 d1931feba5 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 4a82e5d7b7 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 a043ed1fc2 llvm-dg.exp is dead, remove it.
llvm-svn: 36317
2007-04-21 20:48:14 +00:00
Reid Spencer 9e56986407 Add the llvm_supports_target function.
llvm-svn: 36314
2007-04-21 20:40:17 +00:00
Duncan Sands 12347e05f6 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 e01dd63b87 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 c0d770b8a1 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 62cf9a592c Enable Objective-C tests.
llvm-svn: 36281
2007-04-20 21:24:01 +00:00
Duncan Sands 2e1ec4dee3 Spelling fix.
llvm-svn: 36165
2007-04-16 21:19:45 +00:00
Duncan Sands 389439c7c5 Change ne into !=.
llvm-svn: 36135
2007-04-16 15:37:00 +00:00
Reid Spencer 25cdea0579 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 d033c77ea3 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 3d18d852d2 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 4faa954403 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 72d6b398e7 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 9de817a471 Abandone the entire test case on the first error.
llvm-svn: 36056
2007-04-15 07:21:26 +00:00
Reid Spencer 9a2319b85e Allow replacement of %% with %
llvm-svn: 36044
2007-04-15 04:57:03 +00:00
Reid Spencer 3fc53d6c53 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 63338746dd 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 b7c5957e7c 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 6e0ffa8c43 Print full errorInfo when a failure occurs.
llvm-svn: 35999
2007-04-14 17:36:20 +00:00
Reid Spencer 89956dc90f 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 155171c566 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 09f5000873 Make the shlibext and llvmlibsdir variables accessible.
llvm-svn: 35939
2007-04-12 02:49:30 +00:00