blob: 16c6479603a0986300a4558ab3e2c06eb50bed4d [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=107)*
<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.</p>
<ul>
<li>error <code>ZX_ERR_ALREADY_EXISTS</code> the realm has already had <code>Start</code> called.</li>
</ul>
#### 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>
### Expose {#Expose data-text="Expose"}
*Defined in [fuchsia.driver.test/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.driver.test/realm.fidl;l=34)*
<div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: HEAD</span></div>
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Expose.service_name">
<td><code>service_name</code></td>
<td>
<code>string</code>
</td>
<td></td>
<td>No default</td>
</tr>
<tr id="Expose.collection">
<td><code>collection</code></td>
<td>
<code><a class='link' href='#Collection'>Collection</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### Offer {#Offer data-text="Offer"}
*Defined in [fuchsia.driver.test/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.driver.test/realm.fidl;l=28)*
<div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: HEAD</span></div>
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Offer.protocol_name">
<td><code>protocol_name</code></td>
<td>
<code>string</code>
</td>
<td></td>
<td>No default</td>
</tr>
<tr id="Offer.collection">
<td><code>collection</code></td>
<td>
<code><a class='link' href='#Collection'>Collection</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=115)*
&lt;EMPTY&gt;
## **ENUMS**
### Collection [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Collection data-text="Collection"}
Type: <code>uint32</code>
*Defined in [fuchsia.driver.test/realm.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.driver.test/realm.fidl;l=21)*
<div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: HEAD</span></div>
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="Collection.UNKNOWN">
<td><h3 id="Collection.UNKNOWN" class="add-link hide-from-toc">UNKNOWN</h3></td>
<td><code>0</code></td>
<td></td>
</tr>
<tr id="Collection.BOOT_DRIVERS">
<td><h3 id="Collection.BOOT_DRIVERS" class="add-link hide-from-toc">BOOT_DRIVERS</h3></td>
<td><code>1</code></td>
<td></td>
</tr>
<tr id="Collection.PACKAGE_DRIVERS">
<td><h3 id="Collection.PACKAGE_DRIVERS" class="add-link hide-from-toc">PACKAGE_DRIVERS</h3></td>
<td><code>2</code></td>
<td></td>
</tr>
</table>
## **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=40)*
<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:///#meta/test-parent-sys.cm
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>
<tr id="RealmArgs.offers">
<td><h3 id="RealmArgs.offers" class="add-link hide-from-toc">11</h3></td>
<td><code>offers</code></td>
<td>
<code>vector&lt;<a class='link' href='#Offer'>Offer</a>&gt;</code>
</td>
<td><p>Specify additional offers from the test to a driver collection
Default: empty</p>
<div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: HEAD</span></div>
</td>
</tr>
<tr id="RealmArgs.exposes">
<td><h3 id="RealmArgs.exposes" class="add-link hide-from-toc">12</h3></td>
<td><code>exposes</code></td>
<td>
<code>vector&lt;<a class='link' href='#Expose'>Expose</a>&gt;</code>
</td>
<td><p>Specify services to expose from the test to a driver collection
Default: empty</p>
<div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: HEAD</span></div>
</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=115)*
<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>