| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library ddk.protocol.test; |
| |
| using zx; |
| |
| struct TestReport { |
| uint32 n_tests; |
| uint32 n_success; |
| uint32 n_failed; |
| }; |
| |
| [Layout="ddk-callback"] |
| interface TestFunc { |
| 1: Callback() -> (zx.status s, TestReport report); |
| }; |
| |
| [Layout="ddk-protocol", DefaultProtocol] |
| interface Test { |
| /// Sets test output socket. |
| 1: SetOutputSocket(handle<socket> @handle) -> (); |
| |
| /// Gets test output socket. |
| 2: GetOutputSocket() -> (handle<socket> h); |
| |
| /// Sets test function. |
| 3: SetTestFunc(TestFunc func) -> (); |
| |
| /// Run tests, calls the function set in |SetTestFunc|. |
| 4: RunTests() -> (zx.status s, TestReport report); |
| |
| /// Calls `device_remove()`. |
| 5: Destroy() -> (); |
| }; |