mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-01-19 04:21:17 +00:00
362e93c4cb
This fixes an issue introduced by commit 5965956 revent: fix off-by-one in replay This moved the updating of the current event to the beginning of the body of the loop, after the check of the while loop to prevent attempting to assign past the end of array. The problem is that one the conditions in the check relies on the event being updated, so it need to happen before that part of the loop condition check. This move event update back to the end of the loop body, but it moves the array bounds check from the while loop condition into the body, just before the update but after the counter is incremented. This should satisfy both, the counter being bounds checked before it is used, and the event being updated to the next one to be played before the timing check in the loop condition.
This directory contains external libraries and standalone utilities which have been written/modified to work with Workload Automation (and thus need to be included with WA rather than obtained from orignal sources). bbench_server ============= This is a small sever that is used to detect when ``bbench`` workload has completed. ``bbench`` navigates though a bunch of web pages in a browser using javascript. It will cause the browser to sent a GET request to the port the bbench_server is listening on, indicating the end of workload. daq_server ========== Contains Daq server files that will run on a Windows machine. Please refer to daq instrument documentation. louie (third party) ===== Python package that is itself a fork (and now, a replacement for) pydispatcher. This library provides a signal dispatching mechanism. This has been modified for WA to add prioritization to callbacks. pmu_logger ========== Source for the kernel driver that enable the logging of CCI counters to ftrace on periodic basis. This driver is required by the ``cci_pmu_logger`` instrument. readenergy ========== Outputs Juno internal energy/power/voltage/current measurments by reading APB regesiters from memory. This is used by ``juno_energy`` instrument. revent ====== This is a tool that is used to both record and playback key press and screen tap events. It is used to record UI manipulation for some workloads (such as games) where it is not possible to use the Android UI Automator. The tools is also included in binary form in wlauto/common/. In order to build the tool from source, you will need to have Android NDK in your PATH. stacktracer.py (third party) ============== A module based on an ActiveState recipe that allows tracing thread stacks during execution of a Python program. This is used through the ``--debug`` flag in WA to ease debuging multi-threaded parts of the code. terminalsize.py (third party) =============== Implements a platform-agnostic way of determining terminal window size. Taken from a public Github gist. uiauto ====== Contains the utilities library for UI automation.