On Sat, Feb 18, 2017 at 10:37:36PM +0000, Ramsay Jones wrote: > > > On 18/02/17 20:30, Luc Van Oostenryck wrote: > > The existing test is an indirect test, using a warning > > about context imbalance to show that some part of code > > was discarded. > > > > Now that we have the minimal tools to test the output of > > test-linearize, use them to replace the test by a direct one. > > Hmm, it may be a more direct test, but it is not clear > just what is being tested (or indeed how it is being tested). > > > After applying this patch, I edited validation/c99-for-loop.c > like so: > > $ git diff > diff --git a/validation/c99-for-loop.c b/validation/c99-for-loop.c > index 427fde2..6b24fa8 100644 > --- a/validation/c99-for-loop.c > +++ b/validation/c99-for-loop.c > @@ -2,8 +2,9 @@ int c99(void); > int c99(void) > { > int r = -1; > + int i; > > - for (int i = 0; i < 10; i++) { > + for (i = 0; i < 10; i++) { > r = i; > } > > $ > > This modified test still passes (indeed the output is identical). > :-P > > ATB, > Ramsay Jones Which is wonderful because it's exactly what it should be. In fact I would love to be able to do this: show that two versions of a program/function give exactly the same output, but the testsuite can't do that (yet). Now, you're right that It's may be not very clear what is being tested. I may make more sense once you replace it in the context of the patch it replace and the associated fix: - 0e91f878 ("validation: Check C99 for loop variables") - ed73fd32 ("linearize: Emit C99 declarations correctly") If you try the test case on the tree with the patch ed73fd32 reverted, you will see that the two versions doesn't give anymore the same result: The C89 version (your) version will still give the right output but the C99 version (the one of the test case) will essentialy gives an empty output (the code used to ignore the C99-style declaration and patch ed73fd32 fixed that). Be careful also to the fact that this test case depends on testsuite features only present on sparse-next, not on the master tree. Luc Van Oostenryck -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html