PROTOCOLS
CaseIterator
Defined in fuchsia.test.manager/test_manager.fidl
Iterator for listing available test cases.
GetNext
Returns the next batch of test cases when they are available. Returns the empty vector to indicate that the iteration is complete.
Request
<EMPTY>
Response
Name | Type |
---|---|
cases |
vector<Case>
|
DebugDataIterator
Defined in fuchsia.test.manager/test_manager.fidl
An iterator protocol over which a client may retrieve debug data information.
GetNext
Retrieve the next batch of debug data. This is a hanging get; if no data is immediately available, the call hangs until data is available. After all data has been returned, the call returns an empty vector.
Request
<EMPTY>
Response
Name | Type |
---|---|
data |
vector<DebugData>
|
GetNextCompressed
Retrieve the next batch of debug data (compressed using zstd). This is a hanging get; if no data is immediately available, the call hangs until data is available. After all data has been returned, the call returns an empty vector.
Request
<EMPTY>
Response
Name | Type |
---|---|
data |
vector<DebugData>
|
EarlyBootProfile
Defined in fuchsia.test.manager/test_manager.fidl
Protocol to manage Early boot profiles. This should be called by our clients after running all the tests.
RegisterWatcher
Register iterator for watching early boot profiles.
Request
Name | Type |
---|---|
iterator |
server_end:DebugDataIterator
|
Query
Defined in fuchsia.test.manager/test_manager.fidl
Enumerate
Enumerates test cases.
Request
Name | Type |
---|---|
test_url |
fuchsia.url/Url
|
iterator |
server_end:CaseIterator
|
Response
Name | Type |
---|---|
payload |
Query_Enumerate_Result
|
EnumerateInRealm
Enumerates test cases in non-hermetic tests.
Request
Name | Type |
---|---|
test_url |
fuchsia.url/Url
|
realm |
client_end:fuchsia.component/Realm
|
offers |
vector<fuchsia.component.decl/Offer>
|
test_collection |
string
|
iterator |
server_end:CaseIterator
|
Response
Name | Type |
---|---|
payload |
Query_EnumerateInRealm_Result
|
RunBuilder
Defined in fuchsia.test.manager/test_manager.fidl
This is the entry point of running test suites. A test "run" consists of multiple test "suites" which consists of running multiple "test cases".
AddSuite
Add a suite to this run. A suite is a component that implements
fuchsia.test.Suite
. Implementors of this API will talk to test suites
using "Suite" protocol and return results using controller
. The
controller is also used to control the execution of the test suite.
Request
Name | Type |
---|---|
test_url |
fuchsia.url/Url
|
options |
RunOptions
|
controller |
server_end:SuiteController
|
AddSuiteInRealm
Add a suite to this run which would run in provided 'realm'. A suite is
a component that implements fuchsia.test.Suite
. Implementors of this
API will talk to test suites using "Suite" protocol and return results
using controller
. The controller is also used to control the execution
of the test suite.
Request
Name | Type |
---|---|
realm |
client_end:fuchsia.component/Realm
|
offers |
vector<fuchsia.component.decl/Offer>
|
test_collection |
string
|
test_url |
fuchsia.url/Url
|
options |
RunOptions
|
controller |
server_end:SuiteController
|
Build
Build and schedule the run.
This runs all suites added with their respective filters and closes the channel once it is done.
Request
Name | Type |
---|---|
controller |
server_end:RunController
|
WithSchedulingOptions
Specify scheduling options used for this run.
Request
Name | Type |
---|---|
options |
SchedulingOptions
|
RunController
Defined in fuchsia.test.manager/test_manager.fidl
The server end will disconnect after all the suite runs have finished and the events are drained. If the client disconnects, the tests will be terminated immediately and all results discarded.
GetEvents
Iterator over events for the run. This method is a hanging get; it returns an empty vector only when there will be no further events (the run completed).
Request
<EMPTY>
Response
Name | Type |
---|---|
events |
vector<RunEvent>
|
Kill
Immediately terminate the run. RunController will disconnect after all resources are released. This method will terminate tests even if they are in progress.
Request
<EMPTY>
Stop
Stop the run gracefully. RunController will disconnect after all resources are released and all the events in this controller are drained. This method is used to allow the run to complete tests that are in progress, but will prevent starting new tests.
Request
<EMPTY>
SuiteController
Defined in fuchsia.test.manager/test_manager.fidl
Provides for control and monitoring of a running test suite started with SuiteRunner.RunSuite
.
The server closes its end of the channel after the suite run has finished and all events have
been delivered via WatchEvents
. If the client disconnects, the suite is terminated immediately
and all results discarded.
GetEvents
Iterator over events for the run. This method is a hanging get; it returns an empty vector only when there will be no further events (the run completed).
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
SuiteController_GetEvents_Result
|
Kill
Immediately terminate the run. SuiteController will disconnect after all resources are released. This method will terminate tests even if they are in progress.
Request
<EMPTY>
Stop
Stop the suite run gracefully. SuiteController will disconnect after all resources are released and all the events in this controller are drained.
Request
<EMPTY>
WatchEvents
Returns events when they're available using a hanging get pattern. Returns an empty vector to indicate there will be no further events.
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
SuiteController_WatchEvents_Result
|
SuiteRunner
Defined in fuchsia.test.manager/test_manager.fidl
Runs test suites.
Run
Run a test suite. A suite is a test component that implements fuchsia.test.Suite
.
Request
Name | Type |
---|---|
test_suite_url |
fuchsia.url/Url
|
options |
RunSuiteOptions
|
controller |
server_end:SuiteController
|
TestCaseEnumerator
Defined in fuchsia.test.manager/test_manager.fidl
Enumerates cases in test suites, which implement the fuchsia.test.Suite
protocol.
Enumerate
Creates an iterator for test cases.
Request
Name | Type |
---|---|
test_suite_url |
fuchsia.url/Url
|
options |
EnumerateTestCasesOptions
|
iterator |
server_end:TestCaseIterator
|
Response
Name | Type |
---|---|
payload |
TestCaseEnumerator_Enumerate_Result
|
TestCaseIterator
Defined in fuchsia.test.manager/test_manager.fidl
Iterator for listing available test cases.
GetNext
Returns the next batch of test cases. Returns the empty vector to indicate that the iteration is complete.
Request
<EMPTY>
Response
Name | Type |
---|---|
test_cases |
vector<TestCase>:1024
|
STRUCTS
CaseArtifact resource
Defined in fuchsia.test.manager/test_manager.fidl
Field | Type | Description | Default |
---|---|---|---|
identifier |
TestCaseId
|
No default | |
artifact |
Artifact
|
No default |
CaseFinished
Defined in fuchsia.test.manager/test_manager.fidl
Field | Type | Description | Default |
---|---|---|---|
identifier |
TestCaseId
|
No default |
CaseFound
Defined in fuchsia.test.manager/test_manager.fidl
Field | Type | Description | Default |
---|---|---|---|
test_case_name |
CaseName
|
Name of this test case. |
No default |
identifier |
TestCaseId
|
Used to identify this test case in subsequent payloads |
No default |
CaseStarted
Defined in fuchsia.test.manager/test_manager.fidl
Field | Type | Description | Default |
---|---|---|---|
identifier |
TestCaseId
|
No default |
CaseStopped
Defined in fuchsia.test.manager/test_manager.fidl
Field | Type | Description | Default |
---|---|---|---|
identifier |
TestCaseId
|
No default | |
status |
CaseStatus
|
No default |
DirectoryAndToken resource
Defined in fuchsia.test.manager/test_manager.fidl
A handle to a directory and a token used to indicate when the client has completed inspecting the directory. The server end will retain all resources, such as subdirectories and files, within |directory| while |release_fence| remains open. |release_fence| is used instead of observing the |directory| channel directly as it is possible to clone and open new channels to the same directory.
Field | Type | Description | Default |
---|---|---|---|
directory |
client_end:fuchsia.io/Directory
|
|
No default |
token |
handle<eventpair>
|
An eventpair handle used to control the retention of the directory. When this handle is closed, the directory is no longer retained. |
No default |
Query_EnumerateInRealm_Response
Defined in fuchsia.test.manager/test_manager.fidl
<EMPTY>
Query_Enumerate_Response
Defined in fuchsia.test.manager/test_manager.fidl
<EMPTY>
RunStarted
Defined in fuchsia.test.manager/test_manager.fidl
<EMPTY>
RunStopped
Defined in fuchsia.test.manager/test_manager.fidl
<EMPTY>
Stderr resource
Defined in fuchsia.test.manager/test_manager.fidl
Field | Type | Description | Default |
---|---|---|---|
socket |
handle<socket>
|
No default |
Stdout resource
Defined in fuchsia.test.manager/test_manager.fidl
Field | Type | Description | Default |
---|---|---|---|
socket |
handle<socket>
|
No default |
SuiteArtifact resource
Defined in fuchsia.test.manager/test_manager.fidl
Field | Type | Description | Default |
---|---|---|---|
artifact |
Artifact
|
No default |
SuiteController_GetEvents_Response resource
Defined in fuchsia.test.manager/test_manager.fidl
Field | Type | Description | Default |
---|---|---|---|
events |
vector<SuiteEvent>
|
No default |
SuiteController_WatchEvents_Response resource
Defined in fuchsia.test.manager/test_manager.fidl
Field | Type | Description | Default |
---|---|---|---|
events |
vector<Event>:1024
|
No default |
SuiteStarted
Defined in fuchsia.test.manager/test_manager.fidl
<EMPTY>
SuiteStopped
Defined in fuchsia.test.manager/test_manager.fidl
Field | Type | Description | Default |
---|---|---|---|
status |
SuiteStatus
|
No default |
TestCaseEnumerator_Enumerate_Response
Defined in fuchsia.test.manager/test_manager.fidl
<EMPTY>
ENUMS
CaseStatus flexible
Type: uint32
Defined in fuchsia.test.manager/test_manager.fidl
Represent status of a test case run execution.
Name | Value | Description |
---|---|---|
PASSED |
0 |
The test case passed. |
FAILED |
1 |
Test case failed. |
TIMED_OUT |
2 |
Test case timed out. |
SKIPPED |
3 |
Test case was skipped. |
ERROR |
4 |
Suite implementation did not return status. |
LaunchError flexible
Type: uint32
Defined in fuchsia.test.manager/test_manager.fidl
Error for LaunchSuite
call.
Name | Value | Description |
---|---|---|
RESOURCE_UNAVAILABLE |
1 |
There were insufficient resources to perform the operation. |
INSTANCE_CANNOT_RESOLVE |
2 |
Cannot resolve |
INVALID_ARGS |
3 |
Invalid argument(s) passed. |
FAILED_TO_CONNECT_TO_TEST_SUITE |
4 |
Failed to connect to the |
CASE_ENUMERATION |
5 |
Failed to enumerate tests. |
INTERNAL_ERROR |
6 |
Some internal error occurred. Something wrong with test manager setup. Check logs and report bug. |
NO_MATCHING_CASES |
7 |
No test cases matched the specified test filters. This error is only returned when a test filter is specified. In the case of a test suite with no test cases, the suite will pass. |
INVALID_MANIFEST |
8 |
Test manifest is invalid. |
LogsIteratorOption flexible
Type: uint32
Defined in fuchsia.test.manager/test_manager.fidl
Option which specifies which kind of iterator the client supports
Name | Value | Description |
---|---|---|
BATCH_ITERATOR |
0 |
|
ARCHIVE_ITERATOR |
1 |
|
SOCKET_BATCH_ITERATOR |
2 |
LogsIteratorType flexible
Type: uint32
Defined in fuchsia.test.manager/test_manager.fidl
Enumeration of alternative log iteration mechanisms.
Name | Value | Description |
---|---|---|
BATCH |
1 |
Indicates use of |
SOCKET |
2 |
Indicates the use of a socket as described in |
SuiteResult flexible
Type: uint32
Defined in fuchsia.test.manager/test_manager.fidl
Represents the result of a suite run.
Name | Value | Description |
---|---|---|
FINISHED |
1 |
The suite finished normally, with all test case results being either |
FAILED |
2 |
The suite finished normally, with some test case results being neither |
DID_NOT_FINISH |
3 |
Suite implementation crashed, did not send |
TIMED_OUT |
4 |
The overall suite run timed out . |
STOPPED |
5 |
The suite run was stopped. |
INTERNAL_ERROR |
6 |
SuiteStatus flexible
Type: uint32
Defined in fuchsia.test.manager/test_manager.fidl
Represents status of a suite run. This ordering is the explicit ordering of preference, from lowest priority to highest priority. for example, if all Cases PASSED except one that FAILED, the status for the whole suite will be FAILED.
Name | Value | Description |
---|---|---|
PASSED |
0 |
All tests cases passed/skipped. |
FAILED |
1 |
At least one test case in the suite failed. |
DID_NOT_FINISH |
3 |
Suite implementation crashed, did not send |
TIMED_OUT |
4 |
At least one test case in the suite timed out. |
STOPPED |
5 |
The test suite was stopped. |
INTERNAL_ERROR |
6 |
TestCaseResult flexible
Type: uint32
Defined in fuchsia.test.manager/test_manager.fidl
Represent the result of a test case run.
Name | Value | Description |
---|---|---|
SKIPPED |
1 |
Test case was skipped. |
PASSED |
2 |
The test case passed. |
FAILED |
3 |
Test case failed. |
TIMED_OUT |
4 |
Test case timed out. |
ERROR |
5 |
Suite implementation did not return a result for the test case. |
TABLES
Case
Defined in fuchsia.test.manager/test_manager.fidl
Description of an enumerated test case.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
CaseName
|
Name of the test case. |
CustomArtifact resource
Defined in fuchsia.test.manager/test_manager.fidl
Describes a directory containing 'custom' (unclassified) artifacts produced by a test.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
component_moniker |
string:4096
|
The moniker of the component that produced the directory, relative to the root of the test realm. |
2 |
directory_and_token |
DirectoryAndToken
|
A directory containing the artifacts. |
DebugData resource
Defined in fuchsia.test.manager/test_manager.fidl
Describes available debug data.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
string:512
|
Name of the file. Must be unique per |
2 |
socket |
handle<socket>
|
Socket over which the file may be accessed. |
EnumerateTestCasesOptions resource
Defined in fuchsia.test.manager/test_manager.fidl
Options specifying how test cases should be enumerated.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
realm_options |
RealmOptions
|
Specifies the realm in which to enumerate test cases. If this field is not supplied, the test cases will be enumerated in a hermetic realm inside the test manager. This option is used by clients that require non-hermetic realms or test realms with custom runners. |
Event resource
Defined in fuchsia.test.manager/test_manager.fidl
An event delivered via SuiteController.WatchEvents
.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
timestamp |
zx/Time
|
The time at which the event occurred. |
2 |
details |
EventDetails
|
The details of the event. |
RealmOptions resource
Defined in fuchsia.test.manager/test_manager.fidl
Options specifying the realm in which a test suite should be run. These options are used by clients that require non-hermetic realms or test realms with custom runners. See [https://fuchsia.dev/fuchsia-src/development/testing/components/create_test_realm] and [https://fuchsia.dev/fuchsia-src/development/testing/components/test_runner_framework#non-hermetic_tests] for details.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
realm |
client_end:fuchsia.component/Realm
|
The realm which contains the collection in which to launch the test. This field is required. |
2 |
offers |
vector<fuchsia.component.decl/Offer>:1024
|
All offers from the realm to the test collection. This field is required. |
3 |
test_collection |
string:255
|
The test collection in which to launch the test. This field is required. |
RunEvent resource
Defined in fuchsia.test.manager/test_manager.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
timestamp |
zx/Time
|
|
2 |
payload |
RunEventPayload
|
RunOptions
Defined in fuchsia.test.manager/test_manager.fidl
Optional additional instructions for executing a test suite.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
run_disabled_tests |
bool
|
If set to true, test cases that have been disabled by the test author will nonetheless be executed. Defaults to false. |
2 |
parallel |
uint16
|
Defines maximum number of test cases to run simultaneously.
If unspecified, the default behavior is chosen by the |
3 |
arguments |
vector<string>
|
Optional arguments to pass to the test. Test runners will decide how to pass these arguments to tests. |
4 |
timeout |
zx/Duration
|
Timeout in seconds for the entire suite. |
5 |
case_filters_to_run |
vector<string>
|
glob case filter. This filter will match based on glob pattern [https://en.wikipedia.org/wiki/Glob_(programming)]. Only test cases matching at least one pattern will be run. In addition, negative filters may be specified by prepending '-'. When negative filters are specified, test cases matching the negative filter are excluded. The behavior of combinations of these filters is as follows:
For example, given that a suite has the test cases
|
6 |
log_iterator |
LogsIteratorOption
|
Defines what kind of log iterator the client supports. Default value is Batch iterator. |
7 |
log_interest |
vector<fuchsia.diagnostics/LogInterestSelector>:64
|
Configures the minimum severity for the components under test. |
8 |
break_on_failure |
bool
|
If true, the test runner should halt (if supported) the test suite when a failure is encountered such that a debugger may attach to the process in the future. Test runners may safely ignore this if they do not support stopping running test suites. Added: 20
|
9 |
no_exception_channel |
bool
|
If true, indicates the test creates an exception channel. In this case, the test manager will refrain from creating its own exception channels to avoid conflicts. Default value is false. Added: NEXT
|
RunSuiteOptions resource
Defined in fuchsia.test.manager/test_manager.fidl
Options specifying how a test suite should be run.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
realm_options |
RealmOptions
|
Specifies the realm in which to run the test suite. If this field is not supplied, the test will run in a hermetic realm inside the test manager. This option is used by clients that require non-hermetic realms or test realms with custom runners. |
2 |
run_disabled_tests |
bool
|
If set to true, test cases that have been disabled by the test author will nonetheless be executed. This value is false by default. |
3 |
max_concurrent_test_case_runs |
uint16
|
Defines the maximum number of test cases to run concurrently. If unspecified, the test suite component decides this value. |
4 |
arguments |
vector<string:1024>:4095
|
Command-line arguments to pass to the test. Test runners decide how to pass these arguments to tests. This value is an empty vector (no arguments) by default. |
5 |
timeout |
zx/Duration
|
Timeout for the entire suite run. If unspecified, there is no timeout, and the suite run may hang indefinitely. |
6 |
test_case_filters |
vector<string:4096>:1024
|
Test case filters as glob patterns [https://en.wikipedia.org/wiki/Glob_(programming)]. Negative filters may be specified by prepending '-'. This value is an empty vector (no filters) by default. A given test case is run if both of the following are true:
For example, given that a suite has the test cases
|
7 |
logs_iterator_type |
LogsIteratorType
|
Specifies what kind of iterator the client will use for retrieving logs. This value is
|
8 |
log_interest |
vector<fuchsia.diagnostics/LogInterestSelector>:64
|
Configures the minimum severity to apply when filtering logs from the test suite component. |
9 |
accumulate_debug_data |
bool
|
If set to true, debug data collected for this run will be accumulated in test manager's tmp folder with debug data collected in previous runs with this flag set true. Defaults to false. This option is used when many tests are run in a batch, and delivering the accumulated data is more performant than delivering the debug data one test at a time. |
10 |
no_exception_channel |
bool
|
If true, indicates the test creates an exception channel. In this case, the test manager will refrain from creating its own exception channels to avoid conflicts. Default value is false. Added: NEXT
|
SchedulingOptions
Defined in fuchsia.test.manager/test_manager.fidl
Optional instructions for how to execute and schedule suites in the test run.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
max_parallel_suites |
uint16
|
The maximum number of hermetic test suites to run in parallel. If unspecified, chosen by the server side. |
2 |
accumulate_debug_data |
bool
|
If set to true, debug data collected for this run will be accumulated with debug data collected in previous runs with this flag set true. Defaults to false. |
SuiteArtifactGeneratedEventDetails resource
Defined in fuchsia.test.manager/test_manager.fidl
Details for suite_artifact_generated
events.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
artifact |
Artifact
|
Describes the artifact. This field will always be provided. |
SuiteEvent resource
Defined in fuchsia.test.manager/test_manager.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
timestamp |
zx/Time
|
|
2 |
payload |
SuiteEventPayload
|
SuiteStartedEventDetails
Defined in fuchsia.test.manager/test_manager.fidl
Details for suite_started
events.
Ordinal | Field | Type | Description |
---|
SuiteStoppedEventDetails
Defined in fuchsia.test.manager/test_manager.fidl
Details for suite_stopped
events.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
result |
SuiteResult
|
The suite result. This field will always be provided. |
TestCase
Defined in fuchsia.test.manager/test_manager.fidl
Description of an enumerated test case.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
TestCaseName
|
Name of the test case. |
TestCaseArtifactGeneratedEventDetails resource
Defined in fuchsia.test.manager/test_manager.fidl
Details for test_case_artifact_generated
events.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
test_case_id |
TestCaseId
|
The test case to which this event pertains. This event will be preceeded by a 'test_case found' event with a matching id. This field will always be provided. |
2 |
artifact |
Artifact
|
Describes the artifact. This field will always be provided. |
TestCaseFinishedEventDetails
Defined in fuchsia.test.manager/test_manager.fidl
Details for test_case_finished
events.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
test_case_id |
TestCaseId
|
The test case to which this event pertains. This event will be preceeded by a 'test_case found' event with a matching id. This field will always be provided. |
TestCaseFoundEventDetails
Defined in fuchsia.test.manager/test_manager.fidl
Details for test_case_found
events.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
test_case_name |
TestCaseName
|
Name of the test case that was found. This field will always be provided. |
2 |
test_case_id |
TestCaseId
|
Identifies this test case in subsequent events. This field will always be provided
and is unique for a given |
TestCaseStartedEventDetails
Defined in fuchsia.test.manager/test_manager.fidl
Details for test_case_started
events.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
test_case_id |
TestCaseId
|
The test case to which this event pertains. This event will be preceeded by a 'test_case found' event with a matching id. This field will always be provided. |
TestCaseStoppedEventDetails
Defined in fuchsia.test.manager/test_manager.fidl
Details for test_case_stopped
events.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
test_case_id |
TestCaseId
|
The test case to which this event pertains. This event will be preceeded by a 'test_case found' event with a matching id. This field will always be provided. |
2 |
result |
TestCaseResult
|
The test case result. This field will always be provided. |
UNIONS
Artifact flexible resource
Defined in fuchsia.test.manager/test_manager.fidl
Describes one or more artifacts.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
stdout |
handle<socket>
|
The artifact is the 'stdout' stream of the suite or test case. The artifact is delivered via a socket, the consumer end of which is provided here. |
2 |
stderr |
handle<socket>
|
The artifact is the 'stderr' stream of the suite or test case. The artifact is delivered via a socket, the consumer end of which is provided here. |
3 |
log |
Syslog
|
The artifact is the syslog of the suite or test case. The artifact is delivered using a batch iterator or socket. |
4 |
custom |
CustomArtifact
|
The artifacts are one or more files in a directory and may be read using |
5 |
debug_data |
client_end:DebugDataIterator
|
The artifacts are debug data delivered using a |
EventDetails flexible resource
Defined in fuchsia.test.manager/test_manager.fidl
Details of an event delivered via SuiteController.GetEvents
.
A suite_started
event always precedes any events relating to test cases, and a
suite_stopped
event always follows any test case events. suite_artifact_generated
may
occur at any point, including before suite_started
and after suite_stopped
.
A test_case_found
event is produced for all test cases found in the suite.
If a particular test case run is enabled (based on RunSuiteOptions.test_case_filters
and
RunSuiteOptions.run_disabled_tests
), the following sequence is produced, regardless of whether
the test case is actually run, the run completes or whether or not it succeeds:
test_case_found
test_case_started
test_case_stopped
test_case_finished
test_case_artifact_generated
events for the test case may occur at any point after the
test_case_found
event and before test_case_finished
event for that test case. Note that
test case events for multiple events may be interleaved.
If a test case run is not enabled, only the test_case_found
event will be produced for
that test case.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
suite_started |
SuiteStartedEventDetails
|
Suite started execution. |
2 |
test_case_found |
TestCaseFoundEventDetails
|
A test_case was found. This is always the first event for a given test case. |
3 |
test_case_started |
TestCaseStartedEventDetails
|
A test case started execution. Only one |
4 |
test_case_artifact_generated |
TestCaseArtifactGeneratedEventDetails
|
Artifact from a test case. Note that |
5 |
test_case_stopped |
TestCaseStoppedEventDetails
|
A test case stopped executing. This event includes the resulting |
6 |
test_case_finished |
TestCaseFinishedEventDetails
|
A test case has finished and all artifact events have been dispatched to the client. This is always the last event for a given test case. |
7 |
suite_artifact_generated |
SuiteArtifactGeneratedEventDetails
|
Artifact pertaining to the entire suite. |
8 |
suite_stopped |
SuiteStoppedEventDetails
|
Suite run stopped executing. This event includes the resulting |
LogsIterator flexible resource
Defined in fuchsia.test.manager/test_manager.fidl
Holds the server end of an iterator over the isolated logs of a test.
Ordinal | Variant | Type | Description |
---|---|---|---|
2 |
batch |
server_end:fuchsia.diagnostics/BatchIterator
|
Server end of the iterator, when this protocol is used by Fuchsia clients. |
3 |
stream |
handle<socket>
|
Server end of the iterator, when this protocol is used by host-side clients. This uses the protocol specified in fuchsia.diagnostics.host.ArchiveReader. |
Query_EnumerateInRealm_Result strict
Defined in fuchsia.test.manager/test_manager.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Query_EnumerateInRealm_Response
|
|
2 |
err |
LaunchError
|
Query_Enumerate_Result strict
Defined in fuchsia.test.manager/test_manager.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Query_Enumerate_Response
|
|
2 |
err |
LaunchError
|
RunEventPayload flexible resource
Defined in fuchsia.test.manager/test_manager.fidl
Various events for run execution. The first event for a test run will
always be run_started
. run_stopped
fires when the test run stops
and will always fire after run_started
.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
run_started |
RunStarted
|
The test run started execution. |
2 |
run_stopped |
RunStopped
|
The test run stopped executing. |
3 |
artifact |
Artifact
|
The test run produced an artifact. |
SuiteController_GetEvents_Result strict resource
Defined in fuchsia.test.manager/test_manager.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
SuiteController_GetEvents_Response
|
|
2 |
err |
LaunchError
|
|
3 |
framework_err |
internal
|
SuiteController_WatchEvents_Result strict resource
Defined in fuchsia.test.manager/test_manager.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
SuiteController_WatchEvents_Response
|
|
2 |
err |
LaunchError
|
SuiteEventPayload flexible resource
Defined in fuchsia.test.manager/test_manager.fidl
Various events for test execution.
First event for a test case will always be case_found
and last will be
case_finished
. Events case_started
and case_artifact
can come in any
order. There can be some case_artifact
between case_stopped
and
case_finished
. suite_stopped
event will always fire when the whole
suite has finished executing. Note suite_artifact
may fire at any time.
In the case where the client completely drains all events for a suite,
case_stopped
and case_finished
will be reported for all found test
cases, even if the test component fails to report a result.
In the case a test is hung, GetEvents will hang and not complete, unless
a timeout has been specified in RunOptions.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
case_found |
CaseFound
|
A case was found. |
2 |
case_started |
CaseStarted
|
A case started execution |
3 |
case_stopped |
CaseStopped
|
A case stopped executing, includes the pass/fail/skipped result of the case. The client might still get artifacts pertaining to this test after this event. |
4 |
case_finished |
CaseFinished
|
A case has finished and all artifact events have been dispatched to the client. |
5 |
case_artifact |
CaseArtifact
|
Artifact from a case |
6 |
suite_artifact |
SuiteArtifact
|
Artifact from a suite. |
7 |
suite_started |
SuiteStarted
|
Suite started execution |
8 |
suite_stopped |
SuiteStopped
|
Suite run stopped executing, includes the result of the suite. The client might still get artifacts pertaining to this suite after this event. |
Syslog flexible resource
Defined in fuchsia.test.manager/test_manager.fidl
Delivery method for syslog.
Ordinal | Variant | Type | Description |
---|---|---|---|
2 |
batch |
client_end:fuchsia.diagnostics/BatchIterator
|
Client end of the iterator used by Fuchsia clients. |
3 |
stream |
handle<socket>
|
Consumer end of the socket used by host-side clients. |
TestCaseEnumerator_Enumerate_Result strict
Defined in fuchsia.test.manager/test_manager.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
TestCaseEnumerator_Enumerate_Response
|
|
2 |
err |
LaunchError
|
|
3 |
framework_err |
internal
|
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
MAX_ARGUMENTS |
fuchsia.io/MAX_PATH_LENGTH
|
uint64 |
Added: 20
|
MAX_ARGUMENT_LENGTH |
1024
|
uint64 |
Added: 20
|
MAX_DEBUG_DATAS_PER_GET |
1024
|
uint64 |
Added: 20
|
MAX_EVENTS_PER_WATCH |
1024
|
uint64 |
Added: 20
|
MAX_FILTERS |
1024
|
uint64 |
Added: 20
|
MAX_FILTER_LENGTH |
fuchsia.component/MAX_MONIKER_LENGTH
|
uint64 |
Added: 20
|
MAX_OFFERS |
1024
|
uint64 |
Added: 20
|
MAX_TEST_CASES_PER_GET |
1024
|
uint64 |
Added: 20
|
MAX_TEST_COLLECTION_NAME_LENGTH |
fuchsia.io/MAX_NAME_LENGTH
|
uint64 |
Added: 20
|
ALIASES
Name | Value | Description |
---|---|---|
CaseName |
string [fuchsia.test/MAX_TEST_NAME ] |
Human-readable name for a test case. Deprecated: 20
|
TestCaseId |
uint32 |
Test case identifier. Unique in a suite run. |
TestCaseName |
string [fuchsia.test/MAX_TEST_NAME ] |
Human-readable name for a test case. |