Pretty much all of the robocop tests that involve input assumed a static UI.
Making them compatible with the dynamic toolbar would require a considerable
rethink, so turn it off by default. We can introduce robocop tests specifically
for the dynamic toolbar later.
Pretty much all of the robocop tests that involve input assumed a static UI.
Making them compatible with the dynamic toolbar would require a considerable
rethink, so turn it off by default. We can introduce robocop tests specifically
for the dynamic toolbar later.
Before we were outright failing if the test logfile was missing when cleaning
up these tests. But that's generally a sign that the app failed to start
up properly, which is the true issue we should be trying to catch / diagnose.
Let's just print a warning here and move on.
It turns out that relying on the user to check return codes for every
command was non-intuitive and resulted in many hard to trace bugs.
Now most functinos just return "None", and raise a DMError when there's an
exception. The exception to this are functions like dirExists, which now return
booleans, and throw exceptions on error. This is a fairly major refactor,
and also involved the following internal changes:
* Removed FileError and AgentError exceptions, replaced with DMError
(having to manage three different types of exceptions was confusing,
all the more so when we're raising them)
* Docstrings updated to remove references to return values where no
longer relevant
* pushFile no longer will create a directory to accomodate the file
if it doesn't exist (this makes it consistent with devicemanagerADB)
* dmSUT we validate the file, but assume that we get something back
from the agent, instead of falling back to manual validation in the
case that we didn't
* isDir and dirExists had the same intention, but different
implementations for dmSUT. Replaced the dmSUT impl of getDirectory
with that of isDir's (which was much simpler). Removed
isDir from devicemanager.py, since it wasn't used externally
* killProcess modified to check for process existence before running
(since the actual internal kill command will throw an exception
if the process doesn't exist)
In addition to all this, more unit tests have been added to test these
changes for devicemanagerSUT.