I landed a basic framework for writing gdb integration tests. It only has one test right now, and that test returns StopReason::Exited(...), so running gdb against the test server makes gdb disconnect right away (because we're not using extended-remote). If I change the test server to return StopReason::Signal(...) GDB first prints a warning that it can't find an executable (because we don't support qXfer etc) and then hangs while repeatedly printing Ignoring packet error, continuing.... I don't know if fixing the file issue would fix that or not, I didn't test that yet.
We should get a test passing that does at least that, and then keep building from there.