Confirmed users
313
edits
No edit summary |
|||
| (11 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
{{note|The agent was originally written for windows mobile and newlines there are \r\n references in code that interacts with the agent. When the Android agent was introduced, we needed to support the code and it would have been a lot of work to retrofit the windows agent, so we made the android agent support \r\n. This is known to be seen in the 'cat' command which is used in some sut_tools scripts. Just keep this in mind as we might have some backwards compatibility issues.}} | |||
== Required Commands == | |||
The SUTAgent shall support at least the following commands: | The SUTAgent shall support at least the following commands: | ||
; cd <dir> | ; cd <dir> | ||
: Change the current working directory to <dir>. <dir> can be absolute or relative to the cwd. | : Change the current working directory to <dir>. <dir> can be absolute or relative to the cwd. | ||
; clok : Print system time in milliseconds. | ; clok : Print system time in milliseconds since Jan 1, 1970, in UTC. | ||
; cwd | ; cwd | ||
: Print the current working directory. | : Print the current working directory. | ||
; dirw <dir> | ; dirw <dir> | ||
: Indicates whether a directory is writable or not. Prints the string "[<dir>] is writable" or "[<dir>] is not writable". | : Indicates whether a directory is writable or not. Prints the string "[<dir>] is writable" or "[<dir>] is not writable". | ||
; exec <prog> [arg1] [arg2] [...] | ; exec ["env1=val1,env2=var2,..."] <prog> [arg1] [arg2] [...] | ||
: Executes <prog>, optionally passing one or more attributes, as a separate process. Prints out a platform-dependent message indicating success or failure. | : Executes <prog>, optionally passing one or more attributes, as a separate process. Prints out a platform-dependent message indicating success or failure. Environment variables to pass to the process should precede the program name and be of the form <variable name>=<value>. | ||
: The command should not be completed until the process has terminated. Note that it *may* terminate quickly if <prog> spawns another process, as with "am start" on Android. | |||
; hash <file path> | ; hash <file path> | ||
: Prints an MD5 hash of the contents of <file path>, if found and readable. | : Prints an MD5 hash of the contents of <file path>, if found and readable. | ||
| Line 29: | Line 34: | ||
* process: process list, as with the "ps" command below | * process: process list, as with the "ps" command below | ||
: If no subcommand is given, all the info is printed out in the above order. | : If no subcommand is given, all the info is printed out in the above order. | ||
; isdir <path> | ; isdir <path> | ||
: Prints "TRUE" if <path> is a directory, "FALSE" if it exists but isn't a directory, or an error string if <path> doesn't exist or isn't readable. | : Prints "TRUE" if <path> is a directory, "FALSE" if it exists but isn't a directory, or an error string if <path> doesn't exist or isn't readable. | ||
| Line 50: | Line 54: | ||
; rmdr <dir> | ; rmdr <dir> | ||
: Removes <dir> and all contents (i.e. recursive delete). | : Removes <dir> and all contents (i.e. recursive delete). | ||
; settime <datetime> ''deprecated'' | |||
: Sets the system time to <datetime> in local time, which should be in the form "yyyy/mm/dd HH:MM:SS". Note that this command should be avoided, since (a) it may not be clear what timezone the device is in and (b) ambiguity of datetimes in the DST-ST boundary range (times from 01:00:00 to 01:59:59 on the day that DST switches to ST are repeated, once for each time zone). Use setutime instead. | |||
; setutime <milliseconds> | |||
: Sets the system time to <milliseconds>, which should be a number of milliseconds since Jan 1, 1970, in UTC. | |||
; testroot | ; testroot | ||
: Prints the root test directory, that is, a writable location to be used for test support files. | : Prints the root test directory, that is, a writable location to be used for test support files. | ||
; ver | |||
: Prints the product name and version, e.g. SUTAgentAndroid Version 1.13 or SUTAgentNegatus Version 1.1. | |||
== Optional Commands == | |||
; kill <name> | |||
: Kill all processes running on the system that match <name>. In the Java implementation, if the process name contains <name> it will be killed (e.g. "kill fire" will kill all firefox processes.) In Negatus, a full match is required. | |||
== Unsupported Commands == | |||
The original Java SUTAgent implemented these commands. They will '''not''' be implemented in the new SUTAgent. Instead, SUTAgent-specific DeviceManager objects will build this functionality out of lower-level commands like 'exec' and 'push'. | |||
; inst <path to package file> | |||
: Installs an application from a package located on the device. | |||
; unzp <zip file> [dest dir] | ; unzp <zip file> [dest dir] | ||
: Unzips <zip file> to [dest dir]. [dest dir] defaults to cwd. | : Unzips <zip file> to [dest dir]. [dest dir] defaults to cwd. | ||
; updt <path to apk> : | ; updt <path to apk> | ||
: Updates a previously installed application from a package located on the device. | |||