Refactor integration tests

The integration tests currently have a few issues that should be resolved:

  • We use both a flatpak platform and sdk together - we should only use an sdk, as mentioned in #154 (closed).
  • Drop shell scripts and use pytest exclusively, greatly reducing maintenance burden.
  • The tests check for bit-wise correctness - they should be relaxed slightly, as #126 (closed) says.
  • Use @pytest.datafiles() in tests to ensure that all tests run without dirtying the source tree (solving issue #108 (closed))

While these tasks could have been tackled individually, it seems easiest to do this for each test individually (the files have to be rewritten in python anyway). This needs to be done for:

  • Autotools element tests
  • Cmake element tests
  • Compose element tests
  • Import element tests
  • Manual element tests
  • Pip element tests
  • Script element tests
  • Stack element tests
  • Shell execution tests

Furthermore, some tests better off as unit tests found their way into integration tests, and should be moved/migrated:

  • BZR source tests
  • Local source tests
Edited by Tristan Maat