vsk added a comment.

>> Re: making the lit.site.cfg self-contained, IIUC the situation is that there 
>> are a couple places where we shell out via `subprocess`, but that you'd like 
>> to get rid of these? I wonder whether we could bundle up the necessary 
>> scripts along with lit.site.cfg instead.
>
> My remark was not so much about the need for another tool but rather the need 
> to configure it. Right now I can hand-write a `lit.site.cfg.py`, omit a bunch 
> of values, and point lit to it. With this tool I'd need to also configure it 
> (i.e. replacing `@LLVM_USE_SANITIZER@` and `@CMAKE_CXX_COMPILER@`.

Not sure I follow: why would introducing an lldb-env tool make it necessary for 
the top-level lit.site.cfg.py to be configured by the build (i.e. why would it 
preclude using a hand-written lit.site.cfg.py)?

Or: if you meant, the need to configure lldb-env is in and of itself an issue, 
not sure I follow that either. We rely on other configured files (e.g. the 
lit.site.cfg.py's) - is the issue that the configuration logic in 
lldb-dotest/CMakeLists.txt is especially hard to maintain?

> I wonder if there's any way to make `lldb-dotest` and this tool load the 
> `lit.site.cfg.py` and use the variables that we put in the config there.

I think it's possible. The lit.site.cfg.py we want should have a known location 
relative to the lldb executable, so an lldb-env tool could import it. Perhaps 
I'm underestimating the complexity (there are actually at least two possible 
locations, `$(dirname path/to/lldb)/{../tools/lldb/test, 
../test}/lit.site.cfg.py`).

>>> FWIW my plan was to deprecate `lldb-dotest` at some in favor of either 
>>> using `llvm-lit` directly or by wrapping it. I hate maintaining the code in 
>>> `lldb-dotest/CMakeLists.txt` because I always break the standalone build 
>>> when I forget to add a variable.
>>
>> My intention was to make sure we get an lldb-env everywhere we already 
>> expect a lldb-dotest. If that's not required, I'd be fine with moving the 
>> new tool elsewhere.
>
> I think that if we were to move this under `lldb/test` we might get that for 
> free if we use the same `@`-variable names as the `lit.site.cfg.py`. I think 
> that'd be a good idea regardless (and also most certainly a different patch).

I'm not sure what the suggestion is here exactly. Is it to move the lldb-env 
tool under TEST_EXEC_ROOT? That should work for what I'm trying to do -- from 
that location, lldb-env can look up all the build info it needs by importing 
the adjacent lit.site.cfg.py, without needing to be configured.

Happy to rework things, ultimately I'm just looking for a reliable/consistent 
way to invoke bin/lldb without "being" a test. Also happy to discuss further 
offline: it may turn out that we don't really want/need to support running the 
just-built lldb outside of test/. After all we're interested in setting up a 
test in CI that runs the lldb driver -- perhaps this can just live in 
lldb/test/Shell.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D90276

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

Reply via email to