- added initialze and finalize methods to workloads, which were the only
major extension types that did not have them
- Semanatics for initialize/finalize for *all* Extensions are changed so
that now they will always run at most once per run. They will not be
executed twice even if invoke via istances of different subclasses (if
those subclasses defined their own verions, then their versions will
be invoked once each, but the base version will only get invoked
once).
In both cases, the ABI is now obtained by executing "uname -m" on the
device and perfroming a mapping from the returned machine architecture
a known ABI. If no known ABI is found the architecture string itself is
returned.
- add IterationResult-level classifiers that get merged into every
added metric (saves having to pass the same classifiers to each
metric added).
- Added a global alias to csv result processor's use_all_classifiers
attribute.
- updated energy_model to accept dhrystone as well as sysbench as
the workload
- added "threads" parameter to sysbench (basically, an alias for
"num_threads") to be consistent with dhrystone
- added "taskset_mask" parameter to dhrystone to allow pinning
it to specific cores.
- Now works with earlier versions of the DAQmx driver. This is needed to
be able to run the server on Linux systems, which support older
verisions of the driver only.
- DAQ error messages are now properly propaged to the client (PyDAQmx
uses "mess" rather than "message" attribute to store the message in
the Exception obejects).
- pylint and pep8 fixes
Background processes may produce output on STDOUT. This could get
captured when obtaining the result of "echo $?" to get previos command's
exit code. So it's not safe to assume that output will always be an int.
Attempt to strip out superflous output before doing the int conversion
and, on failure, log a warning but don't error out.
Some options in config_example.py are not reachable. It makes users
confused. So make the options in the file as gobal_alias.
Signed-off-by: zhizhou.zhang <zhizhou.zhang@spreadtrum.com>
added more paths to pull by default when device.get_properties is
invoked during run initialization. Also moved the LinuxDevice
implementation into BaseLinuxDevice, so that AndroidDevice tires to pull
the same files (on top of the Android-specific stuff).
list_or_* functions (e.g. list_or_string) will now always return a list,
however will accept lists or indivitual values. Also added a list_or()
generator function, similar to what already exists for list_of().
- Do not try to use a pager if it explicitly disabled with PAGER='' in
the environment.
- If terminal size is identified as (0, 0), fall back to default (80,
25).
As instrumentation can be enabled/disabled for a specfic workload
execution, it is sometimes not enough to verify that an instrument has
been installed for the run; one might need to check whether it is
currently enabled.