dblaikie added inline comments.

================
Comment at: clang/test/Interpreter/clangtests.cpp:1
+// RUN: clang-repl %S/../Lexer/badstring_in_if0.c -Xcc -E -Xcc -verify
+// RUN: clang-repl %S/../Lexer/unknown-char.c -Xcc -E -Xcc -verify
----------------
v.g.vassilev wrote:
> dblaikie wrote:
> > dblaikie wrote:
> > > v.g.vassilev wrote:
> > > > @rsmith, would it be acceptable to have a test that refers other tests 
> > > > from the repo in that manner?
> > > Generally that's not done - and the inputs should be moved into an 
> > > "Inputs" subdirectory and shared from there. Tests that are in different 
> > > subdirectories - not sure if there's a good way to share those, maybe 
> > > with an "Inputs" directory in a parent directory of both tests? We might 
> > > not have precednt for that
> > But more broadly, could you explain what the goal of these tests are? 
> > Generally I would discourage what I think of as "shotgun" testing - taking 
> > some existing comprehensive test for a particular feature and using it to 
> > test a mostly orthogonal feature. The orthogonal feature should have more 
> > targeted tests/it shouldn't be using such broad testing in the regression 
> > suite here.
> My take is that `clang-repl` is basically clang that takes inputs 
> incrementally. Being that, means that we should be in a position to process 
> whatever clang processes and thus we run against all of the existing tests. 
> We planned to add the ones which we did not support as regression tests.
> 
> We can add more targeted tests but they would be copies or simplifications of 
> already existing ones. Hence there is my hesitation - reuse or duplication...
> 
> My take is that clang-repl is basically clang that takes inputs 
> incrementally. Being that, means that we should be in a position to process 
> whatever clang processes and thus we run against all of the existing tests.

Yeah, that's sort of the "proof by absurdity" - we wouldn't want every clang 
test running in both ahead of time and incremental mode in the usual 
"check-clang" regression suite (I wouldn't mind having a separate mode for 
testing - more of an integration test that some buildbots or those working on 
more comprehensive clang-repl support could run, but most people/especially 
fast bots would not). So then the question for me is which tests should we have 
running all the time in "check-clang" - and my general answer is: Situations 
that have motivated code changes/support in clang-repl: If no code was 
added/changed/etc to clang-repl, then no test should be added to "check-clang" 
for that test case.

If that "run everything under check-clang run under clang-repl to find missing 
functionality" found some clang test that didn't work with clang-repl, yeah, 
I'd generally be in favour of not reusing an input or duplicating in its 
entirety - but reducing the test case to test only the specific clang-repl 
functionality issue, and testing that in particular.

Like we shouldn't test every feature of static-assert with clang-repl and clang 
in every "clang-check" if most of those features aren't distinctly interesting 
in both cases. Just enough in clang-repl to test what makes static-assert 
interesting in clang-repl.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D125946/new/

https://reviews.llvm.org/D125946

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to