blob: 127138cdf02ebf45af8ec250ab627b003ee46aed [file] [log] [blame]
// 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() -> ();
};