TestRunner.sh reporting inconsistent results

I applied Kovarththanan Rajaratnam's patch to the Preprocessor so that -dumptokens emitted proper column numbers, and his provided test case passes when TestRunner.sh is run on it directly:

(kremenek@tedbook:Preprocessor)$ ../TestRunner.sh dumptokens_phyloc.c
(kremenek@tedbook:Preprocessor)$

When I do 'make test', it reports a failure:

(kremenek@tedbook:clang)$ make -j2 test
--- Running clang tests ---
..............................................
---- CodeGen/long-double-x86.c failed ----
............................................................................
---- Preprocessor/dumptokens_phyloc.c failed ----
............................................................................................................................................................................................................................................................................................................................................................

The long-double-x86.c failure is another story (I just started seeing that one).

Any thoughts? Why is 'make test' reporting a failure here when TestRunner.sh does not? Incidentally, the test dumptokens_phyloc.c does the following:

  clang -dumptokens dumptokens_phyloc.c 2>&1 | grep "PhysLoc=[_.a-zA-Z]*:3:20"

I echoed the exit status:

  clang -dumptokens dumptokens_phyloc.c 2>&1 | grep "PhysLoc=[_.a-zA-Z]*:3:20" ; echo $?

and got 0.

I think I've fixed the dumptokens_phyloc.c test. The regex didn't catch the directory /.
The long-double-x86.c test failure is weird, as the sizeof() value is ok. This is probably related with the new I-C-E.

Nuno

Ah, nevermind. The problem in long-double-x86.c is with sizeof(). It's returning 16, while the test expected 12.
Nuno

Thanks Nuno! I'm not certain why TestRunner.sh didn't report a failure when it ran the test outside of 'make test', but I'm glad that the test passes now.