Previously swipe_to_unlock was not used and conflicted with a method
of the same name.
- swipe_to_unlock() renamed perform_unlock_swipe()
- swipe_to_unlock parameter now takes a direction, this allows swipe unlocking on Android M devices
- ensure_screen_is_on() will now also unlock the screen if swipe_to_unlock is set
- Compiled regular expressions in EVENT_PARSER_MAP now get handled
correctly.
- regex_body_parser now attemts to convert field values to ints,
bringing it inline with the default parser behavior.
- There is now a regex for sched_switch events.
Added two parameters which allow the user to change the strings used
to match the login prompt and the following password prompt to match
their device configurations.
Adjust the wait_for_boot method of Gem5AndroidDevice to no longer wait
for the boot animation to finish if the animation has been
disabled. The service.bootanim.exit property is only set (to 0) when
the animation starts, and is set to 1 when the animation finishes. If
the animation never starts, then the property is not set at
all. Hence, we assume the boot animation has finished, unless the
property has been set.
Moved the commands to resize the shell to their own method. They are
now executed twice. Once as soon as the shell is connected, and a
second time as part of initialize. This latter call takes place after
the isntallation of busybox.
This is a fix to the previous fix
(2510329cdf938ff85e7574e9f7f3880e370a56ad) that updated get_properties
to store "dumpsys window" output relative to the working_directory. That
commit constructed the path using self.device, which is wrong, as in
this case self itself is the device.
- adb protcol uses "\r\n" for line breaks. This is not handled by
Python's line break translation, as not a file. So spliting on '\n'
when extracting the exit code resulted in stray '\r' in the output.
- adb_shell expects exit code to be echoed on the same line. This may
not have been the case if latest output from executed command was not
a complete line. An extra echo will now ensure that the exit code will
be on its own line even in that case.
- This patch addresses an issue with the arguments passed the
BaseGem5Device __init__. With this patch these are no longer passed
in as they are not required in the base device implementation.
- The streamline instrument can now run on linux clients
because it no longer relies on adb port forwarding
- Updated description.
- Cleaned up code
- Now check for streamline not caiman
- Gatord is now only run once instead of restarted every
job
Commit 95f17702d74d06d8f61bc710c53472d25d2f92ed redirected output of
"dumpsys window" to a file (needed for Gem5 support). However, the file
was created in $PWD, which breaks on production devices, as that
location is not writable. This moves the file under the working
directory on the device.
- Refactored the Gem5Device to avoid duplicated code. There is now a
BaseGem5Device which includes all of the shared functionality. The
Gem5LinuxDevice and the Gem5AndroidDevice both inherit from
BaseGem5Device, and LinuxDevice or AndroidDevice, respectively.
If the parameter merge_channels is set to true (false by default).
DAQ channels that have consecutive letters on the end of their names
will be summed together. E.g: A7, A15a, A15b becomes A7, A15
You can also manually specify a channel mapping by setting
merge_channels to a dict. .
- Remove the unbind and rebind for the VirtIO 9P mount method as gem5
now checkpoints the basic state of the device. This allows us to
just mount it assuming that checkpoint have been created correctly.
- Move the processing of Android properties to an internal
method. This allows the Android properties to be extracted without
extracting those of the Linux device.
- Redirect the output from 'dumpsys window' to a file and pull the
file as opposed to extracting the output from the terminal. This is
more reliable in the event that another process writes to the shell.
- Replaced hard-coded pexpect expect string with UNIQUE_PROMPT.
- Changed the capture_screen debug to a warning to make sure that the
user knows when it happens.
- Fixed the logic for checking when a file exists. Previously, if the
output could not correctly be processed (ValueError) then we just
assumed that the file existed if there was any output at all. This
is clearly not a good default. Changed to default to False if it was
not able to process the output as this seems to be the safest
option.
- Changed ad hoc filename extraction to use os.path.basename.
- Removed the processing of some kwargs and defaults that are handled
by the parent class.
- Stopped overriding some paramaters which were purely defined in the
Gem5Device.
- Added the gem5_binary option to the agenda which allows a different
gem5 binary to be specified. This allows WA to be used with
different levels of gem5 debugging. as well as allowing non-standard
gem5 binary names and locations.
- Replace ugly while True loop with a simple regex substitution
achieving the same thing. This is required to match the command in
the shell output when the command wraps around due to the length of
the command.