blob: f2c661297fcd1ebf79d73e6cf660979dfeec4f57 [file] [log] [blame] [view]
<link rel="stylesheet" href="../style.css" />
[TOC]
# fuchsia.driver.test
<div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 7</span></div>
## **PROTOCOLS**
## Realm {#Realm}
*Defined in [fuchsia.driver.test/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.driver.test/realm.fidl;l=74)*
<p>This protocol is for the DriverTestRealm. It is an integration test
framework for drivers.</p>
### Start {#Realm.Start}
<p>Start the realm. Calling this will cause DriverTestRealm to start
servicing other protocols (like /dev/). <code>args</code> is used to configure
the DriverTestRealm.
Calling <code>Start</code> while the realm is already started will return ZX_ERR_ALREADY_BOUND.</p>
#### Request {#Realm.Start_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>args</code></td>
<td>
<code><a class='link' href='#RealmArgs'>RealmArgs</a></code>
</td>
</tr>
</table>
#### Response {#Realm.Start_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#Realm_Start_Result'>Realm_Start_Result</a></code>
</td>
</tr>
</table>
## **STRUCTS**
### DriverLog {#DriverLog data-text="DriverLog"}
*Defined in [fuchsia.driver.test/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.driver.test/realm.fidl;l=15)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="DriverLog.name">
<td><code>name</code></td>
<td>
<code><a class='link' href='#DriverName'>DriverName</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
<tr id="DriverLog.log_level">
<td><code>log_level</code></td>
<td>
<code><a class='link' href='../fuchsia.diagnostics/'>fuchsia.diagnostics</a>/<a class='link' href='../fuchsia.diagnostics/#Severity'>Severity</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### Realm_Start_Response {#Realm_Start_Response data-text="Realm_Start_Response"}
*Defined in [fuchsia.driver.test/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.driver.test/realm.fidl;l=81)*
&lt;EMPTY&gt;
## **TABLES**
### RealmArgs [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#RealmArgs data-text="RealmArgs"}
*Defined in [fuchsia.driver.test/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.driver.test/realm.fidl;l=21)*
<p>A list of arguments that can be used to configure DriverTestRealm.</p>
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="RealmArgs.boot">
<td><h3 id="RealmArgs.boot" class="add-link hide-from-toc">1</h3></td>
<td><code>boot</code></td>
<td>
<code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#Directory'>Directory</a></code>
</td>
<td><p>This is what DriverManager will see as its boot directory.
Default: DriverTestRealm's package directory</p>
</td>
</tr>
<tr id="RealmArgs.root_driver">
<td><h3 id="RealmArgs.root_driver" class="add-link hide-from-toc">2</h3></td>
<td><code>root_driver</code></td>
<td>
<code>string</code>
</td>
<td><p>The URL for the driver that will be bound to root.
Default: fuchsia-boot:///#driver/test-parent-sys.so
NOTE: The test parent driver is not included by default. This must
be included in your package to work correctly.</p>
</td>
</tr>
<tr id="RealmArgs.use_driver_framework_v2">
<td><h3 id="RealmArgs.use_driver_framework_v2" class="add-link hide-from-toc">3</h3></td>
<td><code>use_driver_framework_v2</code></td>
<td>
<code>bool</code>
</td>
<td><p>If this is true, then DriverManager will load DFv2 drivers.
Default: false</p>
</td>
</tr>
<tr id="RealmArgs.driver_tests_enable_all">
<td><h3 id="RealmArgs.driver_tests_enable_all" class="add-link hide-from-toc">4</h3></td>
<td><code>driver_tests_enable_all</code></td>
<td>
<code>bool</code>
</td>
<td><p>If this is true, then DriverManager will enable the unit tests
for each driver that is loaded.
Default: false</p>
</td>
</tr>
<tr id="RealmArgs.driver_tests_enable">
<td><h3 id="RealmArgs.driver_tests_enable" class="add-link hide-from-toc">5</h3></td>
<td><code>driver_tests_enable</code></td>
<td>
<code>vector&lt;string&gt;</code>
</td>
<td><p>If this is true, then DriverManager will enable the unit tests
for each driver in this vector.
Default: empty</p>
</td>
</tr>
<tr id="RealmArgs.driver_tests_disable">
<td><h3 id="RealmArgs.driver_tests_disable" class="add-link hide-from-toc">6</h3></td>
<td><code>driver_tests_disable</code></td>
<td>
<code>vector&lt;string&gt;</code>
</td>
<td><p>If this is true, then DriverManager will disable the unit tests
for each driver in this vector. This overrides both a specific
request for enabling a test and the 'driver_tests_enable_all'
parameter.
Default: empty</p>
</td>
</tr>
<tr id="RealmArgs.driver_log_level">
<td><h3 id="RealmArgs.driver_log_level" class="add-link hide-from-toc">7</h3></td>
<td><code>driver_log_level</code></td>
<td>
<code>vector&lt;<a class='link' href='#DriverLog'>DriverLog</a>&gt;</code>
</td>
<td><p>Set a log level for the specific driver.
Default: Log levels are set to INFO</p>
</td>
</tr>
<tr id="RealmArgs.driver_disable">
<td><h3 id="RealmArgs.driver_disable" class="add-link hide-from-toc">8</h3></td>
<td><code>driver_disable</code></td>
<td>
<code>vector&lt;string&gt;</code>
</td>
<td><p>Disable specific drivers. These drivers will not be bound or loaded.
Default: empty</p>
</td>
</tr>
<tr id="RealmArgs.driver_bind_eager">
<td><h3 id="RealmArgs.driver_bind_eager" class="add-link hide-from-toc">9</h3></td>
<td><code>driver_bind_eager</code></td>
<td>
<code>vector&lt;string&gt;</code>
</td>
<td><p>Specify drivers to bind 'eagerly'. This turns a driver that normally
binds as a fallback driver into a driver that will be bound normally.
Default: empty</p>
</td>
</tr>
<tr id="RealmArgs.board_name">
<td><h3 id="RealmArgs.board_name" class="add-link hide-from-toc">10</h3></td>
<td><code>board_name</code></td>
<td>
<code>string</code>
</td>
<td><p>Specify the board name that drivers are aware of.
Default: driver-integration-test</p>
</td>
</tr>
</table>
## **UNIONS**
### Realm_Start_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Realm_Start_Result data-text="Realm_Start_Result"}
*Defined in [fuchsia.driver.test/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.driver.test/realm.fidl;l=81)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="Realm_Start_Result.response">
<td><h3 id="Realm_Start_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#Realm_Start_Response'>Realm_Start_Response</a></code>
</td>
<td></td>
</tr>
<tr id="Realm_Start_Result.err">
<td><h3 id="Realm_Start_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
</td>
<td></td>
</tr>
</table>
## **ALIASES**
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="DriverName">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.driver.test/realm.fidl;l=13">DriverName</a></td>
<td>
<code>string</code>[<code><a class='link' href='../fidl/'>fidl</a>/<a class='link' href='../fidl/#MAX'>MAX</a></code>]</td>
<td><p>A driver name is the name defined in ZIRCON_DRIVER_BEGIN begin macro
for a specific driver.</p>
</td>
</tr>
</table>