<div dir="ltr"><div>Given that the debuginfo tests already have cross-project dependencies, I figured I'd try adapting them instead. I've updated <a href="https://reviews.llvm.org/D95339">https://reviews.llvm.org/D95339</a> accordingly. Ideally, I think making the existing debug-info tests a subdirectory, and renaming the top-level directory, might be a good idea, but I haven't really come to any conclusions about that yet.</div><div><br></div><div>I also found that several of the existing debuginfo-test tests fail for me. Are these tests expected to work on Windows? If so, are there any slightly more unusual prerequisites that I might be missing?</div><div><br></div><div>What do people think?</div><div><br></div><div>James<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 27 Jan 2021 at 15:40, <<a href="mailto:paul.robinson@sony.com">paul.robinson@sony.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
> -----Original Message-----<br>
> From: llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>> On Behalf Of David Greene<br>
> via llvm-dev<br>
> Sent: Wednesday, January 27, 2021 10:29 AM<br>
> To: <a href="mailto:jh7370.2008@my.bristol.ac.uk" target="_blank">jh7370.2008@my.bristol.ac.uk</a>; llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
> Subject: Re: [llvm-dev] [RFC] Cross-project lit test suite<br>
> <br>
> James Henderson via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> writes:<br>
> <br>
> > Currently, there is no location where lit tests that use both clang and<br>
> LLD<br>
> > can be put, whilst the llvm-symbolizer cases I’ve hit are testing<br>
> > llvm-symbolizer (and not LLD), so don’t really fit in the LLD test<br>
> suite. I<br>
> > therefore have prototyped a lit test suite that would be part of the<br>
> > monorepo, and which can support tests that use elements from multiple<br>
> > projects - see<br>
> <a href="https://urldefense.com/v3/__https://reviews.llvm.org/D95339__;!!JmoZiZGBv3" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://reviews.llvm.org/D95339__;!!JmoZiZGBv3</a><br>
> RvKRSx!vWidWrbKJid6-eIKVUT-dGDzcG-65TMZMzhyd33jgyBwi7p-JRSgFVZkxqKCvkqW4A$<br>
> . Tests could be added to<br>
> > this suite as needed. The suite is modelled as an additional top-level<br>
> > directory, and is enabled by enabling the “cross-project-tests” project<br>
> in<br>
> > CMake.<br>
> <br>
> This is fantastic!<br>
> <br>
> > Back in October 2019, there was an extensive discussion on end-to-end<br>
> > testing and how to write them (starting from<br>
> > <a href="https://urldefense.com/v3/__https://lists.llvm.org/pipermail/cfe-" rel="noreferrer" target="_blank">https://urldefense.com/v3/__https://lists.llvm.org/pipermail/cfe-</a><br>
> dev/2019-October/063509.html__;!!JmoZiZGBv3RvKRSx!vWidWrbKJid6-eIKVUT-<br>
> dGDzcG-65TMZMzhyd33jgyBwi7p-JRSgFVZkxqJU8k_M_Q$ ).<br>
> > The suggestion was that these tests would be lit-based and run as part<br>
> > of check-all, and would not be inside the clang tree, although there<br>
> > was some opposition. This concluded with a round table. Unfortunately,<br>
> > I am unaware of what the conclusion of that round table conversation<br>
> > was, so it’s possible that what I am proposing is redundant/being<br>
> > worked on by someone else.<br>
> <br>
> I started that thread and IIRC we ended up with the suggestion that such<br>
> tests should live in test-suite.  As you noted having tests separated<br>
> from the monorepo is less than ideal.  I haven't done anything with this<br>
> conclusion yet, mostly due to lack of time.  If your proposal gains<br>
> traction I would like to see if we could build end-to-end testing on top<br>
> of it.<br>
> <br>
> > Additionally, I don’t consider all classes of tests that the proposed<br>
> > lit suite would be useful for to be “end-to-end” testing.<br>
> <br>
> Agreed.  There are various classes of tests that could make use of your<br>
> proposed layout, one of which is "end-to-end."  Your proposal doesn't<br>
> provide end-to-end testing per se, but it does make adding end-to-end<br>
> tests later on more straightforward.<br>
> <br>
>              -David<br>
<br>
I think a useful distinction here is that lit tests are generally very<br>
focused on a specific feature/function, where test-suite has a much<br>
broader scope.  Another slice at it would be that lit tests tend to be<br>
"regression" tests, while test-suite is more of an "integration" suite.<br>
<br>
I am not a QA person so I may be abusing some of these terms, but that's<br>
how I look at it.  Sometimes writing that focused lit test ends up<br>
depending on multiple tools, and the cross-project lit suite would be a<br>
good place to drop those; debuginfo-tests is a prime example.<br>
--paulr<br>
<br>
</blockquote></div>