• Home
  • History
  • Annotate
  • only in /external/autotest/tko/parsers/
History log of /external/autotest/tko/parsers/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
23dbf4987dc849d4214beb9761de62b76ee2fdc9 13-Nov-2017 Dan Shi <dshi@google.com> [autotest] Change tko machine_group name from board label to model label

BUG=chromium:780893
TEST=unittest, local parse.

Change-Id: I8346c67e837a67d06cd4a285552c9b66c251b5c1
Reviewed-on: https://chromium-review.googlesource.com/767109
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: C Shapiro <shapiroc@google.com>
ersion_0.py
ersion_0_unittest.py
afe550a63024ebaf0dcb37870cd394998f748d71 04-Sep-2017 Sida Liu <sidal@chromium.org> [autotest] Bug fix:

1) modified parse.py to log test.testname and test.subdir
2) modified version_1.py to report abort for each unexpected
indent using line.testname as testname.
3) modified version_1_unittest to add test for abort with no
testname or no subdir

BUG=chromium:761689
TEST=Ran unit tests for version_1.py; ran parse.py against several
status.log with and without unexpected indents

Change-Id: I03a3852df38ccfaabf216427398493f50619bbe3
Reviewed-on: https://chromium-review.googlesource.com/648643
Commit-Ready: Sida Liu <sidal@chromium.org>
Tested-by: Sida Liu <sidal@chromium.org>
Reviewed-by: Sida Liu <sidal@chromium.org>
Reviewed-by: Michael Tang <ntang@chromium.org>
ersion_1.py
ersion_1_unittest.py
84a85956f1c44de3645dd8eea255bbd2148a3e55 04-Feb-2017 Prathmesh Prabhu <pprabhu@chromium.org> [tko] Sanitize imports

BUG=chromium:682417
TEST=None

Change-Id: I9d1ce06054e7d5cddcc3e09c5543c376362cc0a3
Reviewed-on: https://chromium-review.googlesource.com/437680
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
ersion_1.py
d8561576404bcb7c3c56d1c691129ba285693d03 04-Feb-2017 Prathmesh Prabhu <pprabhu@chromium.org> [tko] Sanitize imports

BUG=chromium:682417
TEST=None

Change-Id: I876698190f052d5673083bbe91729866457e5af6
Reviewed-on: https://chromium-review.googlesource.com/437909
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
ersion_0.py
9aa4a037bfc8c7679221a1b2e4074668ac68a27d 17-Feb-2017 Luigi Semenzato <semenzato@chromium.org> tko parser: fix variable scoping

The variable ignored_lines was set to the empty list
in print_and_reset_ignored_lines(). This made the python
parser treat it as local to the function instead of using
the variable defined in the outer scope. Removing the
assignment is probably the best solution in this case.

BUG=chromium:693610
TEST=none

Change-Id: I5a388855b2d808075e7e265fd1dababa4f082aec
Reviewed-on: https://chromium-review.googlesource.com/444100
Commit-Ready: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
ersion_1.py
e70648162260bfd46a56fd1a1d1d7f86ec01e600 03-Feb-2017 Luigi Semenzato <semenzato@chromium.org> TKO parser: improve some error messages in debug log

These changes try to make it clearer that the errors
aren't critical to the execution of the test, and also
slightly reduce the spew to improve log readability.

BUG=chromium:659741
TEST=none

Change-Id: I1a2332becb6d6d1fbd5f23f39dbbc502a631d37c
Reviewed-on: https://chromium-review.googlesource.com/437707
Commit-Ready: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
est/scenario_base.py
ersion_0.py
ersion_1.py
adf313165f835de2e47ad9e8d4ee9fab388e6a7c 28-Jun-2016 Simran Basi <sbasi@google.com> autotest: Add suite support for testbeds.

Adds basic suite support for Android testbeds. Note this does not
support SSP and only uses the Autotest code that is currently
pushed to prod.

* Added a new provision test (provision_TestbedUpdate).
* Added a basic suite to test this workflow.
* Updated the parsers to allow for multiple boards.
* Had to adjust the provision control_segment to allow commas
in the key-value labels.

BUG=chromium:628415,chromium:628036
TEST=./site_utils/run_suite.py --board=dragonboard-2 \
--build=git_mnc-brillo-dev/dragonboard-eng/3014741,\
git_mnc-brillo-dev/dragonboard-eng/3014741 \
--suite_name=dummy_testbed --pool='' --run_prod_code

Change-Id: Ica04911974d69498877b9cedb9cefc4a5d0bcdd5
Reviewed-on: https://chromium-review.googlesource.com/360663
Commit-Ready: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
ersion_0.py
c8a2a8243228b36566684a9d69b124c702004c28 13-Nov-2015 Dan Shi <dshi@chromium.org> [autotest] Use board label as machine group for tko_machine in paser job.

This change is to help wmatrix to group tests with board label, rather than
platform.

BUG=chromium:555675
TEST=run test locally, verify machine_group in a new tko_machine entry showes
the board label as machine_group.

Change-Id: If1c514fc427fa5ee223986513349665cc741fbd7
Reviewed-on: https://chromium-review.googlesource.com/312566
Commit-Ready: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
ersion_0.py
ersion_0_unittest.py
7f24f0bfe69b2f36ba74350fba9ad547ac55571c 12-Nov-2013 Fang Deng <fdeng@chromium.org> [autotest] test can output graph name when calling output_perf_value

Previously, if we want to group several perf measurements together
to be displayed on the same graph, we need to specify the mapping
information in perf_dashbaord_config.json. However, some tests
like telemetry_Benchmarks output many metrics. We would end up
with a very huge config file if we specify them all. It would require
much efforts if those metrics change in the future.
This change is to allow test to output graph names dynamically.

1) output_perf_value now takes a new arg 'graph'. This value is
written to the json file perf_measurements.
2) a new column 'graph' is added to the database table
tko_iteration_perf_value.
3) the tko parser is modified to store the value of 'graph' from
perf_measurements to the database.
4) perf_uploader is modified to upload a perf measurement to the
specific graph if 'graph' is set.

Example:
Previously, if we wanted to specify group "metric1" and "metric2"
to the same graph "metricGroupA", and group "metric3" and "metric4"
to "metricGroupB", the json needed to look like:
{
“autotest_name”: “myTest”,
“master_name”: “myMaster”,
“dashboard_test_name”: “myCoolTest”
“graphs”: [
{
“graph_name”: “metricGroupA”,
“descriptions”: [“metric1”, “metric2”]
},
{
“graph_name”: “metricGroupB”,
“descriptions”: [“metric3”, “metric4”]
},

]
}
After this change list lands, the json file will not
take "graphs" configuration. It will look like.
{
“autotest_name”: “myTest”,
“master_name”: “myMaster”,
“dashboard_test_name”: “myCoolTest”
}
Meanwhile, the test should call
output_perf_value(description="metric1", units=.., higher_is_better=..,
graph='metricGroupA')
output_perf_value(description="metric2", units=.., higher_is_better=..,
graph='metricGroupA')
output_perf_value(description="metric3", units=.., higher_is_better=..,
graph='metricGroupB')
output_perf_value(description="metric4", units=.., higher_is_better=..,
graph='metricGroupB')

BUG=chromium:315274
TEST=1) Verified all unit tests passed: version_1_unittest.py,
perf_uploader_unittest.py
2) Modify perf_uploader.py to use staging perf dashboard server
_DASHBOARD_UPLOAD_URL =
'https://chrome-perf.googleplex.com/add_point'
Modify platform_BootPerfServer to output graph name.
Invoked platform_BootPerfServer from local AFE.
Verify that the perf_measurements file have the graph name.
Verify that the data was displayed correctly in the dashboard.
3) python migrate.py sync 82, to verify column 'graph' get created
python migrate.py sync 81, to verify column 'graph' is dropped
DEPLOY=migrate (/usr/local/autotest/database$ python migrate.py sync 82)

Change-Id: I0b746f4ab3162eb7ba4aefa12294b7a60e326513
Reviewed-on: https://chromium-review.googlesource.com/176575
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
ersion_1.py
ccbc9d4f29e0680104a01c137bcaea6c0363d159 23-Jul-2013 Dennis Jeffrey <dennisjeffrey@chromium.org> Satisfy pylint in a few files related to the autotest TKO parser.

This changes fixes all pylint complaints in the files that are part
of this CL. A few other minor style adjustments are made to get the
files closer to proper autotest style (make comments complete sentences;
change double quotes to single quotes when defining strings).

BUG=None
TEST=(1) Verified the version_1 parser unit tests pass:
tko/parsers$> python version_1_unittest.py
(2) Verified that platform_GesturesRegressionTest still completes
successfully when invoked on a local device using a local AFE.

Change-Id: I5aa12eedc0c31f58fe2bb06d2da3eada407e34ee
Reviewed-on: https://gerrit.chromium.org/gerrit/63121
Commit-Queue: Dennis Jeffrey <dennisjeffrey@chromium.org>
Reviewed-by: Dennis Jeffrey <dennisjeffrey@chromium.org>
Tested-by: Dennis Jeffrey <dennisjeffrey@chromium.org>
ersion_1.py
ersion_1_unittest.py
05eb4b1bd044d57dd891a9e4f2b856f75b5bb730 17-Jul-2013 Dennis Jeffrey <dennisjeffrey@chromium.org> Autotest TKO parser now parses perf_measurements test output files.

This change is part of a series of changes in which we're modifying how
autotest handles/stores perf test measurements, to better align with chrome
team's perf dashboard.

Previously, a new function was added that tests can invoke to output
perf measurements; this information is written into a test result file
named "perf_measurements".

The next step is to modify the autotest TKO parser to parse the
perf_measurements output file and then insert this data into the results
database. This first half of this -- having the TKO parser parse the
perf_measurements output file -- is accomplished in this CL. In the
next CL, the parsed information will be inserted into the results
database.

Changes in the current CL are modeled after the way in which Autotest
currently parses performance keyvals.

BUG=chromium:258230
TEST=(1) Verified all unit tests passed: "python version_1_unittest.py".
(2) Invoked platform_GesturesRegressionTest using a local AFE and
verified that the results in the "perf_measurements" output file
are parsed correctly.
(3) Invoked the parsing code on a manually-constructed "perf_measurements"
output file containing results from multiple iterations, and a mixture
of individual values and lists of values, and verified that the perf
data is parsed correctly.
(4) Invoked platform_BootPerf using a local AFE (which currently does
not result in a "perf_measurements" output file) and verified that
the TKO parser still passes successfully.

Change-Id: I88090c980cea0c8e09dc0156911dcc357922c27a
Reviewed-on: https://gerrit.chromium.org/gerrit/62672
Reviewed-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Queue: Dennis Jeffrey <dennisjeffrey@chromium.org>
Tested-by: Dennis Jeffrey <dennisjeffrey@chromium.org>
ersion_1.py
ersion_1_unittest.py
8adf78936c915df6fd1edb6c592f40a7ed8350a5 09-Sep-2011 Dale Curtis <dalecurtis@chromium.org> Autotest upstream merge.

Merged from d9d64b855363d214996b187380532d4cc9991d29 to
7bad38846fe9c74e42018131ce85aec2b5e6c7a9

BUG=none
TEST=emerge autotest, run bvt, smoke.

Change-Id: Ibe6462198e84e0d41fa160af086283cd712da4a6
Reviewed-on: http://gerrit.chromium.org/gerrit/7440
Tested-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
ase.py
est/__init__.py
est/templates/__init__.py
est/templates/scenario_package_common.py
51976cdb7c8dfa85f4d53c659e3b836d1435e4f9 12-Aug-2011 Dale Curtis <dalecurtis@chromium.org> Parse reason out of logs for display in results emails.

A recent upstream Autotest merge has reduced the effectiveness of
reporting error logs alone. With this patch I've added the contents of
the reason field to the beginning of the log data.

Due to this change, I've reduced the number of lines returned from the
error log from 25 to 10.

I also fixed a parser error which caused reasons with an equal sign in
them to be treated as optional parts.

BUG=none
TEST=ran parser against results. running in production.

Change-Id: I2a5970013f1b8b04f21860af66974a5fb65ba864
Reviewed-on: http://gerrit.chromium.org/gerrit/5905
Reviewed-by: Nirnimesh <nirnimesh@chromium.org>
Tested-by: Dale Curtis <dalecurtis@chromium.org>
ersion_0.py
74a314b490ff542c4dd2ae4aa0d11c6394d92960 23-Jun-2011 Dale Curtis <dalecurtis@chromium.org> Upstream Autotest merge.

As titled, a merge up to 93fc426ca133e775eb495f34d138fc57d92fb55e.

- Removes a bunch of deprecated code.
- Moves several private utilities into the private repo.
- Couple changes ported upstream and resynced.

BUG=None
TEST=In progress... will spin up new Autotest server and use
run_remote_tests for bvt, regression, smoke.

Change-Id: Id3e2ad529bb7b05f148e5d98aea46bb9ea828200
Reviewed-on: http://gerrit.chromium.org/gerrit/3350
Tested-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
ersion_0.py
ersion_0_unittest.py
ersion_1_unittest.py
d656d56473f50b9c1a9f5e2b2f5a9472181ee342 20-Apr-2011 Eric Li <ericli@chromium.org> Merge remote branch 'autotest-upstream/master' into autotest-merge

Merged to autotest upstream @5317.

BUG=none
TEST=
1. utils/unittest_suite.py
2. utils/packager.py --all upload -r /tmp/pkgs
3. utils/compile_gwt_clients.py

enter_chroot
emerge-x86-generic autotest-*
emerge-arm-generic autotest-*

run_remote_test suite_Smoke
run_remote_test bvt

Review URL: http://codereview.chromium.org/6883035

Change-Id: I03240d8652ffdfde4d6c8fbf474e2fad7f3cda10
ersion_0_unittest.py
ersion_1_unittest.py
e5436f3561713c9f68eebc4c9347ffb59e36bd8f 31-Mar-2011 Dale Curtis <dalecurtis@chromium.org> Add new site parser based off on generate_test_report.

This site parser is used to generate a JSON report of test failures, crashes,
and the associated logs for later consumption by an Email generator.

The parser uses the test report generator which comes bundled with the Chrome
OS source tree in order to maintain consistency. As well as not having to keep
track of any secondary failure white lists.

The path to the Chrome OS source tree is defined in global_config under the
CROS section as 'source_tree'.

Existing parse behavior is kept completely intact. If the site parser is not
configured it will print a debug message and exit after default parser is
called.

Relies on changes to generate_test_report here:

http://codereview.chromium.org/6731024/

Change-Id: Ib4696b88a22ca67b0822a72366d57709a5863ae5

BUG=chromium-os:12100, chromium-os:13586, chromium-os:13496
TEST=Ran parser on many sets of results.

Review URL: http://codereview.chromium.org/6758040
ersion_0.py
861b2d54aec24228cdb3895dbc40062cb40cb2ad 04-Feb-2011 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into master

Merged to upstream autotest @4749~@5215.

The entire change list description is too big to enlist here. Please refer to upstream (http://autotest.kernel.org/browser) for more details.

BUG=
TEST=emerged both x86 and arm build.
Tested emerged x86 build bvt against a chromeos device.

Review URL: http://codereview.chromium.org/6246035

Change-Id: I8455f2135c87c321c6efc232e2869dc8f675395e
ersion_1.py
ersion_1_unittest.py
bdaab795cffa33f9a37995bb283047cb03699272 07-Jan-2011 Kenneth Waters <kwaters@chromium.org> Revert "Merge remote branch 'cros/upstream' into autotest-rebase"

This reverts commit 7edb30498d75a29a3287fe07070f2b51a116c5d4.

TEST=Built for tegra2_seaboard
BUG=10756

Review URL: http://codereview.chromium.org/6124004

Change-Id: Ifcd1a2279f5a62b99552a8f961c1430889a3a928
ersion_1.py
ersion_1_unittest.py
7edb30498d75a29a3287fe07070f2b51a116c5d4 07-Jan-2011 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into autotest-rebase

Merged to upstream trunk@5066, from trunk@4749.

There is no way I could enlist each individual CL from the upstream here since it will blow up the changelist description field.

BUG=
TEST=
Had patched this CL into a fresh cut client to avoid any side effect.
run_remote_test bvt from both emerged location and third_party/autotest/file.

Both test passed!

We should also keep any eye on this to see how it gets propagated into cautotest server.
TBR=dalecurtis

Change-Id: I72f2bc7a9de530178484aea1bfb5ace68bcad029
ersion_1.py
ersion_1_unittest.py
e8dac7a116f39ab5a20c3dcb15bab4446fcfbb81 20-Oct-2010 Dale Curtis <dalecurtis@chromium.org> With this change the parse_line method will no longer throw assertion errors when reasons contain tab characters or invalid key=value pairs.

As a side effect, improperly formatted key=value optional parts (and all valid key=value pairs after) will be rolled into the reason.

I've added a new unit test, test_parse_line_handles_tabs_in_reason, and removed the now deprecated unit test, test_parse_line_fails_on_bad_optional_fields.

A previous CL for multi-line support also used strip() on the status line when the pre-CL behavior would only remove trailing '\n'. I've reverted the code to reflect the original behavior.

I'm open to suggestions on a more complete regex for matching key names. For our test base, \w is sufficient.

Change-Id: I351a61080dd335aa591b90565b5cc53f558641e0

TEST=Unit tests plus in production runs.

Review URL: http://codereview.chromium.org/3885001
ersion_0.py
ersion_0_unittest.py
7b2c643370076b638a8c6d8c4a63d0fc399b9153 12-Oct-2010 Dale Curtis <dalecurtis@chromium.org> Add support for multi-line status messages.

Many of our Autotest test cases return multi-line status messages upon failure. Due to the regular expression used by Autotest these lines cause an "AttributeError: 'NoneType' object has no attribute 'groups'" exception to be thrown. By modifying the regular expression to allow '.' to match '\n' these errors are avoided.

I've added a new unit test, test_parse_line_handles_embedded_new_lines(), to check for these types of messages.

Change-Id: I0b3f4d90caf2cfc81724b928f6bea90eec6c38b0

BUG=7611
TEST=Ran unit tests. Ran in production system over the weekend.

Review URL: http://codereview.chromium.org/3719002
ersion_0.py
ersion_0_unittest.py
6f27d4f22a1ba5063968b8c322fa0845f3279ade 29-Sep-2010 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into tempbranch3

Merge to trunk@4817

BUG=
TEST=

Review URL: http://codereview.chromium.org/3554003

Change-Id: I83376bc7d28104ec2678e157eadbe7df7c05c0e0
ersion_1.py
517d95a1ef4edb04da427763f86068a447d45ec7 29-Sep-2010 Benson Leung <bleung@chromium.org> Revert "Merge remote branch 'cros/upstream' into tempbranch2"

This reverts commit 25fc6d1f28e54c46689f12d3b93c2540ef45323a.

TBR=ericli@chromium.org

Review URL: http://codereview.chromium.org/3541002

Change-Id: Ib0165b19bfdf02264f8a6a74ddf3ae74c8c0f7df
ersion_1.py
25fc6d1f28e54c46689f12d3b93c2540ef45323a 29-Sep-2010 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into tempbranch2

Merged to trunk@4816.

BUG=
TEST=we will build a new autotest server instance, and keep cautotest running and then later do a cname switch.

Review URL: http://codereview.chromium.org/3511003

Change-Id: Iee5f52f45f28f84927d6c6f9a74edc370d40288a
ersion_1.py
f98230c1b7254c0fae0048b855c37d696cbf44d4 11-Jun-2010 jamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed a minor bug in version_0.py. The constructor was missing an argument. The number of arguments to the version_0.test constructor was inconsistent with that of test constructor in version_1 and model.

Signed-off-by: Darren Kuo <darrenkuo@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4597 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
d1b0a130f87bf57ce3fe7abcadd8fbd8752a0c45 04-May-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix the recent CLIENT_JOB changes in the parser to not conflict with
the SERVER_JOB changes, and to properly tie the RUNNING entry to the
final CLIENT_JOB entry.

Signed-off-by: John Admanski <jadmanski@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4464 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
43b72108069858c9e9a3ebc90e5e2af076885bd4 30-Apr-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix the parser to report a "RUNNING" status for CLIENT_JOB.* entries
in TKO, analogous to the same entry for SERVER_JOB.

Signed-off-by: John Admanski <jadmanski@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4454 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
6f80e7a07b277d54cbc88069122b12849fd4832e 04-Feb-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Autotest: Porting all hash operations to use utils.hash

Replace all functions that evaluate md5 and sha1 hexdigests
with the function utils.hash().

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4204 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1_unittest.py
c1a98d1e146080bd3e4f034cb13d740dfb1535f4 15-Jan-2010 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Support for job keyvals
* can be passed as an argument to create_job, stored in AFE DB
* scheduler reads them from the AFE DB and writes them to the job-level keyval file before the job starts
* parser reads them from the keyval file and writes them to the TKO DB in a new table

Since the field name "key" happens to be a MySQL keyword, I went ahead and made db.py support proper quoting of field names. Evetually it'd be really nice to deprecate db.py and use Django models exclusively, but that is a far-off dream.

Still lacking support in the AFE and TKO web clients and CLIs, at least the TKO part will be coming soon

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4123 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
6631273af8b88842cbd6202cc4615daf050cc957 27-Aug-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make a bunch of stuff executable



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3621 592f7852-d20e-0410-864c-8624ca9c26a4
est/execute_parser.py
est/inspect_parser_result_store.py
est/new_scenario.py
est/templates/base.py
ersion_0_unittest.py
ersion_1_unittest.py
71b9431ef91c07e45d7b780d321f1d771bdc9c75 21-Aug-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Make the parser read and use the machine platform from host_keyvals, if available. Goodbye machine_transfer! Also made it handle multimachine jobs (use a comma-separated, sorted list of distinct platforms from the individual machines) and atomic group jobs (use the same atomic group override value that was used for machine name, when applicable).

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3583 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
ersion_0_unittest.py
1ef218db76c473c28627377d8f50d6e6c6743289 03-Aug-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This is the result of a batch reindent.py across our tree.
As Martin pointed out, we ought to be more careful and
create a pre-svn commit script to avoid inserting trash
in the tree, meanwhile, this is a good start to cleanup
things

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3487 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
ersion_1.py
d2e0f0c851c8cbe14e8733b7ca7dc1dd12aa2000 20-Jul-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Change the parser handling of perf keyvals to bypass any non-numeric values.
MySQL will interpret those as zero when we really don't want to include values like
NaN at all.

This also adds some unit tests for this function and refactors the function.

Risk: Low
Visibility: Non-numeric perf values will no longer get written into the DB.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3424 592f7852-d20e-0410-864c-8624ca9c26a4
est/execute_parser.py
ersion_1.py
ersion_1_unittest.py
e3274a4cc054022059c87459d35f562b9f3d4d67 11-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Update parser unittests to use autotemp

Signed-off-by: Scott Zawalski <scottz@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3397 592f7852-d20e-0410-864c-8624ca9c26a4
est/new_scenario.py
est/scenario_base.py
1f99f6708091ae5f68749c05f371abb6b01211b2 01-Jul-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Make some changes to the parser so that when multiple reasons are
logged not only are duplicates discarded, but also reason strings which
are subsets of one another.

So for example if a test logs X and then X,Y and then X,Y,Z then the
final reason will only include X,Y,Z.

Risk: Low
Visibility: Should reduce the amount of duplication in final reasons
for multi-reason failures.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3346 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
7c8ea99fecf140093f2fe3dcd0ab6b5bf65b1bbe 22-Jun-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Not all distros put a symlink in for the python version. However
all should have a /usr/bin/python target. There are still a couple
files that hardcode a /usr/lib/python2.4 path, but that's a harder
problem to solve and outside the scope of this patch.

Signed-off-by: Jesse Keating <jkeating@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3319 592f7852-d20e-0410-864c-8624ca9c26a4
est/inspect_parser_result_store.py
est/new_scenario.py
est/templates/base.py
64e63450b816aebec111d0f17e886e404e723771 10-Jun-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> If a group doesn't define a subdir, and it executes "inner" tests that
do, apply that same subdir to the outer group instead of simply using
nothing.

Risk: Low
Visibility: Changes some subdir handling for groups.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3241 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
5350a34676f05c45fdbf3c2b9ba234b7c6ed292a 26-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Always use the host_group_name even if a sysinfo/hostname file exists
when the keyvals hostname is a list of machines.

Fixes the version_0 host_group_name unittests to stub out find_hostname
so that local files are not read. This also verifies that find_hostname
is not called when a host_group_name is present.

Signed-off-by: Gregory Smith <gps@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3178 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
ersion_0_unittest.py
f1ae354808a2eeb95d706a669250b613765212a4 11-May-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Represent a group of machines with either the atomic group label name,
if a specific label was used, or the atomic group name in the results
database when parsing.

Adds an optional host_group_name= to the server side group job keyval
file. The scheduler choses the most appropriate name for this and adds
it to the group keyvals file.

Changes the TKO results parser to use host_group_name= as the machine name
instead of hostname= when hostname= is a comma separated list of hostnames
rather than a single name.

Also fixes atomic group scheduling to be able to use up to the atomic group's
max_number_of_machines when launching the job; This is still unlikely to
happen as the code still launches the job as soon as at least the sync count
have exited Verify.

Signed-off-by: Gregory Smith <gps@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3103 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
ersion_0_unittest.py
aaac45e4e834f7e46719457743e447965114299d 06-May-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Use a set instead of a list to store currently running reasons, and
sort it when combining multiple entries into a string. This eliminates
duplicates and forces a "standard" ordering.

Risk: Low
Visibility: Eliminate duplicate warnings from the status log.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3093 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
b683796d7fc48e2b5b175df082c6179ad1921b7f 21-Apr-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up the parser to interpret reasons in a more logical and
consistent manner. Currently we generate reasons for RUNNING
test entries by looking at the reasons from any "bad" status
messages, but this still doesn't affect the final status message.
So a test that ended up with WARN status because of a warning would
still just see a "completed successfully" reason, which is less than
helpful. This changes the behaviour to allow the bad RUNNING reason
to override the final reason if it's worse.

Risk: Low
Visibility: Changes the final reason field parsed to be more in line
with the RUNNING field.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3020 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
262e1ab62c55f21e2f80a96f30b8f9fe450cc32c 01-Apr-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> The parser should update the RUNNING status and reason when the latest
message is at least as bad as the current status, not just when it's
worse.

Risk: Low
Visibility: Make the updatable RUNNING messages work in a usable way.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2955 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
0986b25e96f20b96a3ac247b83dcc5414fa2dfaa 01-Apr-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> When the parser encounters a job-level status update that isn't
starting or ending a job, never insert a record. Just update the
status of the current job. Otherwise one job ends up looking like
multiple ones.

Risk: Low
Visibility: Fixes up an issue that caused job status updates to
trigger inserts of CLIENT_JOB records.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2954 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
abc2afa99be672b130ff0b24534943e8454c37cf 01-Apr-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Convert the parser unit tests over to use the more portable dumbdbm as
the backing store. Unfortunately requires converting over all the
existing results stores to use the dumbdbm format.

Risk: Low
Visibility: Improves parser unit test portability.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2949 592f7852-d20e-0410-864c-8624ca9c26a4
est/execute_parser.py
est/scenario_base.py
abe869a3d08805480220ea2ad6d631e60a3c38e4 25-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Drop the '-autotest' suffix from the kernel version in version_1
status.log based kernel version similar to what version_0 parser does
when reading kernel version from sysinfo uname_-r.

Signed-off-by: Mihai Rusu <dizzy@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2935 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
783954823d11b5cd0dc88e5960246d2620f082a3 10-Mar-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add support to the autotest parser for updating RUNNING test results
with new reason values so long as tests write out multiple status
messages.

This would allow tests (particularly long-running ones) to record
early success or failure information.

Risk: Low
Visibility: If tests write out multiple status messages, RUNNING records
will grab their reasons. Otherwise, there should be no visible change.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2861 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
b82cb14de3fa287047413948f12d9cddfd3c3295 04-Feb-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix the parser handling of overly indented status lines (by ignoring
them, since they're erroneous). Also refactored the indentation
checking code out into one place.

Risk: Medium
Visibility: Bad, overly indented status lines will be ignored, rather
than (potentially) scrambling the parser output.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2744 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
42fbd071a1810af071699f1261861829789c4c13 30-Jan-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add some more slack to the parser when dealing with multi-machine
jobs. If the job isn't neatly broken down into machine-specific
subjobs, just accept it and use the set of hostnames as the
"hostname". This should allow us to do meaningful parsing of
multi-machine test results, even if things aren't as intelligent
as we'd like.

Risk: Low
Visibility: Doesn't affect the parsing of anything that the parser can
currently handle; allows us to do SOME parsing of generic
multi-machine results.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2720 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
d6f5c595b5a119bc020bdb098a4848e5afafa4b4 10-Jan-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a bug in the parser exposed by the recent change where we
dropped duplicate reasons from the END messages. We have to make sure
that after we produce a test result we reset the "current status" of
whatever is running back to the default.

Risk: Low
Visibility: Failure reasons in client jobs should get parsed properly
again

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2618 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
165fe4ce09dd955508e222daefa41939290ba150 07-Jan-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Found another issue with SERVER_JOB status collection on multi-machine
jobs...it's still not quite looking in the right place for the
.autoserv_execute file. It needs to look in the "real" top-level
directory of the job for that, since the std job directory may just
be one of multiple directories inside a single larger autoserv
process.

Risk: Low
Visibility: Stops multi-machine server jobs from always looking like
failures.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2604 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
ef9e5c3c4809e7cb4cdb58d8fa08996e396dc092 22-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add a helper function for comparing results in the store.

Signed-off-by: Cary Hull <chull@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2585 592f7852-d20e-0410-864c-8624ca9c26a4
est/execute_parser.py
est/inspect_parser_result_store.py
est/scenario_base.py
c69138f983f406c39485f8f5eaf49ada53295c5e 17-Dec-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Change the parser to use the reason line of whatever the worst status
associated with a test is as the reason field of the test result.
Currently we use whatever the last reason is, which is almost never
the root cause when multiple failures occur within a test.

Risk: High
Visibility: Changes way reasons for test results are computed.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2574 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
e860dbd5c9d9ce8c208703835e72cfd785cbcc06 03-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Support Python2.5 as well.

Signed-off-by: Cary Hull <chull@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2531 592f7852-d20e-0410-864c-8624ca9c26a4
est/unittest_hotfix.py
6f6299a304eb59ad0a4949978658c29c498339b2 02-Dec-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add a dummy SERVER_JOB test result in TKO that we use to represent
the entire job. This will avoid the case where you have jobs that
run and fail without any results at all being generated from them
(because they don't get as far as running a test).

Risk: Medium
Visibility: Adds an extra dummy test result for every job.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2527 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
cd84b395d5aaab6a10998ab781183bb646b475a3 27-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add option to inspect script to open store with write access.
Also fix timezone diff problem between results store and parser harness.

Signed-off-by: Cary Hull <chull@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2521 592f7852-d20e-0410-864c-8624ca9c26a4
est/inspect_parser_result_store.py
est/scenario_base.py
b22c21f0dc72abafd2a2e612e3a47d7900801b67 27-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> On jobs that fail without termination in status.log, use timestamp of last line for dummy abort.

Signed-off-by: Cary Hull <chull@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2520 592f7852-d20e-0410-864c-8624ca9c26a4
est/inspect_parser_result_store.py
ersion_1.py
ersion_1_unittest.py
1f11f9139ed9787baa07440d273f8dcad2ba2726 24-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Tool for re-executing parser harness and storing result.

Signed-off-by: Cary Hull <chull@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2501 592f7852-d20e-0410-864c-8624ca9c26a4
est/execute_parser.py
2306f2f30b794ad9fbc486fbe53cd9e7c20fac88 24-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add tool for inspecting parser result store.

Signed-off-by: Cary Hull <chull@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2500 592f7852-d20e-0410-864c-8624ca9c26a4
est/inspect_parser_result_store.py
1521eca7e1a69cd906b1e819a053cdb84397778c 24-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove artifact of initial implementation.

Signed-off-by: Cary Hull <chull@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2499 592f7852-d20e-0410-864c-8624ca9c26a4
est/scenario_base.py
efde0ddfb104cc2c3f192680005cb7fd64b2ac91 24-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixes expectation that parser_result.store be writable during test run.

Signed-off-by: Cary Hull <chull@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2498 592f7852-d20e-0410-864c-8624ca9c26a4
est/scenario_base.py
51ee7c723f847758bf4499429dffb1e8a6b36b9c 24-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Adding test and fix for garbage in log lines bug.

Signed-off-by: Cary Hull <chull@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2497 592f7852-d20e-0410-864c-8624ca9c26a4
est/scenario_base.py
ersion_1.py
4e7224b445ae8f3ed03f11f75e8688f17de2f433 19-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Support for site specific scenerios.

Signed-off-by: Cary Hull <chull@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2445 592f7852-d20e-0410-864c-8624ca9c26a4
est/new_scenario.py
f3964381650ea2eeb2200e5c1aaf75236957f32c 18-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Parser regression testing support.

Signed-off-by: Cary Hull <chull@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2432 592f7852-d20e-0410-864c-8624ca9c26a4
est/common.py
est/new_scenario.py
est/scenario_base.py
est/templates/base.py
est/templates/scenario_package_common.py
est/unittest_hotfix.py
4e16fee729bed6d4314b21fc41f83d0c27ade7fc 17-Nov-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> We have a silly assertion in the parser that doesn't really matter
anymore; the keyval is the easiest place to find hostnames, but
for multimachine jobs it's not always going to give us an
unambiguous result. That's okay though, it's easy enough to find
the hostname from the individual machine directories.

Risk: Low
Visibility: We can parse multi-machine jobs.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2425 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
f6ff3a020920508e945fac12ab0ea0525d0fec6c 04-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> sysinfo-uname test attribute should exclude hostname.
Unreported bug: return val was missing in an error recovery path in
job.find_hostname() in tko/parsers/version_0.py.

Signed-off-by: Duane Sand <duanes@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2371 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
531d5976a174c04fb6f03396e182d4cc4014940b 04-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> When building a kernel we will use the first build, build.2, build.3, and
so on. For TKO jobs we assume that the first build is the kernel under
which all the tests are running and use that for reporting. However,
when the build occurs in a group and that group is called build the new
group code make a results directory called build. Subsequently when
we then run the build within that group it will find there is a results
directory called build and move on to build.2.

To catch this case search for the first populated build directory and
use the logs within that to determine the version of the kernel this
test job is testing.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2370 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
1ce9fbb72fd0e528b118deb0ba6d83fb70447e13 21-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Only increment the boot count in the parser for reboots that aren't
done as part of a test; the user doesn't see the result of these
in-test boots in the tko results, so they shouldn't affect the
boot count either.

Risk: Low
Visibility: This eliminates "gaps" in the boot counts from tests
that perform reboots as part of the test.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2311 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
717bb9928f055189199ec713e958266a3a564b77 08-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up the parser to handle the case where a server-side test runs a
client-side job. We basically just incorporate the client-side
results into the server test status.

Risk: Medium
Visibility: You can run client-side work in a server-side test.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2254 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
f7fa2cc6159fda3adecef2eeb5e5a016e866564c 01-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Update the scheduler and the parser to use the new aborted_* attributes that
are written into the database on abort.

Risk: Medium
Visibility: Better error messages from the parser when a job is aborted.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2217 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
ersion_1.py
a8e302a2131a7e0b0d1e0ad746df264a99f01e8b 25-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Change the job keyval loading code to do a search up the filesystem
for the "real" job keyval file.

Risk: Medium
Visibility: Multi-machine server jobs will pull in all job attributes.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2197 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
807490cd3beeb7d91a0ab12a0ad3f507bde25f64 15-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add a method to the Host objects for logging the currently running
kernel, and a method for logging "informational" status logs that
update the kernel without requiring any real action to occur. This
logging will always occur at the start of a client job, for server-side
jobs it will still be opt-in only, since we don't have a clean place
to log it where we know we have access to a host object.

Risk: Medium
Visibility: Client-side jobs should always have a real kernel
associated with all logged tests, and server-side jobs have an easy
way to log the same thing.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2157 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0_unittest.py
ersion_1.py
ersion_1_unittest.py
b69f2506f7578aa8fd10e9e8975b132d3269d7f0 27-Aug-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> This fixes up a parser edge case where an implicit ABORT (i.e. a logging
group just suddenly terminates, without a proper END line) followed by a
START would scramble the logging of all the lines following this START.

The implicit ABORT code need to apply to START lines, as well as
STATUS and END lines. It pulls some of the implicit abort code back
out into a static method, so that we don't have to duplicate as much
code in three separate places.

Risk: Low
Visibility: Implicit parser aborts followed by a START line won't
screw up the parser anymore.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2058 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
29e61ceac8d03e2b4f9a5b2499ebb29e37e023d7 22-Aug-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Don't let negative test-level results pollute job-level results.

Risk: Low
Visibility: Eliminates some false "FAIL/ERROR" results.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2024 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
008ff1d2503cf2fad3d4ef402661f38ed6bd8572 14-Aug-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Made the "is_status_line" method the parser uses for filtering out
non-status lines more picky...it shouldn't let any lines through that
the subsequent parsing code can't handle.

Risk: Low
Visibility: The later parsing code should now never throw
"need more than X value to unpack" errors.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1988 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
bf446195626baddcbcc33c27a9a52f12fbd172b5 13-Aug-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Added unit tests to catch the case the recently-fixed case where the
parser would choke on status lines with too few fields.

Risk: Low
Visibility: Adds a couple of unit tests

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1985 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0_unittest.py
ersion_1_unittest.py
c66e93ce12e748352d1979c99acbc732b9680a25 29-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix the parser behaviour when handling non-grouped tests inside of
a client job. The test subdir should override the job subdir (or
rather, the job subdir should not override the test subdir).

The main idea of this fix is to move the code that check if the line
currently being parsed is an unexpected abort to before the line is
actual parsed and the "current" test state of the parser is updated.
This allows us to abort the current test.

Risk: Medium
Visibility: An unexpected client failure during a test should look
like a job abort, not a build+job abort.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1923 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
fd3ba2b1c48bb673e0229dd7ce44ba5c5b77046e 28-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Improve the implict abort handling of the parser to try and use the
subdir, testname of whatever was currently running (as best as it can)
instead of just converting everything into a CLIENT_JOB entry.

Risk: Low
Visbility: Changes the subdir+testname that the parser logs to
something hopefully more meaningful than None, None.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1908 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
74eebf332dedb9b9078113934d79e0da1f2827a6 15-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Modify the parser and tko db code to flag test models as being for
insertion or update, add a new "RUNNING" status to tko, and then add
code to the v1 parser to generate a "RUNNING" record when the test
starts and then a final update record when the test ends.

Risk: High
Visibility: When a test is in progress mostly-empty RUNNING results
should show up in tko, to be replaced by the final record when the
test finishes.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1836 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
c8034f0d7c13f7cd57c3e15ad282187e84359ae4 14-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Make sure that the parsers special handling of reboots only applies
to actual reboots, and not tests named "reboot".

Risk: Low
Visibility: Tests named "reboot" should no longer be parsed as if they
were a system reboot.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1832 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_1.py
b14dc7aa8eeb0a80eba299a04343c74e509e7c6b 12-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Change the name of the magic JOB entry in the status log parsing to
CLIENT_JOB, since that's what it actually corresponds to.

Risk: Low
Visibility: Changes what will show up in the tko results (again).

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1826 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
ersion_1.py
ba1fa66c641651bcf0d058e9f5af2819c2d2690a 11-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Change the way we handle "JOB" logs in the parser. Currently, we
generate multiple JOB entries if you run multiple client jobs, and
we handle their status the same way we handle the status of nested
groups in a test - that is, if a job runs any tests that fail we
mark the jobs as failed.

This makes two changes:
1. it tags jobs with a number, the same way we tag boots, so that
multiple jobs will produce multiple result entries instead of
duplicate entries
2. it disables tagging of jobs with statuses like WARN and FAIL
that generally apply to tests but not the job as a whole, so
that a job only shows up as "bad" if it was actually aborted

Risk: Medium
Visbility: This significantly changes the way "JOB" results will show
up in the TKO result view.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1820 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
ersion_1.py
0afbb6369aa5aa9a75ea67dd9e95ec4b21c0c181 06-Jun-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Convert all python code to use four-space indents instead of eight-space tabs.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1658 592f7852-d20e-0410-864c-8624ca9c26a4
ase.py
ersion_0.py
ersion_0_unittest.py
ersion_1.py
ersion_1_unittest.py
004fde6c11387148975cb4c4ad03adcaddbb8188 04-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up parsing of test versions to not add a newline

Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1598 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
cc549174c6caf563443625805594eb0ff813a261 21-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Medium
Visibility: Changes the test keyval interface, deprecating the existing
test.write_keyval method in favour of a pair of write_*_keyval methods
for writing test & iteration keyvals. The deprecated method will still
work as it did before, but will generate a warning.

Adds a new iteration_attributes table to the database for storing
generic string attributes on a per-iteration basis, in the same way
that test_attributes allows generic string attributes on a per-test
basis.

This also adds new methods to the test class for writing these keyvals
so that tests can write out attributes by calling
self.write_test_keyval (or self.write_iteration_keyval). The iteration
method accepts parameters for both generic attributes and performance
data.

In order to store both performance and non-performance data in the
iteration keyvals, the format of the line has been extended to look
like "key{blah}=value", with no {blah} being interpreted as equvalent
to "{perf}", for backwards compatiblity.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1535 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
ersion_1.py
e173832706d6ae84e6aebc729ac792abf0ca5765 15-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Low
Visibility: Should eliminate a case where a continuous parsing bug
would fail an entire job.

This fixes up parser.process_lines to catch StopIteration in the same
way that end does. Code calling it and getting this exception is
buggy, but it's better for the code to log the message can keep going
without continuous parsing, rather than actually failing the job.

It also adds some extra debugging info to both the process_lines and end
handlers, printing out the current call stack as well as the exception
traceback, since it's useful to see where the (bad) call is coming from and not
just where the exception is coming from.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1518 592f7852-d20e-0410-864c-8624ca9c26a4
ase.py
d1086b9a7eb3200a8abad534e4c208086626ab30 14-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Medium
Visibility: Should remove a case where "real" errors get masked by
an accidental double-call of parser.end().

This change changes the parser.end() call to explicitly catch a
StopIteration error and keep going with a warning, rather than just
letting the exception propagate up. This can only happen if end() is
called multiple times, which is an error but not a serious enough one
to warrant a process-ending exception.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1514 592f7852-d20e-0410-864c-8624ca9c26a4
ase.py
6e8bf75b13c28c5424fb447ceb4d8749c7a13251 14-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add the version 1 of the TKO parser, modify server_job to use this
version, and modify parse.py to look up the status version number
in order to instantiate the correct parser version.

Basically, it's an implementation of the parser that follows
the spec as outlined in
http://test.kernel.org/autotest/DraftParserSpecification. I did that
by implementing the "version 1" parser, as opposed to the existing
"version 0" parser, and it also adds some code to autotest itself to
log the fact that the status logs being written out follow the
"version 1" specification, so that when re-parsing existing results
older logs will still be parsed using the old (rather ad-hoc and
difficult to follow) algorithm.

The implementation is fairly similar to the existing version 0
implementation; it still uses all the same files for gathering
results, but there are the core changes:
- instead of grabbing kernel information from build.log, it gets
embedded into the status logs associated with reboots
- if a group is lacking a proper "END" section it implicitly assumes
it was somehow aborted
- reboots are wrapped in a group
- a "JOB" result is logged even if nothing bad happens (rather than
only logging it when something bad happens)
- you can have arbitrarily large amounts of group nesting

Signed-off-by: John Admanski <jadmanski@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1511 592f7852-d20e-0410-864c-8624ca9c26a4
ase.py
ersion_0.py
ersion_1.py
ersion_1_unittest.py
13a29087d701a66765d6b2854aeff8cd31fee56c 12-May-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add missing tko/parsers/__init__.py

Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1503 592f7852-d20e-0410-864c-8624ca9c26a4
_init__.py
a9c75c46f3b887cf6aff55bf76075c70d3f8c183 02-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Run client-side reboots in a test group, and include information
about the kernel booted in the group END logging.

This required enhancing the client-side job code to preserve the
logging indentation across reboots.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1480 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
f9bab604abcc85f1823519d4eb59855f8bf115b6 02-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up the names in the tko unittests to comply with the Autotest
coding standard.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1479 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0_unittest.py
9cae15020efc8d541fe3def1b9034872d0b919f4 18-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add tests.started_time to the results database, and add support in the
parser for extracting those times.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1453 592f7852-d20e-0410-864c-8624ca9c26a4
ersion_0.py
2895ce5646e363187205a4e6dae37d603ca44382 17-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add more missing files from previous commits. Did I mention I hate svn?

Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1451 592f7852-d20e-0410-864c-8624ca9c26a4
ommon.py
ersion_0.py
ersion_0_unittest.py