通訊協定
RealmProxy
定義於 fuchsia.testing.harness/realm_proxy.fidl
這個通訊協定可以中介測試套件對待測試元件的存取權。
RealmProxy 是一種測試控管工具,可讓部分測試套件在隨選測試下建立元件的執行個體。最重要的是,測試套件不必知道哪些元件要建立,或者如何建立元件,只需要知道元件公開哪些功能即可。
舉例來說, Fuchsia 檔案系統的通用測試套件可以使用 RealmProxy 通訊協定來產生元件,以提供 fuchsia.io FIDL 程式庫提供的通訊協定。測試套件無須知道所測試的檔案系統,或檔案系統的初始化方式。只需要使用 fuchsia.io 通訊協定的名稱呼叫 [ConnectToNamedProtocol] 並啟動測試即可。透過用於初始化不同檔案系統的不同 Proxy 執行這個測試套件,我們就可以使用相同的套件來驗證每個系統。
建議改為連線至 RealmFactory,以取得 RealmProxy 的執行個體;日後將無法再找到 TODO(https://fxbug.dev/42077343)。
ConnectToNamedProtocol
從這個 Proxy 的命名空間將 [server_end] 連線至 [通訊協定]。
要求
名稱 | 類型 |
---|---|
protocol |
string[255]
|
server_end |
handle<channel>
|
回應
名稱 | 類型 |
---|---|
payload |
RealmProxy_ConnectToNamedProtocol_Result
|
ConnectToServiceInstance
從這個 Proxy 的命名空間將 [server_end] 連線至 [service]/[instance]。
要求
名稱 | 類型 |
---|---|
service |
string[255]
|
instance |
string[255]
|
server_end |
handle<channel>
|
回應
名稱 | 類型 |
---|---|
payload |
RealmProxy_ConnectToServiceInstance_Result
|
OpenService
從這個 Proxy 的命名空間將 [server_end] 連線至 [service] 目錄。
要求
名稱 | 類型 |
---|---|
service |
string[255]
|
server_end |
handle<channel>
|
回應
名稱 | 類型 |
---|---|
payload |
RealmProxy_OpenService_Result
|
結構化
RealmProxy_ConnectToNamedProtocol_Response
定義於 fuchsia.testing.harness/realm_proxy.fidl
<EMPTY>
RealmProxy_ConnectToServiceInstance_Response
定義於 fuchsia.testing.harness/realm_proxy.fidl
<EMPTY>
RealmProxy_OpenService_Response
定義於 fuchsia.testing.harness/realm_proxy.fidl
<EMPTY>
ENUMS
OperationError 彈性
類型:uint32
定義於 fuchsia.testing.harness/errors.fidl
Fuchsia 測試控管作業錯誤類型。
控管工作負責維護特定測試的狀態。當作業失敗時,就會傳回這個類型。
名稱 | 物超所值 | 說明 |
---|---|---|
INVALID |
0 |
要求的作業無效, 如果測試案例要求管理者執行與管理目前狀態不相容的問題,就會傳回這個結果。這項錯誤代表測試程式碼本身中的錯誤。 傳回這個值「必須」失敗對應的測試。 範例:測試在建立前要求檔案大小。 |
失敗 |
1 |
要求的作業失敗, 如果測試控管工具無法完成作業,就會傳回這個錯誤,即使目前狀態應允許作業執行作業也一樣。此錯誤代表控管工具依附元件中的錯誤。 傳回這個值「必須」失敗對應的測試。 範例:測試在建立後要求檔案大小,但查詢失敗。 |
不支援 |
2 |
這個控管工具不支援要求的作業。 如果測試控管工具不支援要求的作業,系統就會傳回這個錯誤。這不一定是嚴重錯誤,用來表示控管器具備要求的內容,但並未執行該行為。 傳回這個值「或許」會失敗對應的測試,但並非必須。這個回傳值有助於判斷不同功能集或版本的相容性。 範例:測試要求檔案大小,但在先前的元件版本中,系統移除了檢查檔案大小的功能。 |
聯合國
RealmProxy_ConnectToNamedProtocol_Result 嚴格
定義於 fuchsia.testing.harness/realm_proxy.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
RealmProxy_ConnectToNamedProtocol_Response
|
|
2 |
err |
OperationError
|
RealmProxy_ConnectToServiceInstance_Result 嚴格
定義於 fuchsia.testing.harness/realm_proxy.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
RealmProxy_ConnectToServiceInstance_Response
|
|
2 |
err |
OperationError
|
RealmProxy_OpenService_Result 嚴格
定義於 fuchsia.testing.harness/realm_proxy.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
RealmProxy_OpenService_Response
|
|
2 |
err |
OperationError
|
業者
名稱 | 物超所值 | 類型 | 說明 |
---|---|---|---|
MAX_PROTOCOL_LEN |
fuchsia.io/MAX_NAME_LENGTH
|
uint64 |
FIDL 通訊協定名稱可包含的字元數上限。這設定為檔案系統節點名稱的長度上限,因為我們通常會使用檔案系統進行通訊協定探索。 已新增:HEAD
|