mirror of
https://github.com/ARM-software/devlib.git
synced 2025-01-31 02:00:45 +00:00
Javi Merino
fcd2439b50
LogcatCollector: flush the log before terminating pexpect.spawn()
Unless we tell pexpect to expect something it will not read from the process' buffer, or write anything to the logfile. If we follow the collector instructions from devlib's documentation: In [1]: from devlib import AndroidTarget, LogcatCollector In [2]: t = AndroidTarget() # Set up the collector on the Target. In [3]: collector = LogcatCollector(t) # Configure the output file path for the collector to use. In [4]: collector.set_output('adb_log.txt') # Reset the Collector to preform any required configuration or # preparation. In [5]: collector.reset() # Start Collecting In [6]: collector.start() # Wait for some output to be generated In [7]: sleep(10) # Stop Collecting In [8]: collector.stop() # Retrieved the collected data In [9]: output = collector.get_data() adb_log.txt will be empty because between collector.start() and collector.stop() there were no expect() calls to LogcatMonitor._logcat. As the get_log() function already has code to flush the log, abstract it to a function and call it in stop() before terminating the pexpect.spawn().
devlib ====== ``devlib`` exposes an interface for interacting with and collecting measurements from a variety of devices (such as mobile phones, tablets and development boards) running a Linux-based operating system. Installation ------------ :: sudo -H pip install devlib Dependencies ------------ ``devlib`` should install all dependencies automatically, however if you run into issues please ensure you are using that latest version of pip. On some systems there may additional steps required to install the dependency ``paramiko`` please consult the `module documentation <http://www.paramiko.org/installing.html>`_ for more information. Usage ----- Please refer to the "Overview" section of the `documentation <http://devlib.readthedocs.io/en/latest/>`_. License ------- This package is distributed under `Apache v2.0 License <http://www.apache.org/licenses/LICENSE-2.0>`_. Feedback, Contrubutions and Support ----------------------------------- - Please use the GitHub Issue Tracker associated with this repository for feedback. - ARM licensees may contact ARM directly via their partner managers. - We welcome code contributions via GitHub Pull requests. Please try to stick to the style in the rest of the code for your contributions.
Description
Languages
Python
96%
Shell
1.8%
C
1.4%
Java
0.5%
Dockerfile
0.3%