tree: c1ca0f03622da2334b746f7771e4d77b0ac3a8a6 [path history] [tgz]
  3. conformance_harness/
  6. meta/
  7. src/
src/storage/conformance/ Conformance Tests

The conformance tests are designed to exercise the interface. There is a common suite of conformance tests, written in Rust (, which are run against the various conformance test harnesses. These harnesses (in the conformance_harness directory) indicate which functionality should be tested, and proxy requests from the test driver to the underlying client library.

This contrasts with the tests in fs_test, which are designed to exercise the FDIO/POSIX interface (and typically assume the underlying filesystem is mutable). There are a small amount of tests written in C++ which exercise the FDIO interface (see

These tests ensure that the different clients and servers can interop successfully. It does this by setting up specific node and directory layouts using server libraries. Thereafter:

  • The server handling of various protocol invariants are validated using FIDL.

  • The correct operation of client libraries are tested against these specific layouts.

In order to set up servers in different languages, we create a test driver for each filesystem server. A test driver will be a component that could be launched by the conformance test suite on demand, and serve a number of directories via the FIDL protocol, using a specific filesystem library.