This PR ensures the user gets a proper error when the `src` is not an absolute path. And some cosmetic cleanup, and improve integration tests.