On Thu, 16 Nov 2006, Tanya M. Lattner wrote:>> We could just make the testsuite detect that all the targets weren't >> built, and refuse to run the tests... > > No. I don't think thats a good solution. There are many other tests that > should be run. I just need to fix that bug so we only run tests for the > specific target we are on.The issue is that we have many tests that work in cross compile mode. For example, test/Regression/CodeGen/PowerPC/vec_spat.ll contains: ; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | grep vspltw | wc -l | grep 2 && ; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g3 | grep stfs | wc -l | grep 4 && ; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | grep vsplti | wc -l | grep 3 && ; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | grep vsplth | wc -l | grep 1 We want this test to run on all hosts, regardless of whether or not they are PPC or even have altivec. We could make the test system know that this specific test requires the PPC target to be built and disable it, but that would result in incomplete testing. Bugs *are* found due to cross builds like this, I think it's important to keep these tests. Besides, marking all the dependencies the test has seems like a lot of work, there are lots of tests like this. -Chris -- http://nondot.org/sabre/ http://llvm.org/
>> No. I don't think thats a good solution. There are many other tests that >> should be run. I just need to fix that bug so we only run tests for the >> specific target we are on. > > The issue is that we have many tests that work in cross compile mode. For > example, test/Regression/CodeGen/PowerPC/vec_spat.ll contains: > > ; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | grep vspltw | wc -l | grep 2 && > ; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g3 | grep stfs | wc -l | grep 4 && > ; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | grep vsplti | wc -l | grep 3 && > ; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | grep vsplth | wc -l | grep 1 > > We want this test to run on all hosts, regardless of whether or not they > are PPC or even have altivec. > > We could make the test system know that this specific test requires the > PPC target to be built and disable it, but that would result in incomplete > testing. > > Bugs *are* found due to cross builds like this, I think it's important to > keep these tests. Besides, marking all the dependencies the test has > seems like a lot of work, there are lots of tests like this.Alright. Well disabling ALL tests it not a good solution either. Perhaps its better to disable just CodeGen tests if you don't build all targets OR just have it run the one specific target you are on if you only built for it. -Tanya
On Thu, 16 Nov 2006, Tanya M. Lattner wrote:> Alright. Well disabling ALL tests it not a good solution either. Perhaps > its better to disable just CodeGen tests if you don't build all targets OR > just have it run the one specific target you are on if you only built for > it.If someone says 'make check' and hasn't built all targets, I propose just having it run tests and then, at the end, print " *** NOT ALL TARGETS BUILT, YOUR TEST RESULTS PROBABLY HAVE MANY FAILURES" of something. That is all :) -Chris -- http://nondot.org/sabre/ http://llvm.org/