Introduce mock os interface per feature

Split mmd::os::Ops into per-feature mockable traits.

By providing higher level API, the tests using mock become easier and
more readable. Also we don't need to use generic type for path and
contents because the usage of each API is scoped. This makes it
unecessary to use `mockall::concretize` and we now can use
`mockall::predicate` helpers.

Bug: 375432468
Test: atest libmmd_unit_tests

Change-Id: I2026b56b23d930578c1e1224e61d2bd63aaccbaf
13 files changed
tree: e872f29b143e39a394f691cf8c487443d11be379
  1. aidl/
  2. src/
  3. .gitignore
  4. Android.bp
  5. flags.aconfig
  6. mmd.rc
  7. OWNERS
  8. PREUPLOAD.cfg
  9. TEST_MAPPING