blob: 15b96b80e130863cc981b5dc91faf1902ef91543 [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"]
protocol TestFunc {
Callback() -> (zx.status s, TestReport report);
};
[Layout = "ddk-protocol"]
protocol Test {
/// Sets test output socket.
SetOutputSocket(handle<socket> @handle) -> ();
/// Gets test output socket.
GetOutputSocket() -> (handle<socket> h);
/// Gets test channel. This has per-test meaning.
GetChannel() -> (handle<channel>? h);
/// Sets test function.
SetTestFunc(TestFunc func) -> ();
/// Run tests, calls the function set in |SetTestFunc|.
RunTests() -> (zx.status s, TestReport report);
/// Calls `device_remove()`.
Destroy() -> ();
};