[RFC] Restructuring the (command) tests

Hi all,

I have to admit I’m getting a bit confused lately where to put tests. Especially for testing LLDB commands it’s not obvious where to put files as we test some commands directly in the top-level test folder (e.g. quit, help, settings), some are in /functionalities with a _command suffix (e.g. target), some are in /functionalities without any suffix (e.g. register), some tests are split by subcommand (process, frame) and some are in the top-level folder with the _command prefix (e.g. expression). This makes it hard to figure out where to find or create tests for specific commands. Also setting a LIT_FILTER for jus testing CommandObject* changes is not possible.

I would propose we restructure at least the command tests into “test/commands/${command_name}/${subcommand_name_or_functionality}/“ such as “test/commands/process/launch”. The LIT_FILTER for these things would be “commands/“.

I don’t see any disadvantages from this as
* downstreams usually doesn’t fiddle around with the existing tests, so there should hopefully be no merge conflicts from this.
* git blame can handle this change as we only move files/directories and don’t touch their contents.
* it’s very little work to actually do this.

I’m not sure if there is a need to restructure any other tests but I think if there are no objections in this thread, then I assume everyone can just take a few seconds and restructure their own tests.


- Raphael

Raphael, this sounds like a good idea.


Sounds good to me :slight_smile: