androidpythonscriptingautomationcts

automating android CTS with python


I'm trying to automate the full CTS setup and execution with python & monkeyrunner on Ubuntu and most of it has gone very well. As the very final step, I try executing the following python command to start the CTS on a specific device:

cts_tradefed_script = "./android-cts/tools/cts-tradefed"
process = subprocess.Popen([cts_tradefed_script, "run", "cts", "-s", '"' + serialno + '"', "--plan", "CTS"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

which is the equivalent of:

./android-cts/tools/cts-tradefed run cts -s "R32CB054TSZ" --plan CTS

in the command-line and I get:

Android CTS 4.2_r4
No commands for non-interactive mode; exiting.
06-17 17:32:32 I/: Detected new device R32CB054TSZ
Saved log to /tmp/tradefed_global_log_9173619073367947049.txt
06-17 17:32:32 I/CommandScheduler: All done

The CTS tests don't execute. Is there a command I'm forgetting or is this not possible using Python?


Solution

  • cts_tradefed_script = "./android-cts/tools/cts-tradefed"
    process = subprocess.Popen([cts_tradefed_script + " " + serialno], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    

    Edit: script was not necessary. Just enter everything as a concatenated String.