You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Revision fixes
fixing typos
Updates after review #1
Update 0206-remote_atf_testing.md
Minor updates
Minor updates #2
minor text formatting
* Fixes after Laura review
* Update 0206-remote_atf_testing.md
* Update 0206-remote_atf_testing.md
* Update 0206-remote_atf_testing.md
Copy file name to clipboardExpand all lines: proposals/0206-remote_atf_testing.md
+47-30Lines changed: 47 additions & 30 deletions
Original file line number
Diff line number
Diff line change
@@ -7,24 +7,24 @@
7
7
8
8
## Introduction
9
9
10
-
This proposal is about modification of Automated Test Framework (ATF) for providing ability to test SDL on remote workstation usinig automated test scripts.
10
+
This proposal is about modification of Automated Test Framework (ATF) for providing ability to test SDL on remote workstations using automated test scripts.
11
11
12
12
## Motivation
13
13
14
-
Automated testing of SDL on the real OEM hardware would significantly reduce the amount of efforts during the integration stage.
14
+
Automated testing of SDL on the real OEM hardware would significantly reduce efforts during the integration stage.
15
15
This also can ensure that during the integration stage the business logic SDL will be ported successfully and will not be corrupted.
16
16
17
-
On various OEM platforms communication between HMI and SDL is performed through different transports, that may not be retrieved from the target (i.e. mqueue). So for ATF it's not possible to connect to SDL from HMI side and emulate HMI behavior.
17
+
On various OEM platforms communication between HMI and SDL is performed through different transports, that may not be retrieved from the target (e.g. mqueue). So for ATF it's not possible to connect to SDL from HMI side and emulate HMI behavior.
18
18
This proposal suggests adding the optional proxy (relay) layer. This layer will connect to SDL, which is located on the OEM's target and expose API to ATF, which is located on other workstation via Transmission Control Protocol (TCP).
19
19
20
20
## Proposed solution
21
21
22
-
Create Remote ATF Adapter as a separate application. This application will be executed on the same hardware with SDL and will provide API for communication with SDL and will control the SDL life cycle.
22
+
It is proposed to create Remote ATF Adapter as a separate application. This application will be executed on the same hardware with SDL and will provide an API for communication with SDL and will control the SDL life cycle.
23
23
24
24
### Remote ATF Adapter
25
25
26
-
ATF will use the Remote ATF Adapter as a relay for sending data to SDL via the HMI connection.
27
-
Remote ATF Adapter may utilise any local transport that is used for connection between SDL and HMI on specific OEM hardware, but it will provide TCP for ATF and Open Source ATF will be used.
26
+
ATF will use the Remote ATF Adapter as a relay for sending data to SDL via the HMI connection.
27
+
Remote ATF Adapter may utilize any local transport that is used for connection between SDL and HMI on specific OEM hardware, but it will provide TCP for ATF and Open Source ATF will be used.
@@ -34,41 +34,58 @@ Remote ATF Adapter should provide the following functionality:
34
34
For sending and receiving data. In some cases more than one connection (with different connection types) should be opened, so interface should be rather general.
35
35
36
36
The following RPCs are required:
37
-
- Open Connection (connection parameters).
38
-
-send (connection, data) -> status.
39
-
-receive (connection) -> data.
40
-
- Close Connection(connection) -> status.
37
+
- Open Connection (connection parameters)
38
+
-Send (connection, data) -> status
39
+
-Receive (connection) -> data
40
+
- Close Connection(connection) -> status
41
41
42
-
### RPCs for SDL life cycle management:
43
-
Testing of some SDL functionality (i.e. Resumption flow) requires performing of ignition cycles. For the SDL ignition cycle, that means it will be stopped and started again (with additional notifications before stop). So ATF will need to control the SDL life cycle.
42
+
####RPCs for SDL life cycle management:
43
+
Testing of some SDL functionality (e.g. Resumption flow) requires performing of ignition cycles. For SDL, the new ignition cyclemeans it will be stopped and started again (with additional notifications before stopping). So ATF will need to control the SDL life cycle.
44
44
This can only be done with a Remote ATF Adapter on a remote workstation.
45
45
46
46
The following RPCs are required:
47
-
- Start SDL.
48
-
- Stop SDL.
49
-
- CheckSDL state.
47
+
- Start SDL
48
+
- Stop SDL
49
+
- CheckSDL state
50
50
51
-
### File management:
52
-
Some automated use cases are required as special preconditions for the modifications in smartDeviceLink.ini file, capabilities, preloaded policy table, etc ...
51
+
####File management:
52
+
Some automated use cases are required as special preconditions for the modifications in smartDeviceLink.ini file, capabilities, preloaded policy table, etc.
53
53
Because of this Remote ATF Adapter, it should provide functionality for file and folder management, such as:
54
-
- Upload file.
55
-
- Download file.
56
-
- Update file.
57
-
- Delete file.
58
-
- Check if file exist.
59
-
- Create a directory.
60
-
- Delete a directory.
61
-
- Check if directory exist.
62
-
63
-
# Low level OS management:
64
-
- Command execute.
54
+
- Upload file
55
+
- Download file
56
+
- Update file
57
+
- Delete file
58
+
- Check if file exists
59
+
- Create a directory
60
+
- Delete a directory
61
+
- Check if directory exist
62
+
63
+
####Low level OS management:
64
+
- Command execute
65
65
66
66
For communication with SDL, the OEM adapter will need to implement this API.
67
67
In case OEM requires additional functionality, relay server API may be extended.
68
68
69
69
ATF should use this API for sending/receiving data as a simulation of the HMI side.
70
70
71
-
Remote connection as a simulation of Mobile side may be done in scope of the following proposal : [ATF support of additional transports (BT and USB)](https://github.com/smartdevicelink/sdl_evolution/blob/master/proposals/0126-atf-additional-transports.md). Or by using of Wi-Fi (TCP) transport, in this case there is no additional implementation required.
71
+
Remote connection as a simulation of Mobile side may be done in scope of the following proposal: [ATF support of additional transports (BT and USB)](https://github.com/smartdevicelink/sdl_evolution/blob/master/proposals/0126-atf-additional-transports.md). Or by using of Wi-Fi (TCP) transport, in this case additional implementation is not required.
72
+
73
+
74
+
### Open source implementation of Remote ATF Adapter
75
+
76
+
Open source implementation of Remote Adapter Server will support appropriate transports to test open source SDL :
77
+
- TCP for mobile connections (additional transports for automated testing provided in separate proposal)
78
+
- Web socket for HMI connection.
79
+
80
+
Remote Adapter Server is a component with listed transport agnostic interfaces, so an OEM can implement for another transport. The API of the Remote Adapter Server can be extended in case the OEM implementation of SDL requires any additional functionality.
81
+
82
+
The open source implementation of the Remote adapter server is part of this proposal.
83
+
The Remote adapter server should be done using the C++ programming language to provide minimal latency, and to support a long list of supported platforms.
84
+
The Remote adapter server runs on the target, it communicates with SDL as HMI (using web socket for open source) and as mobile (using TCP for open source).
85
+
The Remote adapter server is controlled via ATF(from host) via TCP.
86
+
87
+
The Remote Client should be maintained in [sdl_atf](https://github.com/smartdevicelink/sdl_atf) repository as part of ATF.
88
+
The OEM may reimplement the Remote adapter server in case it uses another HMI communication transport, or has any additional transports for communication with SDL.
72
89
73
90
## Potential downsides
74
91
@@ -80,4 +97,4 @@ Impacts only Automated Test Framework code.
80
97
81
98
## Alternatives considered
82
99
83
-
Determine to use TCP and web-sockets for HMI communication by OEM.
100
+
Investigated using TCP and web-sockets for HMI communication by OEM.
0 commit comments