summaryrefslogtreecommitdiff
path: root/chromium/docs/website/site/chromium-os/testing/test-code-labs/autotest-client-tests/autotest-results-logs/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/docs/website/site/chromium-os/testing/test-code-labs/autotest-client-tests/autotest-results-logs/index.md')
-rw-r--r--chromium/docs/website/site/chromium-os/testing/test-code-labs/autotest-client-tests/autotest-results-logs/index.md205
1 files changed, 0 insertions, 205 deletions
diff --git a/chromium/docs/website/site/chromium-os/testing/test-code-labs/autotest-client-tests/autotest-results-logs/index.md b/chromium/docs/website/site/chromium-os/testing/test-code-labs/autotest-client-tests/autotest-results-logs/index.md
deleted file mode 100644
index 919ea910e75..00000000000
--- a/chromium/docs/website/site/chromium-os/testing/test-code-labs/autotest-client-tests/autotest-results-logs/index.md
+++ /dev/null
@@ -1,205 +0,0 @@
----
-breadcrumbs:
-- - /chromium-os
- - Chromium OS
-- - /chromium-os/testing
- - Testing Home
-- - /chromium-os/testing/test-code-labs
- - Test Code Labs
-- - /chromium-os/testing/test-code-labs/autotest-client-tests
- - Autotest Client Tests
-page_name: autotest-results-logs
-title: Autotest Results Logs
----
-
-This is a listing and brief explanation of the various results logs available
-through autotest. It is in no way comprehensive, and is only meant as an
-introduction to the topic.
-
-**High Level Overview:**
-
-1. Test runs and dumps its results into /usr/local/autotest/results
-
-2. Server job pulls this entire directory back via
-log_collector.collect_client_job_results. This does an rsync from the server
-results dir to the client results dir.
-
-3. [GSoffloader](http://www.chromium.org/chromium-os/testing/gs-offloader)
-uploads these results to google storage.
-
-The rest of this document describes how step 1 occurs, to learn more about the
-server job or gsoffloader please consult relevant documents.
-
-**How are these logs created?**
-
-Sysinfo logs are created by executing a command in a subprocess and redirecting
-it’s stdout to the appropriate file through base_sysinfo.py run(), examples of
-such commands are 'ls -l /boot' and '/opt/google/chrome/chrome --version', or
-just executing something like shutil.copyfile through a hook. There are 4 types
-of hooks:
-
-* boot_loggables - default commands to log per boot, /proc/mounts,
- /proc/cmdline, uname
-* test_loggables - default commands to log per test, dmesg, df
-* before_iteration_loggables - default commands to log before
- iteration
-* after_iteration_loggables - default commands to log after iteration
-
-**How does job.run_test trigger one of the loggables?**
-
-job.run_test creates a _sysinfo_logger through server/test.py
-
-Before invoking common_lib/test.py runtest, it sets up sysinfo logging by:
-
-1. installing autotest into a tmp sysinfo directory like
- /tmp/sysinfo/autoserv-asdf
-2. executing the sysinfo_before_test_script, which leads to a
- job.sysinfo.log_before_each_test
-
-**How do I collect a random directory as a result?**
-
-You should add it as a loggable hook. Say you would like to collect some
-directory every test iteration, you will first need:
-
-* A class that understands how to do this:
- * logdir: plain old copy from source to destination, create
- destination if it doesn't exist.
- * diffable_logdir: copies the diff of the contents of the dir.
- * purgeable_logdir: copies the contents and deletes source.
- * command: runs a command
-* A sysinfo hook: The job will call self.sysinfo.log_after_each_test,
- which will execute the 'run' arguments of all the classes in the
- list, for each hook.
- * iteration loggables are called on every invocation of run_job,
- for a given test job instance
- * boot/test loggables are called on every instantiation of the job
- object, with the latter only happening for client jobs that
- represent tests (i.e there are different types of jobs, like
- site_job, base_client_job, base_job etc but most often you only
- care about the client jobs).
-
-Once you've picked a class and hook:
-
- Instantiate this class and add it to a list of classes to call every
- iteration/test/boo
-
- 1. Import site_sysinfo in your test: from
- autotest_lib.client.bin.site_sysinfo
- 2. within your initialize method add:
- self.test_loggables.add(site_sysinfo.logdir('/tmp/mytempdir_to_copy'))
-
- After your test is done, check the
- <results_folder>/<test_name>/sysinfo/tmp/mytempdir_to_copy
- directory, where the results folder is the one you specified through -r when
- invoking run_remote_tests.
-
-What follows is an inspection of directories we pull back from the DUT:
-
-<table>
-<tr>
-
-<td>Autotest</td>
-
-<td>generate_logs</td>
-
-</tr>
-<tr>
-
-<td>.</td>
-<td> |-crashinfo.172.22.193.233</td>
-<td> |-debug</td>
-<td> |-power_Resume</td>
-<td> |---debug</td>
-<td> |---profiling</td>
-<td> |---results</td>
-<td> |---sysinfo</td>
-<td> |-----iteration.1</td>
-<td> |-------var</td>
-<td> |---------spool</td>
-<td> |-----------crash</td>
-<td> |-----var</td>
-<td> |-------log_diff</td>
-<td> |---------chrome</td>
-<td> |-----------Crash Reports</td>
-<td> |---------gct</td>
-<td> |---------metrics</td>
-<td> |---------power_manager</td>
-<td> |---------recover_duts</td>
-<td> |---------ui</td>
-<td> |---------update_engine</td>
-<td> |---------window_manager</td>
-<td> |---------xorg</td>
-<td> |-------spool</td>
-<td> |---------crash</td>
-<td> |-sysinfo</td>
-
-<td>.</td>
-<td> |-crashdumps</td>
-<td> |---Crash Reports</td>
-<td> |-network_profiles</td>
-<td> |---var</td>
-<td> |-----cache</td>
-<td> |-------shill</td>
-<td> |-policy_data</td>
-<td> |---whitelist</td>
-<td> |-system_level_logs</td>
-<td> |---chrome</td>
-<td> |-----Crash Reports</td>
-<td> |---gct</td>
-<td> |---metrics</td>
-<td> |---power_manager</td>
-<td> |---recover_duts</td>
-<td> |---ui</td>
-<td> |---update_engine</td>
-<td> |---window_manager</td>
-<td> |---xorg</td>
-<td> |-user_level_logs</td>
-
-</tr>
-</table>
-
-The collection of these logs happens through site_sysinfo, base_sysinfo.
-client/bin base_sysinfo has a set of default commands to run per
-test/boot/iteration and sets them in base_sysinfo __init__.
-
-1.
-
-var/
-
---log_diff/
-
-----logs from cc files grouped by function.eg: power_manager directory contains
-log messages from files input.cc, powerd.cc etc. The redirection of their output
-occurs through LOG macros (eg chromium/src/base/logging.cc: ~307), and autotest
-pulls the new contents of ‘/var/log’ generated during the test in its
-log_after_\* hooks using site_sysinfo.diffable_logdir (which rsyncs).
-
---spool/
-
-----crash
-
-\[server/site_crashcollect.py\]
-
-On every crash we get a minidmp on the DUT, the server pulls this file back and
-attempts to symbolicate it with symbols in /build/ and the devserver. how does
-the server know theres a crash, where does it go looking for a crash dump file
-and what generates a dump file.
-
-Normal minidumps are uploaded to a crash server which attempts to produce a
-stack trace txt file. Autotest tries to run stacktrace with the appropriate
-symbols on a crash server.
-
-2.
-
-\[base_sysinfo in bin/base_sysinfo.py\]
-
-boot_loggables-cmdline, installed_packages, proc_mounts, uname, meminfo,
-slabinfo, version, pci, cpuinfo, modules, interrupts, partitions, lspci -vn,
-gcc--version, ld--version, mount, hostname, uptime.
-
-test_loggables-df, dmesg, installed_packages, schedstat, meminfo, slabinfo,
-interrupts
-
-If you have come this far, you may also be interested in reading the autotest
-client tests
-[codelab](/chromium-os/testing/test-code-labs/autotest-client-tests). \ No newline at end of file