Fix devices-test and bad-buffer-test failures
This fixes two test failures I was seeing locally: one sporadically, one every single time.
devices-test shouldn't be using desktop-shell: it constantly adds and removes devices, which desktop-shell will try to bind to, even if they're gone. If it loses the race at the wrong moment, the test will fail. Switch it to using test-desktop-shell, since it doesn't care about surfaces.
bad-buffer-test was fixed for an unused-variable compiler warning in !860 (merged), but the fix didn't stop compilers (like mine in Fedora 36) from optimising out the code entirely. Oops. It's now very much guaranteed to not elide the buffer reads.