TODO
=====

- Add a test case where the only evictable BO is busy
- Update eviction tests so they use parametrized "from" memory type
- Improve mock manager's implementation, e.g. allocate a block of
  dummy memory that can be used when testing page mapping functions
- Suggestion: Add test cases with external BOs
- Suggestion: randomize the number and size of tested buffers in
  ttm_bo_validate()
- Agree on the naming convention
- Rewrite the mock manager: drop use_tt and manage mock memory using
  drm_mm manager

Notes and gotchas
=================

- These tests are built and run with a UML kernel, because
  1) We are interested in hardware-independent testing
  2) We don't want to have actual DRM devices interacting with TTM
     at the same time as the test one. Getting these to work in
     parallel would require some time (...and that's a "todo" in itself!)
- Triggering ttm_bo_vm_ops callbacks from KUnit (i.e. kernel) might be
  a challenge, but is worth trying. Look at selftests like
  i915/gem/selftests/i915_gem_mman.c for inspiration
- The test suite uses UML where ioremap() call returns NULL, meaning that
  ttm_bo_ioremap() can't be tested, unless we find a way to stub it
