1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2024-10-06 19:01:15 +01:00
Commit Graph

1210 Commits

Author SHA1 Message Date
Javi Merino
f54bb0981f Don't use shell_channel in ipynb_exporter result processor
It's not needed for IPython 2 and it breaks in IPython 3
2015-04-17 17:52:07 +01:00
Javi Merino
f41be396fa Use notebook format 3 for ipynb_exporter
The file assumes format 3 throughout the code, so explicitly import that
format instead of the generic "current" format.
2015-04-17 17:52:07 +01:00
Javi Merino
d31a5c3c48 Factor out the ipython implementation in ipynb_exporter
The internal ABI for ipython has changed between ipython version 2 and
3.  In its current state, the result processor only works with IPython
version 2, so fail if the user wants to use the result processor with
the wrong version.

Abstract the ipython interface to a file so that we can make it support
versions 2 and 3 at the same time.
2015-04-17 17:52:07 +01:00
Sergei Trofimov
314fecfcd4 Fixing get_meansd for numbers < 1 2015-04-17 17:27:47 +01:00
Sergei Trofimov
497b5febc3 Fixing buffer_size_file in trace-cmd for non-Android devices
The default value for buffer_size_file contained a path under "/d/",
which is an Android-specific alias for "/sys/kernel/debug". This commit
updates the default value to use the system-agnostic path.
2015-04-17 16:06:12 +01:00
Sergei Trofimov
2276ae0c5b Fixing config processing for extensions with non-identifier names.
Internally, WA expects extension names to be valid Python identifiers.
When this is not the case, conversion takes place when loading
configuration for the extension (e.g. "trace-cmd" gets converted to
"trace_cmd").

The conversion is intended to be transparent to the user, so
configuration stores values as they are provided by the user, however it
needs to perform the conversion internally, e.g. when querying
ExtensionLoader. This conversion was missing when performing a lookup of
one of the internal structures, which was causing earlier-collected
settings to not be propagated into the final config.
2015-04-17 15:56:28 +01:00
Sergei Trofimov
53f2eafd16 Fixing key-based authentication for SSH. 2015-04-17 11:59:46 +01:00
setrofim
a26a50941b Merge pull request #10 from JaviMerino/notify2
Use notify2 as it's available in pypi
2015-04-16 13:13:53 +01:00
Sergei Trofimov
075712d940 Fixing format string in ipynb_exporter 2015-04-16 13:06:00 +01:00
Sergei Trofimov
c0bb30e12d Fixing overall score generation in telemetry
Updating overall score generation function to handle zero values.
2015-04-16 13:00:59 +01:00
Javi Merino
99c129cb03 Add notify2 to the extra dependencies 2015-04-16 11:43:49 +01:00
Javi Merino
dd199a6893 Move the notify results processor to notify2
pynotify is not in pypi.
2015-04-16 11:43:49 +01:00
setrofim
d627c778e5 Merge pull request #9 from JaviMerino/add_notify
Add a notify result processor
2015-04-16 08:43:47 +01:00
Sergei Trofimov
ee626fd36e Adding telemetry workload.
This workload executes tests from Google's Telemetry browser test
framework. Currently, only ChromeOS devices are supported.
2015-04-15 18:40:30 +01:00
Sergei Trofimov
315fecdf71 Updating XE503C12 device adapter.
- Setting platfrom to "chromeos"
- Changing the default binaries_directory (/usr/bin is not writable).
2015-04-15 18:40:30 +01:00
Sergei Trofimov
b198e131ee SyfsExtractor: added use_tmpfs parameter
Updating SysfsExtractor with a parameter to explicitly enable/disable
tempfs caching. Previously, this was determined entirely by whether the
device is rooted.
2015-04-15 18:40:30 +01:00
Sergei Trofimov
3e6b927cde Updating screen on instrument to support periodic polling. 2015-04-15 17:54:07 +01:00
Sergei Trofimov
fcc970db3f Adding screenon instrument 2015-04-15 16:34:24 +01:00
Javi Merino
a96088de9c Add a notify result processor
This result processor displays a desktop notification when the run
finishes.  It's useful when you are running a long agenda in WA and want
to be notified when the results are available.
2015-04-15 15:14:23 +01:00
setrofim
4195ca591c Merge pull request #8 from JaviMerino/fix_pep8
Fix pep8 errors in ipynb_exporter
2015-04-15 14:50:26 +01:00
Javi Merino
86f543cb72 Fix pep8 errors in ipynb_exporter
I ran first pep8 and then pylint, so I missed the pep8 errors introduced
by me shutting up pylint 😇
2015-04-15 14:34:23 +01:00
setrofim
9aae0e7886 Merge pull request #7 from JaviMerino/add_ipynb_export
Add an ipython notebook exporter results_processor
2015-04-15 14:23:52 +01:00
Javi Merino
8e09795c95 Add an ipython notebook exporter results_processor 2015-04-15 14:21:54 +01:00
Sergei Trofimov
5bf9f05c4b Updating result object to track their output directories.
Also, context.result will no result in context.run_result when
not executing a job.
2015-04-14 14:38:59 +01:00
Sergei Trofimov
8e340e456d Added open_file to misc utils.
A function to open a file using an associated launcher in an OS-agnostic
way.
2015-04-14 14:18:10 +01:00
Sergei Trofimov
61b834e52c Removing unnecessary comment form sqlite result processor documentation. 2015-04-14 12:02:24 +01:00
setrofim
11b8001308 Merge pull request #6 from JaviMerino/fix_param_documentation
Fix Param documentation
2015-04-14 06:03:31 +01:00
Javi Merino
1807f3e3d7 Fix Param documentation
The param documentation states that for a boolean, "kind" should be
"as_bool" from wlauto.utils.misc, but there is no "as_bool".  Currently,
workload automation automatically converts native python types like bool
and int to workload automation specific ones.  Remove this bit from the
documentation as it's not true any more.

Change-Id: I0100708530bcf67556eda386c39bc444a3e0f2b2
2015-04-13 22:42:25 +01:00
Sergei Trofimov
e03686f961 Improve error repoting when loading extensions
The error message will now contain the offending extension (either
package name or full path to extension file) if a Python error occurs
when ExtensionLoader attempts to load it.
2015-04-13 08:25:56 +01:00
Sergei Trofimov
c5d3c2bd62 Fixing reboot on Linux devices [part 2]
- connect() to device before issuing the initial reboot, as soft reset
  requires a device connection.
- boot() has been implemented to wait properly for the device to reboot
  after reset.
- port now defaults to 22 rather than being left unset, as need
  something to connect to when polling for device after reboot.
- Only use -P option for scp when port is *not* 22; as that option
  appears to cause intermittent issues with default scp on Ubuntu 12.04
2015-04-10 17:04:22 +01:00
Sergei Trofimov
d838caadd5 Adding XE503C12 device.
Adding a device interface for Samsung XE503C12 Chromebooks.
2015-04-10 09:37:40 +01:00
Sergei Trofimov
086f03730b ssh: pep8 fix 2015-04-10 09:36:55 +01:00
Sergei Trofimov
fea32de3d3 Parameterizing password prompt for sudo in Ssh interface.
On some devices, sudo presents a different prompt when asking for a
password. All the prompt to be specified in device configruation to
handle such cases.
2015-04-10 09:03:48 +01:00
Lisa Nguyen
b41d316fd6 doc/source: Add details about running WA on Linux
Mention in the documentation that Android SDK is optional for
users who plan to run WA on Linux devices only, and how they
would only be able to start running a limited number of workloads.

Also included a few trivial fixes such as spelling errors and
moving sentences around to improve flow.

Signed-off-by: Lisa Nguyen <lisa.nguyen@linaro.org>
2015-04-10 08:22:01 +01:00
Lisa Nguyen
e37bf90da7 sysbench: Fix spelling, descriptions, and error message
Make the WorkloadError() message clearer if the sysbench
binary cannot be found on the device and host.

Also make trivial fixes to improve descriptions and fix
spelling errors.

Signed-off-by: Lisa Nguyen <lisa.nguyen@linaro.org>
2015-04-10 08:22:01 +01:00
Sergei Trofimov
544f5f0b92 Fixing terminalsize import error.
terminalsize was loaded from a location added to sys.path during
bootstrap. This appeared to be causing import issues. There is no longer
a good reason for terminalsize to be loaded that way, so just moved it
under wlauto.utils so that it can be loaded normally.
2015-04-09 08:32:02 +01:00
setrofim
73f889b45b Merge pull request #3 from freedomtan/master
typo: s/SKD/SDK/
2015-04-07 09:47:51 +01:00
Sergei Trofimov
7b5f5e2ed0 Fixing Linux device reset.
_is_ready was being set to False before invoking execute("reboot")
causing a device not ready error.
2015-04-07 09:09:13 +01:00
Koan-Sin Tan
cd4790dd4b s/SKD/SDK/ 2015-04-07 09:23:24 +08:00
Lisa Nguyen
0421b58c55 doc/source: Add uninstall and upgrade sections
Add the uninstall and upgrade commands for users to remove or
upgrade Workload Automation for future reference.

Signed-off-by: Lisa Nguyen <lisa.nguyen@linaro.org>
2015-04-01 17:19:02 +01:00
Lisa Nguyen
a7895a17bf common/linux/device.py: Create binaries_directory path if it doesn't exist
Some Linux devices may run on minimal root file systems
(e.g. buildroot) where /usr/local/bin path doesn't exist. Create
the binaries_directory if it doesn't exist instead of letting WA
quit and return errors such as:

INFO     Runner: Skipping the rest of the iterations for this spec.
ERROR    Runner: Error while running memcpy
ERROR    Runner: CalledProcessError("Command 'sshpass
                  -p '<password>' /usr/bin/scp -r
                  /usr/local/lib/python2.7/dist-packages/
                  wlauto-2.3.0-py2.7.egg/wlauto/workloads/memcpy
                  /memcpy root@192.168.x.x:/usr/local/bin/memcpy'
                  returned non-zero exit status 1")
ERROR    Runner: Got:
ERROR    Runner:
ERROR    Runner: scp: /usr/local/bin/memcpy:
                  No such file or directory

Signed-off-by: Lisa Nguyen <lisa.nguyen@linaro.org>
2015-04-01 08:05:11 +01:00
Sergei Trofimov
925c354551 Fix hotplugging all cores on a cluster.
When attempting to set number of cores on a cluster to 0, make
sure at least one core is enabled on the other cluster beforehand.
2015-03-27 12:54:26 +00:00
Lisa Nguyen
58ab762131 doc/source: Update quickstart
Update the quickstart guide to include steps for setting
up WA to run on Linux devices.

Signed-off-by: Lisa Nguyen <lisa.nguyen@linaro.org>
2015-03-26 17:51:51 +00:00
Sergei Trofimov
adb5ea9a30 Fixing UEFI entry creation for Juno
- UEFI config can be specified as a device_config parameter
- The same config is used to create a missing UEFI entry, and
  to re-create the entry when flashing. UEFI config now wholy
  resides within the device and is not specified for vexpress
  flasher.
2015-03-26 10:42:55 +00:00
Vasilis Flouris
5c48b75375 Adding dumpsys window output to __meta 2015-03-25 17:56:58 +00:00
Sergei Trofimov
678efa72e1 Fixing sysbench workload
- Updated sysbench binary to a statically linked verison
- Added missing LICENSE file for the sysbench binary
- Removed Android browser launch and shutdown from workload (now runs on both
  Linux and Android)
- Updated update_result to work with the new binary
- Added missing descriptions for parameters
- Added file_test_mode parameter -- this is a mandatory argumet if test is
  fileio
- Added cmd_params parameter to pass options directily to sysbench invocation
2015-03-25 10:31:02 +00:00
Vasilis Flouris
01d4126cc8 Fix for 64 bit revent [part 2]
The struct used to read events is being padded when built for 64
bit platforms. The padding has been made explicit in the struct, and
matching padding was added when writing the events during recording.
2015-03-23 18:59:54 +00:00
Kevin Hilman
bf12d18457 common/linux/device.py: don't require sudo if already root user
On generic_linux devices, one might ssh as the root user, in which
case there is no need to use sudo.

In addition, some root filesystems may not have sudo (e.g. minimal
buildroot/busybox).

This patch attempts to detect the root user using 'id -u' and, if it
detects the root user, avoids the use of sudo for running commands as
well.

Cc: Lisa Nguyen <lisa.nguyen@linaro.org>
Signed-off-by: Kevin Hilman <khilman@linaro.org>
(setrofim: modified to only test once)
2015-03-23 10:18:32 +00:00
Kevin Hilman
d4ee737e50 doc: device_setup: fix generic_linux device_config example
A copy/paste of the documentation example results in a python
backtrace because the dict keys cannot be quoted:

    wlauto.exceptions.ConfigError: Sytax error in config: keyword can't be an expression (config.py, line XYZ)

Fix by removing the quotes from the keys in the example.

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2015-03-23 09:24:40 +00:00
Sergei Trofimov
ee7f22e902 Fixing 64bit revent
Then number of input event files was being written as a size_t but read
as an int by revent. These types have different sizes with 64bit GCC,
causing revent not being able to replay recorded files. This comint
updates revent to use size_t when both reading and writing.
2015-03-20 09:25:57 +00:00