<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Mar 6, 2019, at 9:43 AM, Zachary Turner <<a href="mailto:zturner@google.com" class="">zturner@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 4, 2019 at 10:32 AM Zachary Turner <<a href="mailto:zturner@google.com" class="">zturner@google.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 2, 2019 at 2:56 PM Adrian Prantl <<a href="mailto:aprantl@apple.com" target="_blank" class="">aprantl@apple.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""></div></div></blockquote></div></div><div dir="ltr" class=""><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><ul class=""><li class="">It becomes testable as an independent component, because you can just send requests to it and dump the results and see if they make sense.  Currently there is almost zero test coverage of this aspect of LLDB apart from what you can get after going through many levels of indirection via spinning up a full debug session and doing things that indirectly result in symbol queries.</li></ul></div></div></div></blockquote></div></div><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class=""><div class="">You are right that the type system debug info ingestion and AST reconstruction is primarily tested end-to-end.</div></div></div></blockquote></div></div><div dir="ltr" class=""><div class="gmail_quote"><div class="">Do you consider this something worth addressing by testing the debug info ingestion in isolation?</div></div></div></blockquote><div class=""><br class=""></div><div class=""> Wanted to bump this thread for visibility.  If nothing else, I'm interested in an answer to this question.  Because if people agree that it would be valuable to test this going forward, we should work out a plan about what such tests would look like and how to refactor the code appropriately to make it possible.</div></div></div>
</div></blockquote></div><br class=""><div class="">I think it would help me a lot to have a better idea what level of abstraction you are imagining. Could perhaps come up with a mock-up example with some mad-up syntax / API for what such a test could look like? More testing is always desirable, of course, but I'm afraid that we might end up in a situation like we are with yaml2obj, where we can only test really trivial things nicely and all the interesting cases aren't representable at all.</div><div class=""><br class=""></div><div class="">-- adrian</div></body></html>