• Home
  • History
  • Annotate
  • only in /external/autotest/client/bin/
History log of /external/autotest/client/bin/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
aa122c6a24e9031a59c68951cb5d91b87180e2fc 22-Feb-2018 Brian Norris <briannorris@chromium.org> local_host: construct AutotestHostRunError with correct args

We're supposed to pass an AutoservError object. Might as well get the
number of args correct though...

BUG=chromium:814594
TEST=manually throw error.AutotestHostRunError with and without a 2nd
'None' arg

Change-Id: I25dca9a68fcbfa12c0831756bfc050d06ef1fad9
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/930566
Reviewed-by: Dan Shi <dshi@google.com>
ocal_host.py
a83e82c3cd9dfed3e8363f2502131017897a39eb 16-Feb-2018 Puthikorn Voravootivat <puthik@chromium.org> utils: Add method to get cpu model, screen resolution, memory size in GB

BUG=b:69810407
TEST=manual.

Change-Id: I69f315b0c39e482722a25da090d348ec95719e0a
Signed-off-by: Puthikorn Voravootivat <puthik@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/923404
Reviewed-by: Todd Broch <tbroch@chromium.org>
tils.py
720640dab62411edae4f8663ead226d1be33745d 17-Feb-2018 Puthikorn Voravootivat <puthik@chromium.org> cros_host: utils: Properly check mosys command exit status

We assumed before that mosys will print nothing to stdout for
unsupported command. But actually there is an exception to that.
On a Chromebox without EC, "mosys ec info -s fw_version" will
print mosys usage guide to stdout.

This CL properly checks command exit status and ignore stdout
when exit status is not zero.

BUG=b:69810407
TEST=manual, Tested on Tidus

Change-Id: I6af3055515c6e533bf771ef7e595f954e29cd8cd
Signed-off-by: Puthikorn Voravootivat <puthik@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/927801
Reviewed-by: Todd Broch <tbroch@chromium.org>
tils.py
65ad76771f8b166c29f6153aa8de4360f367dce2 30-Jan-2018 Puthikorn Voravootivat <puthik@chromium.org> cros_host: utils: Ignore return status of mosys command

Some mosys command may not support on older platform. This CL
fixes the CLs below to ignore return status of newly added
mosys command.

Fixes:
fd1321727 ("cros_host: Add utils method to determine fw,ec,hw,kernel version")
0f6d23039 ("utils: Add methods to collect DUT fw, kernel, ec, hw version")

BUG=b:69810407
TEST=manual, no error when running on old machine

Change-Id: I59c1bdce5b9eb663b111814a9c6eb52feb801c7d
Signed-off-by: Puthikorn Voravootivat <puthik@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/894492
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Todd Broch <tbroch@chromium.org>
tils.py
b39504422f5ad03eaaa978b7e2f41f31556a5ea6 25-Jan-2018 Aviv Keshet <akeshet@chromium.org> autotest: utils: make run_sql_cmd actually run sql commands

BUG=chromium:805580
TEST=None

Change-Id: I473a6332c91583103ce56ee6b88fb03b5abd3130
Reviewed-on: https://chromium-review.googlesource.com/884903
Commit-Ready: Aviv Keshet <akeshet@chromium.org>
Tested-by: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
tils.py
c27516f0642a42d3073b5b2aa9823068628c86e5 25-Jan-2018 Aviv Keshet <akeshet@chromium.org> autotest: delete unmap_url_cache and all callers

This method references an undefined other method, so all its callers are
broken anyway. The reference to undefined hash_file is breaking lint.

None of the callers have been touched since 2010, I'm pretty
sure they are obsolete.

BUG=None
TEST=None

Change-Id: Id692bd432e9a89a6cbfe0020edc9057dd9f68300
Reviewed-on: https://chromium-review.googlesource.com/884902
Commit-Ready: Aviv Keshet <akeshet@chromium.org>
Tested-by: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
tils.py
ca353aa5321e22464eb6d4b84446b9deb08318d7 28-Nov-2017 Ben Cheng <bccheng@google.com> Add hardware_MemoryZRAMThroughput for ZRAM.

The test will run twice and measure the page access throughput
difference:
- 60% of total RAM
- 100% of total RAM plus 30% of swap

BUG=chromium:788276
TEST=test_that <IP> hardware_MemoryZRAMThroughput
CQ-DEPEND=CL:792713

Change-Id: Id762ad5925fb8c1caa7424d8e2b04de2e55400b0
tils.py
b2b28b3f232b01901fc173adab418503b90caa09 20-Dec-2017 Ilja H. Friedel <ihf@chromium.org> utils: avoid division by zero.

This is an exceptionally rare case, but has been observed once
on a Tegra Chromebook.

BUG=chromium:796212
TEST=None.

Change-Id: I6ddf7fecca3a6c9ab676f5a8574079ebb0dd0f23
tils.py
0f6d23039fb02ae227fdc3e5e9b91b8beb6c502f 28-Nov-2017 Puthikorn Voravootivat <puthik@chromium.org> utils: Add methods to collect DUT fw, kernel, ec, hw version

BUG=b:69810407
TEST=manual, added methods return correct value

Change-Id: I148bbee99520103bf7a1996597aaa830f5f2f071
Signed-off-by: Puthikorn Voravootivat <puthik@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/792434
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Todd Broch <tbroch@chromium.org>
tils.py
bfcd65b40990816d02586e05ff747293da44d45d 14-Nov-2017 Xixuan Wu <xixuan@chromium.org> autotest: parse fast attribute for client job.

BUG=chromium:782501
TEST=Ran tryjob & Ran unittest.

Change-Id: I15f6c3114736a58dbb27158d773019b586efe181
Reviewed-on: https://chromium-review.googlesource.com/768318
Commit-Ready: Xixuan Wu <xixuan@chromium.org>
Tested-by: Xixuan Wu <xixuan@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
ob.py
ob_unittest.py
a27022cefc4f3e4e498c99609f9b060b16d07dca 17-Nov-2017 Dan Shi <dshi@google.com> Typo fix

BUG=None
TEST=None

Change-Id: Icd82973e03fced84797e313c52cde6e6266c75fd
Reviewed-on: https://chromium-review.googlesource.com/776201
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/result_info.py
eebd1225a4b967e98ca417eb4e373ece67670f49 10-Nov-2017 Nicolas Boichat <drinkcat@google.com> utils: Allow ectool temps all to show units

To reduce potential confusion, ectool temps all now includes
temperature unit. Adjust get_ec_temperatures to handle that.

BUG=chromium:783845
TEST=python
>>> pattern = re.compile('.*: (\d+)')
>>> line='0: 300'
>>> matched = pattern.match(line)
>>> int(matched.group(1)) - 273
27
>>> line='0: 300 K'
>>> matched = pattern.match(line)
>>> int(matched.group(1)) - 273
27

Change-Id: Ia8bd34dbef18ccdc23d58729eb45b0ab4edd002b
Reviewed-on: https://chromium-review.googlesource.com/763578
Commit-Ready: Nicolas Boichat <drinkcat@chromium.org>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
tils.py
a69288546513f3166bd22d7aacebea410e44501a 09-Nov-2017 Kristoffer Erlandsson <kerl@google.com> system_metrics_collector now uses system_facade.

Preparation to re-use this in server perf tests.
Added unit tests for system_metrics_collector.

Also removed assert_is_close from utils_unittest since I discovered
there is a built-in method for that.

BUG=chromium:783085
TEST=Unit tests and webrtc perf test on local DUT.

pre-cq-configs: bluestreak-pre-cq
Change-Id: Ie1c6785646db063a4f3fe7efd4c1012279d2e2a0
Reviewed-on: https://chromium-review.googlesource.com/758766
Commit-Ready: Kristoffer Erlandsson <kerl@google.com>
Tested-by: Kristoffer Erlandsson <kerl@google.com>
Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
Reviewed-by: Claes Malmnäs <malmnas@google.com>
tils.py
tils_unittest.py
82b9f3251c8e01084de4cb1ed563603e6910e63d 07-Nov-2017 Kristoffer Erlandsson <kerl@google.com> Get cpu usage now uses all cols in /proc/stat.

Previously all columns except the four first were ignored.

BUG=chromium:779069
TEST=unit test and webrtc_PausePlayPeerConnections.video_perf on local DUT

Change-Id: If304cc3895ab7cad19ad0323f3a4252b99ff8450
Reviewed-on: https://chromium-review.googlesource.com/756747
Commit-Ready: Kristoffer Erlandsson <kerl@google.com>
Tested-by: Kristoffer Erlandsson <kerl@google.com>
Reviewed-by: Claes Malmnäs <malmnas@google.com>
Reviewed-by: Denis Tosic <dtosic@chromium.org>
tils.py
tils_unittest.py
08b9b41f4ff1a8c1673f1e52748198e4c13e974b 31-Oct-2017 Alexis Savery <asavery@chromium.org> xfstests: Update xfstests and add new tests.

Split boiler plate code from control file into library.
Add control file to test ext4 plain in addition to ext4 crypto.
Add standalone test mode where xfstests are run in a single job,
making use of an added group parameter to specify which group of
tests to run.

BUG=chromium:775140
TEST=Ran xfsFilesystemTestSuiteExt4Crypto,
xfsFilesystemTestSuiteExt4Plain,
xfsFilesystemTestSuiteStandaloneExt4Crypto,
xfsFilesystemTestSuiteStandaloneExt4Plain

Change-Id: I6dc47987a5ae717990f096b86f49e354f3ef3e74
Reviewed-on: https://chromium-review.googlesource.com/745327
Commit-Ready: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
fstest_util.py
b043bec1672519851b0100ece9e312a3b8f28546 08-Nov-2017 Xixuan Wu <xixuan@chromium.org> autotest: Add logging to check running loggables without disable_sysinfo.

BUG=chromium:782501
TEST=Ran dummy_Pass & dummy_PassServer on local autotest.

Change-Id: Ia52d07bbd330b1c08f319254ac97b0e7ab8095f0
Reviewed-on: https://chromium-review.googlesource.com/758048
Commit-Ready: Xixuan Wu <xixuan@chromium.org>
Tested-by: Xixuan Wu <xixuan@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
ase_sysinfo.py
58776682f8d5bf8d0cf0a87d18b70fb09a43e8b7 06-Nov-2017 Kristoffer Erlandsson <kerl@google.com> Support for tracking allocated file handles.

Tracking these metrics in the webrtc perf tests as a first step.

BUG=chromium:781628
TEST=Local DUT, verified stats written to results-chart.json.

pre-cq-config: bluestreak-pre-cq
Change-Id: Ib9d4cbf3df36acba9c7d7df7ca0d50be478fac7a
Reviewed-on: https://chromium-review.googlesource.com/754814
Commit-Ready: Kristoffer Erlandsson <kerl@google.com>
Tested-by: Kristoffer Erlandsson <kerl@google.com>
Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
Reviewed-by: Claes Malmnäs <malmnas@google.com>
tils.py
tils_unittest.py
11e350681359d70b15703190c359047aceb4e81b 03-Nov-2017 Dan Shi <dshi@google.com> [autotest] Improve performance on result size collection.

1. Don't do a deepcopy for result info of new directories.
2. Delay updating parent result info's size information.
3. Add metrics for the collect_result_sizes call.

BUG=chromium:781066
TEST=unittest

Change-Id: I0b13d8641d1cdfc46c503822f41e25088245f37d
Reviewed-on: https://chromium-review.googlesource.com/753974
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Allen Li <ayatane@chromium.org>
esult_tools/result_info.py
esult_tools/utils.py
b84da2b8acfecce1baf44ab18b6bb2a2bf75bdb2 01-Nov-2017 Kristoffer Erlandsson <kerl@google.com> Add util for getting free memory + buffers/cached.

Also fixed file contents (missed 'kB') and assert (mem functions return
floats) for other mem tests.

BUG=chromium:779071
TEST=Unit Test

Change-Id: I1fcf830822fe8934b59319c24f10a261642a5cfc
Reviewed-on: https://chromium-review.googlesource.com/749801
Commit-Ready: Kristoffer Erlandsson <kerl@google.com>
Tested-by: Kristoffer Erlandsson <kerl@google.com>
Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
Reviewed-by: Claes Malmnäs <malmnas@google.com>
tils.py
tils_unittest.py
1ad7db01ec8c8a9de1e0aecd792320ecce289d3b 01-Nov-2017 Kristoffer Erlandsson <kerl@google.com> Add unit tests for cpu and memory methods.

Preparation for adding and fixing stats related to these.

BUG=chromium:780423
TEST=Ran the unit test locally

Change-Id: Ib57241860bc8f88960ffd4da8ced49ef1baa0bbd
Reviewed-on: https://chromium-review.googlesource.com/749144
Commit-Ready: Kristoffer Erlandsson <kerl@google.com>
Tested-by: Kristoffer Erlandsson <kerl@google.com>
Reviewed-by: Claes Malmnäs <malmnas@google.com>
Reviewed-by: Denis Tosic <dtosic@chromium.org>
tils.py
tils_unittest.py
5e8cde91cd0e40044627bc2241de0ff905e0a7b3 31-Oct-2017 Dan Shi <dshi@google.com> [autotest] Disable recursive calls to update parent result_info's sizes

This allows compiling result summary for a directory with large number of
files to run much faster. Reduce an example of 20k files from 30mins to
12s.

BUG=None
TEST=unittest

Change-Id: I95cd4b3113a7a8686746b33baf60951ef4639079
Reviewed-on: https://chromium-review.googlesource.com/747090
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Keith Haddow <haddowk@chromium.org>
esult_tools/result_info.py
esult_tools/utils.py
427c7b23118bf30175ef14327459a4db0adc381c 27-Oct-2017 Gwendal Grignou <gwendal@chromium.org> utils: Add partition concatenation routine.

Follow kernel convention and add 'p' if the block device ends with a digit.
Fixes platform_PartitionCheck test.
Follow same method for faft test.

BUG=chromium:776029
TEST=unit test, test latform_PartitionCheck on NVMe.

Change-Id: I61f2f194e149634e132a4ad548335ea7c10d8366
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/741483
Reviewed-by: Sridhar Sonti <sontis@google.com>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
nit_test.py
tils.py
tils_unittest.py
dac88ce5c3c7ae44c9811d3d2b9d67f225867c15 26-Oct-2017 Ilja H. Friedel <ihf@chromium.org> tradefed_test: login using script on DUT.

The new code is roughly equivalent to running cheets_StartAndroid,
but avoids packaging the test and copying the binary to the DUT.
This saves about 10s real time on my dev machine.

The impact in the lab is going to be larger. First of all VM CPUs
are about 3x slower than Z840, but also due to the ssh and dns
resolution overhead, see crbug.com/726481. I will verify this once
it lands.

BUG=b:62282232
TEST=time test_that 100.96.57.42 --iteration 10
cheets_CTS_N.7.1_r10.arm.CtsDramTestCases

before after
real 36m8.122s real 34m43.277s
user 5m57.364s user 5m44.196s
sys 2m56.452s sys 2m26.044s

Change-Id: I55734b424f43de48b07680bfe1a0a978ebd2dcfb
Reviewed-on: https://chromium-review.googlesource.com/739002
Commit-Ready: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Po-Hsien Wang <pwang@chromium.org>
Reviewed-by: Kazuhiro Inaba <kinaba@chromium.org>
Reviewed-by: Keith Haddow <haddowk@chromium.org>
utologin.py
cdf50c281416123b59f9ff6d1c76961117177c3c 18-Oct-2017 Dan Shi <dshi@google.com> [autotest] Try to throttle non-autotest logs first

This change allows result throttling to throttle non-autotest logs first, and
keep as much autotest logs, e.g., autoserv.DEBUG, as possible for
troubleshooting.

BUG=chromium:774812
TEST=unittest

Change-Id: I5dc79d34589133d08c991692f6c22483f4767948
Reviewed-on: https://chromium-review.googlesource.com/726407
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Ting-Yuan Huang <laszio@chromium.org>
esult_tools/shrink_file_throttler.py
esult_tools/throttler_lib.py
esult_tools/utils.py
esult_tools/utils_unittest.py
esult_tools/zip_file_throttler.py
b152039ff29d7f459f166b3ec9e14320d4275d94 29-Sep-2017 Dan Shi <dshi@google.com> [autotest] Do not collect full logs per boot

Autotest per-iteration sysinfo collection collects too much logs and causes
unnecessary test failures.

This change only affects pre-test log collection. Autotest will still:
1. Collect new logs in /var/log generated during the test run, saved under
[test_name]/sysinfo/var/log_diff.
2. If a test failed due to dut failure, e.g., lost network, unexpected reboot,
complete /var/log will be collected.

BUG=chromium:706132
TEST=unittest, local run test

Change-Id: I00f00e494cd41989454097d0b853ccd348dff5e2
Reviewed-on: https://chromium-review.googlesource.com/693042
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
ase_sysinfo.py
d7f0759f5cbc96d23762e1760473602fd277fd0b 15-Sep-2017 Mike Mason <michael.w.mason@intel.com> update_intel_pci_ids: Get list from ChromeOS Mesa, add SoCs

Updates script to get the GPU PCI ID list from ChromeOS Mesa
instead of upstream Mesa. Adds Cannonlake, Geminilake and
Kaby Lake. Updates the JSON file to include IDs for those
SoC families.

BUG=None
TEST=./update_intel_pci_ids
TEST=test_that <ip_address> graphics_Idle
TEST=test_that <ip_address> graphics_dEQP.gles3.info

Change-Id: I562c3dbc8579af21ba55fd9f078ba3a2d3ab4859
Signed-off-by: Mike Mason <michael.w.mason@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/668159
Commit-Ready: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Wenkai Du <wenkai.du@intel.corp-partner.google.com>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
ntel_pci_ids.json
pdate_intel_pci_ids
5aaf906ce6dbb255b669457342f7ac59d000001e 20-Sep-2017 Dan Shi <dshi@google.com> [autotest] Delete dir_summary json files in parsing

The directory summary files have no debugging value and not human readable.

BUG=None
TEST=unittest, local test.

Change-Id: I05e0032a7d45dbfcba2a5a779b119afba24d59c2
Reviewed-on: https://chromium-review.googlesource.com/675665
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
esult_tools/utils.py
esult_tools/utils_unittest.py
esult_tools/view.py
c02992f0e6fe58c6b57975f201100ceb3d71a7a5 10-Aug-2017 Po-Hsien Wang <pwang@chromium.org> utils: do not use hard-coded INTEL_PCI_ID path

Hardcoded absolute path makes problem as autotest client
might be installed in different places.
For example, it is installed in /usr/local/autotest/cleint for guado_moblab
and /usr/local/autotest/ for other boards.

BUG=chromium:754078
TEST=test_that guado_moblab graphics_Idle

Change-Id: Idb359d3be6d7473cc5dda002baa02f1c02a34bf8
Reviewed-on: https://chromium-review.googlesource.com/667954
Commit-Ready: Po-Hsien Wang <pwang@chromium.org>
Tested-by: Po-Hsien Wang <pwang@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
tils.py
45cb0e03b9d85e0db66c4857a0708655fd9aa2dd 22-Aug-2017 Harry Pan <harry.pan@intel.com> autotest: refresh CPU package cstate support by uarch names

The original model name parsing was outdated since the upstream
v3.15 kernel commit of 2b9c1f03278a ("x86: align x86 arch with
generic CPU modalias handling"). Here propose to use the helper
to get CPU microarchitecture (uarch) codename to distinguish
various package cstate support.

Gist of the change:
- Add missing models (of XEON E5 V4) of the Broadwell uarch
- Support Silvermont, Airmont, Goldmont, Skylake, and Kaby Lake
- Use uarch codename as the key to avoid long list
- Drop PC8/PC9 (of the HSW ULT and BDW XEON) to make
SNB/IVB/HSW/SKL/KBL share same package cstate support
- Sort the keys in alphabet order

BUG=b:64930051
TEST=run 'test_that --autotest_dir ~/trunk/src/third_party/autotest/files/
${DUT_IP} f:.*power_LoadTest/control.fast', examine there are various
cpupkg_Cx statistics in test report.

Change-Id: I2d6519a31d4ae8057e8c0804712f2f15760ce94c
Signed-off-by: Harry Pan <harry.pan@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/628856
Reviewed-by: Benson Leung <bleung@chromium.org>
tils.py
a9475ec9bd5391f196cdef49a38be24949ef0a45 25-Aug-2017 Dan Shi <dshi@google.com> [autotest] Do not shrink build info file for ACTS tests

The proper fix is to add the file patterns to
throttler_lib.NON_THROTTLEABLE_FILE_PATTERNS
so no throttler will modify such files.

BUG=b:64797715
TEST=unittest

Change-Id: I4ff10e801facf6e13f3dc6dfc8d7cc7fc65aa3ab
Reviewed-on: https://chromium-review.googlesource.com/636201
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/dedupe_file_throttler.py
esult_tools/delete_file_throttler.py
esult_tools/shrink_file_throttler_unittest.py
esult_tools/throttler_lib.py
451e8454c7336e3d8d71c4b6b30ed623097a2c91 25-Aug-2017 Dan Shi <dshi@google.com> [autotest] Protect perf.data from being throttled.

*perf.data can be compressed but not deleted. This change prevents that from
happening.

BUG=chromium:716218
TEST=unittest

Change-Id: Ia08bdabe6b251497aa6a402323198d5b8275ab72
Reviewed-on: https://chromium-review.googlesource.com/633853
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Ting-Yuan Huang <laszio@chromium.org>
esult_tools/dedupe_file_throttler.py
esult_tools/delete_file_throttler.py
esult_tools/delete_file_throttler_unittest.py
esult_tools/shrink_file_throttler.py
83a60bbd061ab37e0e6791563644c9efb8064fb3 24-Aug-2017 Dan Shi <dshi@google.com> [autotest] Add a conversion in result info for backwards compatibility

For tests running with server-side packaging, the result tools are from older
branches, which has a different format. This change checks for the format
difference and convert it to the latest if needed.

The conversion can be removed after R62 is in stable channel.

BUG=chromium:716218
TEST=merge summary from older format to new one.

Change-Id: I618c290e1a0231a9c1843be020b5c814e02f969e
Reviewed-on: https://chromium-review.googlesource.com/634266
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
esult_tools/result_info.py
ac39cc3364754cf7e3f02122b69ea6acf3d4f40d 23-Aug-2017 Dan Shi <dshi@google.com> [autotest] Protect ACTS result files from result throttling.

The files are added to NON_THROTTLEABLE_FILE_NAMES, so result throttling won't
affect them.

BUG=b:64797715
TEST=unittest

Change-Id: I464a22af206ad0f586949076758ff02ac69901ff
Reviewed-on: https://chromium-review.googlesource.com/629204
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Benjamin Peake <bpeake@chromium.org>
esult_tools/dedupe_file_throttler.py
esult_tools/delete_file_throttler_unittest.py
esult_tools/shrink_file_throttler.py
esult_tools/throttler_lib.py
d9be07aded9da8abc3972bc4fa9a20866ecc352c 18-Aug-2017 Dan Shi <dshi@google.com> [autotest] Fix bug in string format

BUG=chromium:756882
TEST=None

Change-Id: Ie841259e98c4e87597c1e567a0a8dde0ae14a72a
Reviewed-on: https://chromium-review.googlesource.com/621388
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
ocal_host.py
9b179d07ca8eb9c40cb2485cb6a89e2f36e9d4c9 21-Aug-2017 Dan Shi <dshi@google.com> [autotest] Add some exceptions in result throttling

Following files are used by test tracker, so should not be compressed:
BUILD_INFO_*

Following files are used by ACTS tests, so should not be trimmed:
test_run_*

BUG=b:64797715,b:64904537
TEST=local

Change-Id: I1b311cd7d111edc908c759d357a1fc92d098872a
Reviewed-on: https://chromium-review.googlesource.com/624544
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/shrink_file_throttler.py
esult_tools/shrink_file_throttler_unittest.py
esult_tools/zip_file_throttler.py
esult_tools/zip_file_throttler_unittest.py
5d1066ababfd9e96ade7b0179f8883cdea974e3b 18-Aug-2017 Dan Shi <dshi@google.com> [autotest] Fix minor bug in collecting /dev/pstore

/dev/pstore is not writable, so use temp directory to do the collection so
result summary can be collected.
Also add a clean_content option to delete directory content, not the
directory itself.

BUG=chromium:756615
TEST=local run repair

Change-Id: I3e8945b590c3c6d6910ce3dd036f562a1336d472
Reviewed-on: https://chromium-review.googlesource.com/621249
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
esult_tools/utils.py
2dc4a41a1a5b7f0d57ed0390700a4d1caf37f97f 15-Aug-2017 Mike Frysinger <vapier@chromium.org> grab all files in pstore paths

When grabbing logs from the DUT, rather than look at just the single
console-ramoops file, pull all files that might exist. This makes
the code work with newer/older kernels (where the "console-ramoops"
filename has changed), and lets us pick up any additional files we
might find interesting.

BUG=chromium:755343
TEST=precq passes

Change-Id: I17178189e5106e09f91ed4747370c3c74982b391
Reviewed-on: https://chromium-review.googlesource.com/616005
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
ase_sysinfo.py
67fbe9bccad30b76734051c93231b8794468d1b5 17-Aug-2017 Dan Shi <dshi@google.com> [autotest] Add acts result files to white list.

This change makes sure files used for test tracker are not deleted during result
throttling.

BUG=b:64797715
TEST=unittest

Change-Id: I4c30211ae9ba9046eb14bbceb43a0636e2c30def
Reviewed-on: https://chromium-review.googlesource.com/619388
Reviewed-by: Dan Shi <dshi@google.com>
Commit-Queue: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Trybot-Ready: Dan Shi <dshi@google.com>
esult_tools/delete_file_throttler.py
esult_tools/delete_file_throttler_unittest.py
esult_tools/throttler_lib.py
c9897aab04527f78b0cb3c0ee9302de73b590623 31-Jul-2017 Harry Pan <harry.pan@intel.com> utils.py: update the x86_64 uarch table

This patch updates the x86_64 microarchitecture table based on
the ch2 of the Intel SDM vol-4 (Order No. 335592);
this is a preparation for the rest of RAPL remodeling patches.

Gist:
- Revise Atom series models
- Introduce Silvermont, Goldmont, and Kaby Lake
- Refine codenames of the uarch slightly to follow SDM
- Sort the values of the dictionary in alphabet order

BUG=b:63877056
TEST=none

Change-Id: Id9b609a88183f0ff566d11f1a1fc9d97cd00a902
Signed-off-by: Harry Pan <harry.pan@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/583047
Reviewed-by: Todd Broch <tbroch@chromium.org>
tils.py
e3adb0a2a7ca0977d1fc99b7ca02c25a1bca4193 10-Aug-2017 Achuith Bhandarkar <achuith@chromium.org> autotest: Fix get_chrome_remote_debugging_port to handle ephemeral port.

BUG=chromium:754433
TEST=security_NetworkListeners

Change-Id: Ic748e4a0db2059943a21530e25f37d15848edb32
Reviewed-on: https://chromium-review.googlesource.com/611152
Commit-Ready: Achuith Bhandarkar <achuith@chromium.org>
Tested-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
tils.py
c314a4e179c143f5145181cbb35046740053cf81 05-Aug-2017 Prathmesh Prabhu <pprabhu@chromium.org> [autotest] Fix backwards compatibility of sysinfo excludes.

CL:585379 didn't correctly handle backward compatibility requirement of
the deprecated additiona_exclude property of sysinfo.logdir

FixIt.

BUG=chromium:728290
TEST=(fixed) unittests.

Change-Id: I1e89ebbe41516587195d3a220b0cb6ef9c18a46b
Reviewed-on: https://chromium-review.googlesource.com/602076
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
ite_sysinfo.py
ite_sysinfo_unittest.py
0b3ac67a34b83952e395c7baffc46ba3b034f697 26-Jul-2017 Prathmesh Prabhu <pprabhu@chromium.org> Allow overriding exclude paths for sysinfo collection

Before this CL, we could specify additional patterns for exclusions
during sysinfo rsync. This CL adds the ability to override the list
entirely.

This is needed for moblab sysinfo collection to be able to gather logs
that were originally blacklisted internally.

BUG=chromium:728290
TEST=(1) new unittests.
(2) With CL:536257, moblab_RunSuite collects results including
autoserv.DEBUG files.

Change-Id: I7b569bb73bbf461c4af8d54de3ae2da866565df8
Reviewed-on: https://chromium-review.googlesource.com/585379
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
ite_sysinfo.py
ite_sysinfo_unittest.py
36c4c69318083e7fe12a567b081a5d6f7bcc0404 28-Jul-2017 Dan Shi <dshi@google.com> [autotest] Add a success field in the metrics for result tools.

This allows metrics to be filtered by only successful calls, removing the noise
from offline duts.

BUG=chromium:716218
TEST=local run test

Change-Id: I175f4e907a9734ef3bca3ce54f451ad72a8ff036
Reviewed-on: https://chromium-review.googlesource.com/590951
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Paul Hobbs <phobbs@google.com>
esult_tools/runner.py
29119c268755916b7682a74b489ca6c230f0885e 28-Jul-2017 Dan Shi <dshi@google.com> BUG=b:64129809

Revert "[autotest] Stop logging lsb-release content to test keyvals"

This reverts commit 9b570a03e9dce2ab3dbd409e5acf5304ca5fd0b1.

Change-Id: I634b2ccbe364e3833a775552b725f7e9a72129c7
Reviewed-on: https://chromium-review.googlesource.com/590990
Reviewed-by: Dan Shi <dshi@google.com>
Commit-Queue: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
ite_sysinfo.py
b31263bae188d9bb598b81f818a8bff93d8f25da 26-Jul-2017 Prathmesh Prabhu <pprabhu@chromium.org> [autotest] Accept a sysinfo.logdir object for sysinfo.add_logdir

Instead of duplicating the constructor of sysinfo.logdir, accept a
pre-constructed logdir.

BUG=chromium:728290
TEST=Run provision on local AFE without SSP.

Change-Id: Id7841dc03a30e0d82b52a88b93c7533779b26acd
Reviewed-on: https://chromium-review.googlesource.com/585378
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
ite_sysinfo.py
ysinfo.py
aab59c0517e31caabc4941eea32774a1b48410c7 25-Jul-2017 Prathmesh Prabhu <pprabhu@chromium.org> Make sysinfo collection more aggressive about resolving source paths

Two changes really:
- Resolve symlinks to determine the source path.
- Don't apply path exclusions to the leading prefix of the source path,
only within the source root.

+ unittests for old and new behaviour.

BUG=chromium:728290
TEST=(new) unittests.

Change-Id: I43a773d695d2062eceefe7a6b65bc99ae3d920c1
Reviewed-on: https://chromium-review.googlesource.com/584087
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
ite_sysinfo.py
ite_sysinfo_unittest.py
9b570a03e9dce2ab3dbd409e5acf5304ca5fd0b1 26-Jul-2017 Dan Shi <dshi@google.com> [autotest] Stop logging lsb-release content to test keyvals

The content is not used anywhere and takes space in tko_test_keyvals table.

BUG=None
TEST=None

Change-Id: Ifc3da0d05fc64223ecb2c0acc1e4c5696524ee82
Reviewed-on: https://chromium-review.googlesource.com/585376
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Richard Barnette <jrbarnette@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
ite_sysinfo.py
132c7a9b1075acf9c120a84cd24ea12ef05a9e33 26-Jul-2017 Dan Shi <dshi@google.com> [autotest] Make result_tools run faster

1. Add a module flag to only deploy result_tools to dut once across the test.
This avoid 0.2s for no-op rsync calls to copy result_tools.
2. Add excludes for only deploy py modules to dut.
3. Only update original size at the end of build_from_path. This prevents
recursive updating parent directories' size information, and reduce the
run time to 1/5, for a result with 600 files (more savings for results with
large number of files.)

BUG=chromium:716218
TEST=local run test, check files on the dut.

Change-Id: Iac98ed01c1e372e98d353236f8ba8184a63104e7
Reviewed-on: https://chromium-review.googlesource.com/584864
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Paul Hobbs <phobbs@google.com>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
esult_tools/result_info.py
esult_tools/runner.py
1d85fcbede76c2d050c58f5852235dfefc1d2d55 26-Jan-2016 Gwendal Grignou <gwendal@chromium.org> autotest: Update virtual partition object

Remove usage of kpartx, not included anymore.
Remove partition table, use the whole loop device as a single partition

BUG=chromium:669641
TEST=Check xfstests run.

Change-Id: I3a2fb1870e5b7ef263e8e24674dc2c4474d7ac12
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/416221
Reviewed-by: Richard Barnette <jrbarnette@google.com>
artition.py
92c34c9d38647903943c066d07ae3d096baf5860 15-Jul-2017 Dan Shi <dshi@google.com> [autotest] Support excludes argument in send_file method

This argument allows caller to skip certain files when sending files to dut.
One use case is for result throttling to deploy scripts on the dut.
When send_file uses commands that do not support --exclude, for example, copy
file locally or using scp, send_file method will fail.

BUG=chromium:716218
TEST=local run test, check files on the dut.

Change-Id: I9efa44a15b8a04fa6a3d10601253b3e2aceba66c
Reviewed-on: https://chromium-review.googlesource.com/572143
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
ocal_host.py
4f8c0244d0ce557488a7ddbb29f28a2719a2523f 08-Jul-2017 Dan Shi <dshi@google.com> [autotest] Add logic in test run and crashcollect to throttle results.

Add throttling call in tko/parse.py to throttle the results created on the
server side.
For special tasks, there is no parse stage, so the final result throttling
is triggered in autoserv (and crashcollect where the code directly calls
host.get_file).

BUG=chromium:716218
TEST=unittest, local run test

Change-Id: I637bbead04f82f8f529d1d0982e3567445901938
Reviewed-on: https://chromium-review.googlesource.com/564140
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/result_info.py
esult_tools/result_info_unittest.py
esult_tools/runner.py
esult_tools/utils.py
c958a3d5b7053c6e807ec6ea7967a9271d4e09da 06-Jul-2017 Dan Shi <dshi@google.com> [autotest] Add logic in result_tools/utils to throttle results if needed.

The change implements a sequence of throttling strategies to try to reduce result
size to be under the limit.

BUG=chromium:716218
TEST=unittest, local run test

Change-Id: I8a4f7f85b074a8aae1fca600edbd70ed81e6d92d
Reviewed-on: https://chromium-review.googlesource.com/562740
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/runner.py
esult_tools/utils.py
esult_tools/utils_lib.py
esult_tools/utils_unittest.py
4b691e55808ec03bd55cbf4000adc98d4fb24dcb 05-Jul-2017 Dan Shi <dshi@google.com> [autotest] Add two result throttlers (dedupe_file_throttler, zip_file_throttler)

dedupe_file_throttler:
This throttler tries to remove the remove repeated files sharing the same
prefix, for example, screenshots or dumps in the same folder. The dedupe logic
does not compare the file content, instead, it sorts the files with the same
prefix and remove files in the middle part.

zip_file_throttler:
This throttler tries to reduce result size by compress files to tgz file.

BUG=chromium:716218
TEST=unittest

Change-Id: I98993da2ca18823fb4689ac9bea5679646ea2035
Reviewed-on: https://chromium-review.googlesource.com/559849
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/dedupe_file_throttler.py
esult_tools/dedupe_file_throttler_unittest.py
esult_tools/result_info.py
esult_tools/zip_file_throttler.py
esult_tools/zip_file_throttler_unittest.py
1e6dcef33df25a7435c7b111e5a2bf0d86071c9d 30-Jun-2017 Dan Shi <dshi@google.com> [autotest] Add a delete_file_throttler to throttle result size

This throttler deletes result files from largest first to reduce result size.

BUG=chromium:716218
TEST=unittest

Change-Id: Ib8a8e9727bed84a1a7143eacab3b70aba9ec1ff9
Reviewed-on: https://chromium-review.googlesource.com/557306
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/delete_file_throttler.py
esult_tools/delete_file_throttler_unittest.py
c45ac69f11a6c334743c9fc7cbafae733e75247b 20-Jul-2017 Dan Shi <dshi@google.com> [autotest] Add shrink_file_throttler used to reduce test result size.

shrink_file_throttler tries to remove the middle part of test result files
to reduce the result size.
The logic is not triggered in the utils call yet.

BUG=chromium:716218
TEST=unittest

Change-Id: I7506cdbfeeeaaac0b050cb3ff9acebfde18b5a54
Reviewed-on: https://chromium-review.googlesource.com/580405
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/shrink_file_throttler.py
esult_tools/shrink_file_throttler_unittest.py
esult_tools/throttler_lib.py
esult_tools/throttler_lib_unittest.py
393fc8c903d61bad72ad0ab13d56955ac2888912 29-Jun-2017 Dan Shi <dshi@google.com> [autotest] Add a model to wrap the dictionary of result information.

The wrapper class ResultInfo is added to make the result information model
much cleaner. All result info related properties and methods are consolidated
in a single class.

BUG=chromium:716218
TEST=unittest

Change-Id: Ie40974e7ea9911a813aa7c7879505a2fd5487978
Reviewed-on: https://chromium-review.googlesource.com/579573
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/result_info.py
esult_tools/result_info_lib.py
esult_tools/result_info_unittest.py
esult_tools/utils.py
esult_tools/utils_lib.py
esult_tools/utils_lib_unittest.py
esult_tools/utils_unittest.py
esult_tools/view.py
dd53f71d6392d957eb88838cb16b288538c6f400 11-Jul-2017 Prathmesh Prabhu <pprabhu@chromium.org> Simplify local_host.run

+ Also preserves the original stack trace from utils.run for better
error reporting.

BUG=chromium:684311
TEST=unittests

Change-Id: If8b386fe261e03a55e7419921a9368506c25173c
Reviewed-on: https://chromium-review.googlesource.com/567758
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
ocal_host.py
ocal_host_unittest.py
ffd5b82912ac09842a2b55dd0706343c231bcf3e 14-Jul-2017 Dan Shi <dshi@google.com> [autotest] Report test result sizes to metrics

There are two reporting source:
1. Test jobs report result size information in tko/parse.
2. Special tasks report result size information at the end of autoserv process.

BUG=chromium:716218
TEST=unittest, local run test

Change-Id: I2410f3a3a5a16c1673446633e15c038a5e4ef81f
Reviewed-on: https://chromium-review.googlesource.com/571859
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/utils_lib.py
557946d18d625f8c14e0a1bf6a23d91b17d70f1d 16-Jun-2017 Joe Kniss <djmk@google.com> Implement python screenshots using GBM library.

... so that untiling is no longer handled in python code.

BUG=chromium:653283, b:38152101
TEST=Ran tests that use screenshot.py or crtcScreenShot()

Change-Id: Idb4d4933015d70c35a404a6ef0cbc3fbb664f65c
Reviewed-on: https://chromium-review.googlesource.com/550737
Commit-Ready: Joe Kniss <djmk@google.com>
Tested-by: Joe Kniss <djmk@google.com>
Reviewed-by: Joe Kniss <djmk@google.com>
creenshot.py
da40440c64ddf9dd31cd819eea460104145e4ad7 11-Jul-2017 Prathmesh Prabhu <pprabhu@chromium.org> Cleanup local_host unittests.

- Migrate to unittest.mock
- Reformat long argument lists for easy maintenance
- Break apart a test in two

BUG=chromium:648311
TEST=unittests

Change-Id: I0083014b77ba330f8a0ce1c26528129949380762
Reviewed-on: https://chromium-review.googlesource.com/567737
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
ocal_host_unittest.py
2e5c609b2c7a14cff4f51c749ae9d5835b79ff52 30-Jun-2017 Prathmesh Prabhu <pprabhu@chromium.org> [autotest] Make sysinfo logging more robust

We ignore errors in sysinfo log creation / collection. But we bailed on
the first error encountered so that the rest of the requested loggables
were never run. Since we're anyway ignoring errors, ignore them for each
loggable as well so that we get more information on failures.

BUG=chromium:728290
TEST=(1) new unittest.
(2) Run a client test and notice some error messages about (current
failing) log collection, and verify that other loggables are
still executed.

Change-Id: Ie09df2d0510f8a225a5d6cdde0f4dc59d55e3c9c
Reviewed-on: https://chromium-review.googlesource.com/558202
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
ase_sysinfo.py
ase_sysinfo_unittest.py
bb745385fb83c8ac63199da44cf8f78e82b832be 30-Jun-2017 Brian Norris <briannorris@chromium.org> Drop veyron_{brian,brain} references

While I appreciate a variant being named after me, one or both of these
are now obsolete ;)

BUG=none
TEST=none

Change-Id: Ife51a5b10e8320efefa8144b24c36ac9dc3a7aff
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/558197
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Bernie Thompson <bhthompson@chromium.org>
tils.py
e2e995d750616022e2d5cfeda5d9eb2bcd78df2d 27-Jun-2017 Dan Shi <dshi@google.com> [autotest] Move const and helper methods to shared lib module.

This change has no function changes. It splits some constants and helper
methods to separate modules so others can share.

BUG=chromium:716218
TEST=unittest

Change-Id: Ieb4a4de8cfc825d204c4c2e1247a2e9eeeb0639d
Reviewed-on: https://chromium-review.googlesource.com/548970
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/unittest_lib.py
esult_tools/utils.py
esult_tools/utils_lib.py
esult_tools/utils_unittest.py
esult_tools/view.py
ad719c19df78d5e28ebb760d87ff1ac08cb0e45d 28-Jun-2017 Allen Li <ayatane@chromium.org> Revert "Rename SSHHost.run to SSHHost.run_very_slowly"

This reverts commit 672fb5f8806694d9476f016c0f1094da29120f31.

Reason for revert: Broke android tests: crbug.com/737316

Original change's description:
> Rename SSHHost.run to SSHHost.run_very_slowly
>
> This CL renames several places that calls SSHHost.run directly to SSHHost.run_very_slowly.
> In addition, it warns the caller with a more verbose server stack message now.
>
> BUG=chromium:735653
> TEST=test_that dut graphics_Sanity
> ./utils/unittest_suite.py --debug
> CQ-DEPEND=I2a434782b9b7ed7a3d31289d9925f3c8502a6d9f
>
> Change-Id: Icd22fe9bcc4b5a47320478932194a8b535f4a936
> Reviewed-on: https://chromium-review.googlesource.com/545116
> Commit-Ready: Po-Hsien Wang <pwang@chromium.org>
> Tested-by: Po-Hsien Wang <pwang@chromium.org>
> Reviewed-by: Ilja H. Friedel <ihf@chromium.org>

Bug: chromium:735653
Change-Id: If57cd6103d73bc1f0335866d8c130953754df0d9
Reviewed-on: https://chromium-review.googlesource.com/550970
Reviewed-by: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Trybot-Ready: Allen Li <ayatane@chromium.org>
esult_tools/runner.py
672fb5f8806694d9476f016c0f1094da29120f31 22-Jun-2017 Po-Hsien Wang <pwang@chromium.org> Rename SSHHost.run to SSHHost.run_very_slowly

This CL renames several places that calls SSHHost.run directly to SSHHost.run_very_slowly.
In addition, it warns the caller with a more verbose server stack message now.

BUG=chromium:735653
TEST=test_that dut graphics_Sanity
./utils/unittest_suite.py --debug
CQ-DEPEND=I2a434782b9b7ed7a3d31289d9925f3c8502a6d9f

Change-Id: Icd22fe9bcc4b5a47320478932194a8b535f4a936
Reviewed-on: https://chromium-review.googlesource.com/545116
Commit-Ready: Po-Hsien Wang <pwang@chromium.org>
Tested-by: Po-Hsien Wang <pwang@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
esult_tools/runner.py
876e691c1a10808db4ac0d55b91ce1145dd0708b 21-Jun-2017 Gwendal Grignou <gwendal@chromium.org> utils.py: Fix regex to identify nvme devices

/dev/nvme0 is not a storage device, /dev/nvme0n1 is.
Fix the regex so that get_disk_from_filename() reports nvme0n1 instead
of nvme0.

BUG=chromium:655192
TEST=Check get_disk_from_filename report nvme0n1 for a file on this
device. Check regex works fine for mmcblk0.

Change-Id: I744aa7971c1417b8194b8a66d674cb88d505d412
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/543542
Reviewed-by: Puthikorn Voravootivat <puthik@chromium.org>
tils.py
010c0bcc9c7d91c451534d95b12305649627c180 22-Jun-2017 Dan Shi <dshi@google.com> [autotest] Move result_utils to its own package

This change moves result_utils.py to its own package. More code will be added to
enable result throttling. So it's more manageable to put all related files to a
single folder.

This change also push the result tools modules to client before trying to build
result summary. This removes the client side dependency. So all result
throttling logic will be kept on the server side.

BUG=chromium:716218
TEST=unittest, local run dummy tests

Change-Id: Icc3542af99439fd39b1dba36ac45aab6effd1080
Reviewed-on: https://chromium-review.googlesource.com/544049
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_tools/__init__.py
esult_tools/common.py
esult_tools/runner.py
esult_tools/utils.py
esult_tools/utils_unittest.py
esult_tools/view.py
esult_utils.py
esult_utils_unittest.py
esult_view.py
f53d1269ad7321116eadcb0167d81dbea9bf4bef 19-Jun-2017 Dan Shi <dshi@google.com> [autotest] Allow control file to specify maximum test results to collect

Control file can set an attribute MAX_RESULT_SIZE_KB to specify the maximum
test result size to collect. By default, it will be 20MB if
`enable_result_throttling` is set to True in global config.

BUG=chromium:716218
TEST=unittest, local run dummy tests

Change-Id: Ia6b9a04d92ec91179ceb99466b5e9d6a5d1b3ef3
Reviewed-on: https://chromium-review.googlesource.com/540196
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_utils.py
136240121e239efec5005e1bdc632dde3cf2fd1e 12-Jun-2017 Dan Shi <dshi@google.com> [autotest] Compile result summaries into a single html page

The html page allows one to browse the test results and check sizes.

BUG=chromium:716218
TEST=unittest, local build
Rebuild html page:
/usr/local/autotest/tko/parse -l 2 -r -o \
/usr/local/autotest/results/1355-dshi/100.107.151.233
local view:
http://dshi1.mtv/results/1355-dshi/100.107.151.233/result_summary.html
GS view:
https://storage.cloud.google.com/dshi-test/1355-dshi/100.107.151.233/result_summary.html

Change-Id: I39ac268e3b5da3f1c15cad314a8bf370eff00dfd
Reviewed-on: https://chromium-review.googlesource.com/531605
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
esult_utils_unittest.py
esult_view.py
0f37b06e544c2bec817ebc4370b60155646d462f 16-Jun-2017 Dan Shi <dshi@google.com> [autotest] Handle the case where no directory summary was collected.

BUG=chromium:733840
TEST=local run parse job

Change-Id: I99fffc0548f2f07c1bb3b0016ca1a524f327a5a7
Reviewed-on: https://chromium-review.googlesource.com/538116
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
esult_utils.py
esult_utils_unittest.py
05d0b898d2bcbdbf88bf1ffb45ec1d9b34fd7479 06-Jun-2017 Dan Shi <dshi@google.com> [autotest] Add support to merge directory summaries from multiple result collect

This change adds the main logic to merge the directory summaries from the
multiple result collections during the test. During the merge, it also calculate
the total size of result files transfered from the test device.
At the end, the summaries are merged with all the files in the test result
folder on the drone, which will be used to compile the final view of test
results.

BUG=chromium:716218
TEST=unittest

Change-Id: I3ff326a046497f752125ed679e7c4f72bdddc5fa
Reviewed-on: https://chromium-review.googlesource.com/526274
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_utils.py
esult_utils_unittest.py
9f879fb899dde997dbec1da17bd8bb48a4f8b1fb 27-May-2017 Dan Shi <dshi@google.com> [autotest] Record directory information when collecting client side logs.

This change added a command line tool to run on the client side to build
up the directory information (path and size). The command is executed
before each get_file call in server/autotest.

The directory summary will be used to throttle the result size.

BUG=chromium:716218
TEST=local run test, verify the summary file is collected.

Change-Id: I99c8b9a30c1ea5cf9be907d1b8a7dc1730c5b437
Reviewed-on: https://chromium-review.googlesource.com/517421
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
esult_utils.py
esult_utils_unittest.py
6dadbab63a63cce477b7dab505fa852a97903b05 09-May-2017 Po-Hsien Wang <pwang@chromium.org> temperature.py: unify temperature measurement

Unify measurement of temperature in autotest and GLBench
Now GLBench calls autotest/bin/temperature.py to get the
temperature measurement from autotest utils.py

1) Add temperature.py to client/bin
Usage: temperature.py [-h] [-m | -c] [-v]
2) Modify glbench/utils.cc to use temperature.py for
temperature measurement

BUG=chromium:684189
TEST=test_that graphics_GLBench, glbench

Change-Id: Icbba61d783cd530817a1049805969866326bdda8
Reviewed-on: https://chromium-review.googlesource.com/499155
Commit-Ready: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
emperature.py
f0c8224364e104aabe3ff76525e0cc7a39be2a6c 19-May-2017 Aviv Keshet <akeshet@chromium.org> autotest: (base_job) delete TAPReport and all callers

This looks unused.

BUG=None
TEST=None

Change-Id: I7ceff7c4c546eba72ab6c24e66abe759077a758c
Reviewed-on: https://chromium-review.googlesource.com/509013
Commit-Ready: Aviv Keshet <akeshet@chromium.org>
Tested-by: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Keith Haddow <haddowk@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@google.com>
utotest
ob.py
ob_unittest.py
etup_job_unittest.py
a2b87b68a08d65c88db698fdba08618e09e40ee7 05-Apr-2017 Achuith Bhandarkar <achuith@chromium.org> vm_sanity: Also test navigation.

BUG=chromium:591624
TEST=this is the test.

Change-Id: I27ede01045ee5a4eb7bf753d3eaa66061b1e481b
Reviewed-on: https://chromium-review.googlesource.com/482022
Commit-Ready: Achuith Bhandarkar <achuith@chromium.org>
Tested-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
m_sanity.py
dab8e18cf676c5d14df4e7fd361c958021d01cc9 03-May-2017 Po-Hsien Wang <pwang@chromium.org> utils.py: Remove X11 remnants

Remove is_freon function as X11 is not supported anymore.
Modify graphics_platform() as X is not used in ui_used_flags anymore.

BUG=chromium:655820
TEST=test_that graphics_SanAngeles
test_that firmware_TouchMTB
test_that graphics_Drm.drm_cursor_test

CQ-DEPEND=I2e49b21d793d842cb317551dbf4f42e7b5e63177, Ib14e89d9dfff8b9366612809467a3b8e4e0beeb9, I1f3d41bfc3e78307d115c4d4f15fbbeb5c0e7833, I5982a1995e348c652760acc70deb753863c008bd, If68944865db9ca4df1973f86279f657029604269, Ib1debd844ee1a7592e2205b472df6350a39f46cc

Change-Id: Icfb3fff259560747d6a705035ced07ee964122f8
Reviewed-on: https://chromium-review.googlesource.com/493877
Commit-Ready: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
tils.py
c63d07cfeae883263f34e4ce52e1f594aa281a72 27-Apr-2017 Allen Li <ayatane@google.com> [autotest] Improve deprecation warnings

Example output:

$ ./site_utils/deployment/deploy.py -h
WARNING:py.warnings:/usr/local/google/home/ayatane/src/chromiumos/src/third_party/autotest/files/server/lib/status_history.py:43: APIDeprecationWarning: (NOT AN ERROR) autotest_lib.client.common_lib.site_utils is deprecated; please file a fixit bug: https://bugs.chromium.org/p/chromium/issues/entry?labels=Pri-3%2CType-Bug%2CHotlist-Fixit&description=Please+paste+the+warning+message+below%0A&components=Infra%3EClient%3EChromeOS&summary=Deprecated+use+of+autotest_lib.client.common_lib.site_utils
from autotest_lib.client.common_lib import site_utils

BUG=chromium:716077
TEST=Run site_utils/deployment/deploy.py -h

Change-Id: I5dffb6ea756c258bdb0b11cd1cd107318e2d5438
Reviewed-on: https://chromium-review.googlesource.com/489683
Tested-by: Allen Li <ayatane@chromium.org>
Commit-Queue: Allen Li <ayatane@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
ase_utils.py
ite_utils.py
4127a8a81751425e392c8e041e7f8f583ae683d6 25-Apr-2017 Richard Barnette <jrbarnette@chromium.org> [autotest] Block '*.core' from test results.

When Chrome crashes, we care about the minidump files, but not the
core files. The core files are large, and expensive to include in
test results, so we want to exclude them.

There's a config option that allows selecting whether core files
are uploaded in sysinfo for test results. By default, that option
is true. This changes the option to be false in global_config.ini.
This also re-enables code to include /var/spool/crash, since with
core files excluded, that directory should be safe to include.

BUG=chromium:715228
TEST=Run tests against at DUT with dumps; see non-*.core files collected

Change-Id: I4be856c45df1456893347cf3a48179c92d5f8330
Reviewed-on: https://chromium-review.googlesource.com/486968
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
Commit-Queue: Richard Barnette <jrbarnette@chromium.org>
ite_sysinfo.py
5ed7e63aeec90dc0c6b4229a66bf161410aa86a6 04-Feb-2017 Allen Li <ayatane@chromium.org> [autotest] Merge client/common_lib/site_utils

BUG=chromium:672727
TEST=None

Change-Id: I15859c0e05e99d244eec5b470a984ced0c874f19
Reviewed-on: https://chromium-review.googlesource.com/437727
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
tils.py
3cf74ed60b2419125306a1e0e433d82d0c8edc3e 22-Apr-2017 Ilja H. Friedel <ihf@chromium.org> Reland "[autotest] Don't include /var/spool/crash in test results."

The uprev to 60.0.3077.0 did not contain the crash fix yet. It will be in 60.0.30787.0

This reverts commit 158b180499131e4a5ef2dc7b4c357702aeba9838.

BUG=chromium:713004
TEST=None

Change-Id: I148b9f582ec70d6edf03feb852987785f8db9835
Reviewed-on: https://chromium-review.googlesource.com/484813
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
ite_sysinfo.py
158b180499131e4a5ef2dc7b4c357702aeba9838 21-Apr-2017 Ilja H. Friedel <ihf@chromium.org> Revert "[autotest] Don't include /var/spool/crash in test results."

This reverts commit cb21b2937f929fbde6ca7656df36703294a642c6.

BUG=chromium:713004
TEST=None

Change-Id: I9e5f0ee0c29d5cc9868c19577a8f0ecf6ce182ca
Reviewed-on: https://chromium-review.googlesource.com/483847
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
ite_sysinfo.py
cb21b2937f929fbde6ca7656df36703294a642c6 21-Apr-2017 Richard Barnette <jrbarnette@chromium.org> [autotest] Don't include /var/spool/crash in test results.

This (temporarily?) excludes /var/spool/crash from sysinfo in
test results. Shards running tests are currently overwhelmed,
apparently by the volume of Chrome crashes. Shut them off, to
see if we can make progress.

BUG=chromium:713004
TEST=None

Change-Id: I8c0a74771251c68ca70ac1129fa9cfa3013b539e
Reviewed-on: https://chromium-review.googlesource.com/483960
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@google.com>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
ite_sysinfo.py
0adbce500c5e86cc89cfb0d51fb1f3b446202547 10-Apr-2017 Allen Li <ayatane@chromium.org> Restore a copy of base_utils.py for backward compatibility

https://chromium-review.googlesource.com/c/437589/

BUG=chromium:672727
TEST=None

Change-Id: Ib3f1f73dd74b2d0d114c878be29e6f6ead833a53
Reviewed-on: https://chromium-review.googlesource.com/473527
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Daniel Wang <wonderfly@google.com>
ase_utils.py
2c32d6b593c4987a525ef162d6704fa6d6d7c0b0 04-Feb-2017 Allen Li <ayatane@chromium.org> [autotest] Merge client/bin/site_utils

BUG=chromium:672727
TEST=None

Change-Id: I03a05a3ae3163437109010106ad988ff101a3998
Reviewed-on: https://chromium-review.googlesource.com/437589
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
ase_utils.py
io_util.py
et/net_utils.py
et/net_utils_unittest.py
ite_utils.py
pdate_intel_pci_ids
tils.py
e248c6d860178f9398e6e3aa78e82ca3d938ac2f 29-Mar-2017 Kazuhiro Inaba <kinaba@chromium.org> Stop killing cryptohomed at the end of tests.

Now the TPM_DICTIONARY_ATTACK_COUNTER data can be obtained without
stopping services.

This makes client tests happy when used as an utility within server tests,
in a way described in:
docs/best-practices.md#Calling-client_side-tests-from-a-server_side-test
In particular, cheets_CTSHelper test, meant to leave logged-in Chrome
state for the server-side test, can now correctly keep cryptohomed alive.

BUG=b:36574842
TEST=test_that cheets_GTS.4.1_r1.GtsGmscoreHostTestCases

Change-Id: I24679f7b6d69d94aa8185d054fa74024a58588cf
Reviewed-on: https://chromium-review.googlesource.com/461783
Commit-Ready: Kazuhiro Inaba <kinaba@chromium.org>
Tested-by: Kazuhiro Inaba <kinaba@chromium.org>
Reviewed-by: Kazuhiro Inaba <kinaba@chromium.org>
ite_sysinfo.py
d38d57463f1cf312dc75d6ba25782b16d13a6027 30-Mar-2017 Achuith Bhandarkar <achuith@chromium.org> [autotest]: is_arc_available has moved to utils.

BUG=None
TEST=this is the test

Change-Id: I181ba415fb02edf7263dd184e84ced2702e695d1
Reviewed-on: https://chromium-review.googlesource.com/462443
Commit-Ready: Achuith Bhandarkar <achuith@chromium.org>
Tested-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org>
m_sanity.py
985463182a878b9eef15543143d21a02e1beb87f 22-Mar-2017 Gwendal Grignou <gwendal@chromium.org> fio_util: Newer FIO adds job options keys, ignore them

fio add in the output json keys for describing the configuration.
Their values are string, confusing results processing which expects
floats for performance values.

BUG=b:34841890
TEST=hardware_StorageFio passes.

Change-Id: I40ef972f38e58164e59179891f42f95592201aec
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/457776
Reviewed-by: Daniel Wang <wonderfly@google.com>
Reviewed-by: Puthikorn Voravootivat <puthik@chromium.org>
io_util.py
cb8584da5f9f51fc55f194ccc79f6038bc870766 10-Mar-2017 Justin TerAvest <teravest@chromium.org> Remove unused cpuset.py file.

This is some ancient cpuset management logic that doesn't seem to be
used anywhere. I'm hoping to remove some old autotest junk to make it
easier to browse through the source.

BUG=None
TEST=None

Change-Id: Ia43e9beda003ae3bcfefb4dceeb986599270b95e
Reviewed-on: https://chromium-review.googlesource.com/452961
Commit-Ready: Justin TerAvest <teravest@chromium.org>
Tested-by: Justin TerAvest <teravest@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
puset.py
b46d3c05d6507bc65a6498c531cc217561bbc116 07-Jan-2017 Allen Li <ayatane@chromium.org> [autotest] Split multiple imports on one line

This makes it easier to debug import side effects with pdb/print.

BUG=None
TEST=None

Change-Id: I90c6c6f6e06e870f447023a26a8670cc9ae8994c
Reviewed-on: https://chromium-review.googlesource.com/426015
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
ase_utils.py
10b39114bd541ec1f15d841b3aa2e81ef901acb5 14-Feb-2017 Achuith Bhandarkar <achuith@chromium.org> sanity: Add support for ARC tests.

Tests are borrowed from cheets_CleanShutDown, and
cheets_ContainerSmokeTest. Also add elapsed time info.

BUG=chromium:591624
TEST=manual

Change-Id: I9fe5b75eefa0209de20d685c65061fb12e9e9fe2
Reviewed-on: https://chromium-review.googlesource.com/442567
Commit-Ready: Achuith Bhandarkar <achuith@chromium.org>
Tested-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
m_sanity.py
ec4e85215029c7767f8876e95f34b343f14c387c 08-Feb-2017 Ravi Chandra Sadineni <ravisadineni@chromium.org> harness_standalone: Install the script into init.d folder.

BUG=chromium:539698
TEST=bin/autotest tests/power_LoadTest/control.1hour on dut.

Change-Id: Iac9c99b2381708cdf9f2b4a4120082ed75cac650
Reviewed-on: https://chromium-review.googlesource.com/439438
Commit-Ready: Ravi Chandra Sadineni <ravisadineni@chromium.org>
Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Todd Broch <tbroch@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
arness_standalone.py
bf0c4410efcc066070954f0b7222bd06ba5fe389 04-Feb-2017 Allen Li <ayatane@chromium.org> [autotest] Merge client/common_lib/site_packages

BUG=chromium:672727
TEST=None

Change-Id: Idb55408fa26aa3a8b876ce6dfe54100afd69c980
Reviewed-on: https://chromium-review.googlesource.com/437711
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
arness_autoserv.py
ob.py
95329e91203844d40130efedcc8aa9a74eebe71f 02-Feb-2017 Dan Shi <dshi@google.com> [autotest] Add 2 utilities related to TKO database

cleanup_tko_db.py:
Call stored procedure to remove tests older than 180 days.

check_slave_db_delay.py:
Check the slave database of AFE and TKO's delay time after master.
Report the delay to metrics.

BUG=chromium:683965,chromium:682489
TEST=local run the script.

Change-Id: If049ea5ce1ef2ed55cbb9a94f4523a466987ac59
Reviewed-on: https://chromium-review.googlesource.com/436284
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Dan Shi <dshi@google.com>
ite_utils.py
758ebd0b29876e9d2cf6722d2f362a47a51a3dcd 01-Feb-2017 Dan Shi <dshi@google.com> Do not force to install latest package in container.

For server side test using SSP, installing packages requires to run
apt-get update and other commands that take long time to finish and introduce
unnecessary load on the drone. All these slow down the server side test by
minutes.
This change allows install_packages call to skip installing a package if it's
already installed and user does not force the latest version of the package.

BUG=chromium:660392
TEST=lxc_functional_test.py

Change-Id: I4a8113a06fcec8062807899f7d25dfa4427746a8
Reviewed-on: https://chromium-review.googlesource.com/435463
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Simran Basi <sbasi@chromium.org>
ite_utils.py
097e0371b6f462a9ed2aea43dcfcb2fbbb67396b 03-Feb-2017 Allen Li <ayatane@chromium.org> [autotest] Make status_indenter.job private

BUG=chromium:672727
TEST=None

Change-Id: I812a3a81f31ba80ce0edbef8f47a3b66dc19ab32
Reviewed-on: https://chromium-review.googlesource.com/437664
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
ob.py
0fe0da37d1d3d0b8c7bda5d5dd4ee7778a7d17bc 02-Feb-2017 Allen Li <ayatane@chromium.org> [autotest] Fix job imports

BUG=None
TEST=None

Change-Id: I462f0297ce3a87b067f6c2ab008df2b61dae343d
Reviewed-on: https://chromium-review.googlesource.com/436347
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
ob.py
775de1d6c04ff0a74d04844ce2f9330a0ccb9240 02-Feb-2017 Allen Li <ayatane@chromium.org> [autotest] Fix unused variables

BUG=None
TEST=None

Change-Id: Ib70336662caa6b75d2067daa97f36dcfc7419b44
Reviewed-on: https://chromium-review.googlesource.com/436346
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
ob.py
2e68f186d24153994c8776d5b563921cf6d1d6cb 02-Feb-2017 Allen Li <ayatane@chromium.org> [autotest] Merge site_job into job

BUG=chromium:672727
TEST=None

Change-Id: I4da8896a0b64bcb8e4cee6fe78b5affacff69243
Reviewed-on: https://chromium-review.googlesource.com/436345
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
ob.py
ite_job.py
9dfa960af3f7b56ef52291d3c7e21f52770ee381 05-Sep-2016 Joseph Hwang <josephsih@chromium.org> client/bin/input: add an input_event_recorder module

Add an input_event_recorder module to record input events received on a DUT.

BUG=chromium:680378
TEST=Record mouse events on a Samus
$ python input_event_recorder.py
Then move a wired mouse around, click buttons, and scroll wheels.
Observe the mouse events are recorded correctly.

Change-Id: I97ca22831de5ae1d80a5d2a15dda042e172afece
Reviewed-on: https://chromium-review.googlesource.com/381153
Commit-Ready: Shyh-In Hwang <josephsih@chromium.org>
Tested-by: Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
nput/input_event_recorder.py
6dd758fa212f47b47ff6bc140e9a667d6dafc734 23-Nov-2016 Achuith Bhandarkar <achuith@chromium.org> Add a simple sanity test for simple chrome VM.

This test takes ~7 min on a non-KVM VM, vs 15-20 min for the
equivalent catapult test.

BUG=chromium:591624
TEST=manual.

Change-Id: I002b24111b3d986ea0586a425d795cfc38673e8f
Reviewed-on: https://chromium-review.googlesource.com/414488
Commit-Ready: Achuith Bhandarkar <achuith@chromium.org>
Tested-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
m_sanity.py
8a25e3fbab199b040beb5e44876aaf69a8510b3d 11-Nov-2016 Satyajit Sahu <satyajit.sahu@amd.com> [autotest] Add AMD support in get_cpu_soc_family

Add new cpu soc family in "amd" in get_cpu_soc_family.

BUG=None
TEST=Autotest on AMD development board

Change-Id: I45c2dacfe127fdb95b7846c62ace113fe7fd258c
Signed-off-by: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com>
Reviewed-on: https://chromium-review.googlesource.com/401087
Commit-Ready: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
md_pci_ids.json
ase_utils.py
ite_utils.py
13e353729c400d029e9167ded3cdc3032cbf8411 02-Dec-2016 Chung-yih Wang <cywang@google.com> input_device: Add get_device_node() from keyboard_device.py

The function get_device_node() is for retrieveing the device node of
a given device type in general and is better to reside in input_device library.

BUG=none
TEST=none

Change-Id: I85db052eda97df34c29318e5245ce4747bf9db48
Signed-off-by: Chung-yih Wang <cywang@google.com>
Reviewed-on: https://chromium-review.googlesource.com/415653
Reviewed-by: Ben Cheng <bccheng@chromium.org>
nput/input_device.py
e8794f75276492c87e3ad4bcae4d6b26ac368711 29-Nov-2016 Nicolas Boichat <drinkcat@google.com> site_utils: get_gpu_family: rogue: Test for debugfs path

Driver name may change across DDK updates, let's test for the
existence of /sys/kernel/debug/pvr instead, which should be
present with all DDK versions.

BUG=chrome-os-partner:60333
TEST=test_that graphics_Idle

Change-Id: I2af4d214137e591a26ddab911e78d5373568f568
Reviewed-on: https://chromium-review.googlesource.com/414713
Commit-Ready: Nicolas Boichat <drinkcat@chromium.org>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
ite_utils.py
2cfc851f8b6ba6e899418774be8d761b37efe700 23-Nov-2016 Chung-yih Wang <cywang@google.com> site_utils: Log processes details

Need more processes details for debugging.

BUG=chromium:667983
TEST=none

Change-Id: I38f0a8851a94efe78c35e05d00f1a7b67cc54423
Signed-off-by: Chung-yih Wang <cywang@google.com>
Reviewed-on: https://chromium-review.googlesource.com/413804
Reviewed-by: Hsu-Cheng Tsai <hctsai@chromium.org>
ite_utils.py
50f2fb74be9b7f9f55fac03ec839f8f0ddba073d 12-Nov-2016 Wayne Boyer <wayne.boyer@intel.com> site_utils: Add new GPU PCI IDs to JSON file

Update the JSON file associated with Intel GPU PCI IDs to include
new IDs which have been added to upstream Mesa. These changes
are generated by running the update_intel_pci_ids script.

Change the update_intel_pci_ids script to account for
branding changes for Braswell PCI IDs.

BUG=None
TEST=./update_intel_pci_ids
TEST=test_that <ip_address> graphics_Idle
TEST=test_that <ip_address> graphics_dEQP.gles3.info

Change-Id: I26db49855fa408e68769d60df1927e2621a4c92c
Signed-off-by: Wayne Boyer <wayne.boyer@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/410170
Commit-Ready: Azhar Shaikh <azhar.shaikh@intel.com>
Tested-by: Russ Sage <russ.sage@intel.com>
Tested-by: Michael W Mason <michael.w.mason@intel.com>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
ntel_pci_ids.json
pdate_intel_pci_ids
0c130dea7f7d94084c4e177271c81427b5145a7d 19-Nov-2016 Luigi Semenzato <semenzato@chromium.org> Ignore symlinks when copying logs.

Symlinks in log directories exist only for convenience
and are confusing code that preserves logs across reboots
by placing them in /mnt/stateful_partition/unencrypted/preserve.
So don't bother copying them unless they are safe (i.e.,
relative symlinks pointing inside the tree being copied).

BUG=chromium:467066
TEST=none

Change-Id: Id23493219cee795f801c920c8519157411984b35
Reviewed-on: https://chromium-review.googlesource.com/412991
Commit-Ready: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
ite_sysinfo.py
6e274c73cfc01a39638293c6f914262776d6256d 17-Nov-2016 Daniel Erat <derat@chromium.org> autotest: Add autologin.py.

Add autologin.py, a client script that can be used to
automatically log in using a test user.

BUG=none
TEST=manual: ran on test image and observed chrome log in

Change-Id: I0a21b22685e961aed96a2ae6bc2e928fb2f16dc1
Reviewed-on: https://chromium-review.googlesource.com/412304
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>
utologin.py
a409c80507d68befd00d3e9aa20cf378f11c1fb9 13-Oct-2016 Gwendal Grignou <gwendal@chromium.org> Add support for NVMe device

Add support in storage client tests to support NVMe device.

BUG=chromium:655192
TEST=Run StorageQualBase.test.
Verified that all tests (Cryptohome and plain fio tests) passed.

Change-Id: Ieadd636c2f459e45f8e5c06067d9055300bab09c
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/398158
ase_utils.py
82dd904be8244d3d5933742bddfe5293734c7207 28-Sep-2016 Haixia Shi <hshi@chromium.org> base_utils: determine ARM SoC family type from devicetree

Determine ARM SoC family from the "compatible" property at the base node
of devicetree, if it exists. Otherwise try the old cpuinfo path.

BUG=chrome-os-partner:57291
TEST=test_that graphics_Idle on kevin

Change-Id: I90767d55b760a1c80acf82d0b0a8d7815c99a458
Reviewed-on: https://chromium-review.googlesource.com/390317
Commit-Ready: Haixia Shi <hshi@chromium.org>
Tested-by: Haixia Shi <hshi@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
ase_utils.py
d00647a391faef2fc7c5871efef91dffd139ff71 20-Sep-2016 Wenhao Li <wenhao.w.li@intel.com> Add helper functions for kernel partition

BUG=chrome-os-partner:57591
Test=Use those two functions in autotest

Change-Id: Ie657b75355ca49e96b1f7c0cdc7804671d7a7930
Signed-off-by: Wenhao Li <wenhao.w.li@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/387147
Commit-Ready: Benson Leung <bleung@google.com>
Tested-by: Wenhao W Li <wenhao.w.li@intel.com>
Reviewed-by: Wenhao W Li <wenhao.w.li@intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>
ite_utils.py
1a3686dc302fcf98aaf101f758bd510bc0d21935 03-Sep-2016 Ilja H. Friedel <ihf@chromium.org> site_utils: handle mali on kevin.

BUG=chrome-os-partner:56529
TEST=test_that <kevin_ip> graphics_dEQP.gles2.info

Change-Id: Ib743abf1116c610221ebe90da10253bc6c3dc2a0
Reviewed-on: https://chromium-review.googlesource.com/380831
Commit-Ready: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Brian Norris <briannorris@chromium.org>
ite_utils.py
d5972948ef1e4c173eb3e2a37e47832d1a06f468 20-Jul-2016 Jonathan Dixon <joth@google.com> autotest: Add Rialto to devices without a monitor

BUG=None
TEST=pylint

Change-Id: I76e414260dba5c9146476c436d5061c0a090c225
Reviewed-on: https://chromium-review.googlesource.com/361813
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
ite_utils.py
fdf079cdc1826a0b3f0c25b4aa8cbe5f7cd7e7af 11-Jul-2016 Grant Grundler <grundler@google.com> autotest: gale only has 512MB RAM

get_mem_total() applies to _all_ devices. gale only has 512MB RAM.
This check needs to get replaced with a "per device class" lookup.

BUG=None
TEST=test_that 172.27.217.218 network_EthernetStressPlug \
--args num_iterations=10,interface=wan0

Change-Id: I9ba3f6d3990bee9b0e5afd427cdcac5a7217e0fe
Reviewed-on: https://chromium-review.googlesource.com/359631
Commit-Ready: Grant Grundler <grundler@chromium.org>
Tested-by: Grant Grundler <grundler@chromium.org>
Reviewed-by: John Carey <ranix@google.com>
Reviewed-by: Grant Grundler <grundler@chromium.org>
ite_utils.py
9aec6930955ea7d3d345cf2d214f9e6982f84cb8 03-Jun-2016 Richard Barnette <jrbarnette@chromium.org> [autotest] Remove the last of the support for kernel selection.

This removes all the vestiges related to support selecting a kernel
for test from client side code. This completes removal of all such
code from the Chrome OS fork of Autotest.

N.B. It's possible that there are still design concepts within the
code that exist primarily for the benefit of kernel selection.
Finding and simplifying those design concepts are left for the
next intrepid developer.

BUG=chromium:266704
TEST=Run push_to_prod suite in a local instance.

Change-Id: I7a8bbee0f58c14c4826689d5d04999b3708ad5f6
Reviewed-on: https://chromium-review.googlesource.com/349710
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
oottool.py
onfig.py
arness.py
arness_ABAT.py
arness_unittest.py
ob.py
ob_unittest.py
ernel.py
ernel_config.py
ernel_unittest.py
ernelexpand.py
ernelexpand_unittest.py
artition.py
etup_job_unittest.py
ite_job.py
en.py
67ad67d564fd605dc0ac3671b1620a601cfc6c90 29-Jun-2016 Justin Giorgi <jgiorgi@google.com> [autotest] Removed copy of unittest library.

All tests still pass with the standard unittest library.

BUG=None
TEST=Executed utils/unittest_suite.py locally

Change-Id: I86f7e2884282bca0fcb240fe2f70c4adb71f8ddf
Reviewed-on: https://chromium-review.googlesource.com/357330
Commit-Ready: Justin Giorgi <jgiorgi@google.com>
Tested-by: Justin Giorgi <jgiorgi@google.com>
Reviewed-by: Richard Barnette <jrbarnette@google.com>
Reviewed-by: Simran Basi <sbasi@chromium.org>
ob_unittest.py
ocal_host_unittest.py
etup_job_unittest.py
f9f7469309a08687f106a4a101a22e5077a53be4 06-Jun-2016 Kalin Stoyanov <kalin@chromium.org> Enable arc_mode for chameleon tests

BUG=chromium:616635
TEST=Tested for cyan-cheets

Change-Id: I8f1235de5911e6f70ab5e9b5ef4b3a6d5124c0d6
Reviewed-on: https://chromium-review.googlesource.com/350090
Commit-Ready: Kalin Stoyanov <kalin@chromium.org>
Tested-by: Kalin Stoyanov <kalin@chromium.org>
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
ite_utils.py
d1881ad74b732affb1575d04db5ab01af14dabf0 26-May-2016 Hidehiko Abe <hidehiko@chromium.org> Move poll_for_condition to common_lib.

Some server test starts to use it, and there is no reason
to keep it in client.bin.site_utils from implementation
perspective.

This CL moves it to client.common_lib.site_utils, thus
test code can access to it via autotest_lib.server.utils,
instead of client.bin.utils.

Note that it is still accessible from client.bin.utils, so
no client side change is needed at the moment.

In future, probably it would be better to integrate the
function to client.common_lib.base_utils.wait_for_value() and
wait_for_value_changed(), but it is not the goal of this CL.

BUG=None
TEST=Ran locally.

Change-Id: Ic15df9d87c96ae459267cd157bbbb408abca6bfd
Reviewed-on: https://chromium-review.googlesource.com/347562
Commit-Ready: Hidehiko Abe <hidehiko@chromium.org>
Tested-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
ite_utils.py
788b1b580aa5aa24a258fb445fa5e91d87cc2a32 19-May-2016 David Pursell <dpursell@chromium.org> autotest: Fix brillo_ADBDirectoryTransfer (take 2).

My last CL (https://chromium-review.googlesource.com/#/c/344413/)
didn't get rsync behavior quite right so paths were still broken when
copying directories to and from the device.

In particular, for a directory foo/, the command `rsync -a foo bar`
will create bar/foo/ instead of just copying foo/ to bar/, which was
what I had thought the behavior would be.

This CL fixes LocalHost behavior to actually match rsync and corrects
AdbHost get_file() permissions copying paths accordingly.

BUG=b/28150688
TEST=test_droid.py brillo_ADBFileTransfer.10iters \
brillo_ADBDirectoryTransfer
TEST=utils/unittest_suite.py autotest_lib.client.bin.local_host_unittest

Change-Id: I879bd1cde9f415a2f5545eba7268b599d23773c7
Reviewed-on: https://chromium-review.googlesource.com/346110
Commit-Ready: David Pursell <dpursell@chromium.org>
Tested-by: David Pursell <dpursell@chromium.org>
Reviewed-by: Casey Dahlin <casey.dahlin@gmail.com>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>
ocal_host.py
ocal_host_unittest.py
e01548bf30d7d0102c7ff7b34153553e156359d3 11-May-2016 David Pursell <dpursell@chromium.org> ADBDirectoryTransfer: fix test breakage.

Fixes a few reasons why ADBDirectoryTransfer was breaking:

1. Differing send_file/get_file behavior on LocalHost vs SSHHost.
LocalHost was copying directory contents rather than the directory
itself. This CL changes LocalHost to match rsync behavior, which
should help avoid this case in the future by making local tests
behave the same as bot tests.

2. ADBDirectoryTransfer targeting.
The source/dest targeting in this test was set up to work based on
the old LocalHost behavior. This CL modifies the test to make sure
it's the whole directory that is sent, and adds an additional subdir
to make sure that also works as expected.

3. Preserving permissions in ADBHost get_file.
The permission transferring code had a few bugs for directories.
This CL fixes the pathing and variable names so that permissions will
be copied correctly for all the transferred files/directories.

BUG: b/28150688
TEST: test_droid.py brillo_ADBFileTransfer.10iters \
brillo_ADBDirectoryTransfer
TEST: unittest_suite.py fails the same tests as before.
Change-Id: I941444dbf34ca488e831ceac06a4a4e0b4abf828
Reviewed-on: https://chromium-review.googlesource.com/344413
Commit-Ready: David Pursell <dpursell@chromium.org>
Tested-by: David Pursell <dpursell@chromium.org>
Reviewed-by: David Pursell <dpursell@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>
ocal_host.py
ocal_host_unittest.py
5f5579e6f825cf33bb022c08a1b2ab95bcb9d1d7 11-May-2016 Richard Barnette <jrbarnette@chromium.org> [autotest] Bury more virtualization code.

This deletes two unused modules and tests related to kvm virtualization.

BUG=None
TEST=git grep, see that the modules are unused

Change-Id: I317c1d9d64d3663f7209a85e3f4048f80281dd39
Reviewed-on: https://chromium-review.googlesource.com/343919
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
vm_control.py
c32ef4d9f8a9f659cafdfaeebfdcfcb6d3356211 21-Apr-2016 Richard Barnette <jrbarnette@chromium.org> [autotest] Delete client/tests/kvm and related dead code.

This deletes code related to kernel tests for KVM (N.B. _not_ the
Chrome OS tests that run inside KVM in the builders), as well as
various client-side libraries that become dead after the deletion.

BUG=None
TEST=Run push_to_prod suite on a local instance

Change-Id: I6cb49f7c0eac5da07c27112071e0effda69f2a7a
Reviewed-on: https://chromium-review.googlesource.com/340243
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
ase_utils.py
f87133f23e459d11b638a2fd6fb9e23d62c5375d 30-Mar-2016 Ahmed Fakhry <afakhry@google.com> autotest: Make system logs available across reboots

Some failures can occur after the DUT has rebooted and connected to the server and before any test
gets to run. This gives us the ability to see what happened.

BUG=chromium:598380
TEST=run multiple autotests like login_OwnershipRetaken and notice the logs are copied to sysinfo/ of the test results directory.

Change-Id: Ia00fee7fa0a8edd1eb8d61c968134600e56659e5
Reviewed-on: https://chromium-review.googlesource.com/335958
Commit-Ready: Ahmed Fakhry <afakhry@chromium.org>
Tested-by: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
ase_sysinfo.py
aded6c65365a20cb624f2478885b037cefa05676 04-Apr-2016 Dan Shi <dshi@google.com> [autotest] Do log diff even if test failed and requires full log.

The log diff helps debugging issues when a dut has too much log before
the test is started.

BUG=chromium:597015
TEST=unittest, test_that 100.96.51.226 dummy_Fail

Change-Id: I325a13365e4dde1c82f60cceab1cf6ef235ffcf6
Reviewed-on: https://chromium-review.googlesource.com/336909
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Fang Deng <fdeng@chromium.org>
Reviewed-by: Jacob Dufault <jdufault@chromium.org>
ite_sysinfo.py
e7c97f899c73c271abcd7eafa73120864e5da604 25-Mar-2016 Ilja H. Friedel <ihf@chromium.org> graphics_dEQP: add generic way to skip tests.

Use wflinfo to query gles version before running tests.
Refactor graphics_GLAPICheck.

BUG=None.
TEST=Ran graphics_dEQP.gles{2|3|31}.info on alex, daisy and lars.
Ran graphics_GLAPICheck on alex.

Change-Id: Ifaf1e20240152338439c050a4481d2933def9422
Reviewed-on: https://chromium-review.googlesource.com/334872
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
ite_utils.py
c73f316cc4663aacd2422397072cb3562e95d50a 15-Mar-2016 Ilja H. Friedel <ihf@chromium.org> site_utils: detect VM for board name.

Also pylint cleanup.

BUG=chromium:594569
TEST=Ran locally on lars.

Change-Id: I2368220c1a67d139af083b3d167d76f45e66e8eb
Reviewed-on: https://chromium-review.googlesource.com/332682
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
ite_utils.py
d08a4d3e1227297ad73e7edca85f38cca7b2e30b 13-Mar-2016 Ilja H. Friedel <ihf@chromium.org> autotest: fix brillo and cleanup.

1) Brillo may not have logger installed. Fail silently.
2) Make pylint happier.

BUG=chromium:594329
TEST=pylint/pyformat.

Change-Id: I14d1e19fc765bce78f8631b1bd42f1848bd2bcad
Reviewed-on: https://chromium-review.googlesource.com/332237
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
ase_sysinfo.py
est.py
7aded908bc8b4ec3415733ca55b1ec2f74cd20b8 12-Mar-2016 Ilja H. Friedel <ihf@chromium.org> autotest: improve logging.

1) Move board spew to iteration.
2) Add iteration spew to system logs.

Also remove unused imports.

BUG=chromium:594329
TEST=Ran locally, check messages
2016-03-11T23:18:13.609018-08:00 NOTICE logger[11099]: autotest runtest graphics_Sanity
2016-03-11T23:18:14.387432-08:00 NOTICE logger[11230]: autotest starting iteration /usr/local/autotest/results/default/graphics_Sanity/sysinfo/iteration.1 on lars_1.6GHz_2GB
2016-03-11T23:18:31.713627-08:00 NOTICE logger[11292]: autotest finished iteration /usr/local/autotest/results/default/graphics_Sanity/sysinfo/iteration.1

Change-Id: I53a42cc89a1393e86fb6e3037fe590f0390e5d9c
Reviewed-on: https://chromium-review.googlesource.com/332207
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
ase_sysinfo.py
ite_sysinfo.py
est.py
5f6574479479892e960f8a4332f6fae375cb66bf 08-Mar-2016 Ilja H. Friedel <ihf@chromium.org> autotest: refactor ARM/mali utils.

1) Distinguish between different mali -> mali-t604.
2) Remove temperature TODO, it is long fixed.

BUG=None.
TEST=test_that <daisy> graphics_dEQP.gles2.performance graphics_GLBench.bvt-cq graphics_Idle

Change-Id: I47568cb3369ab213592855430a647fe6366374c1
Reviewed-on: https://chromium-review.googlesource.com/331334
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
ite_utils.py
497780908dd4b33d966566f24830194a557eed4e 07-Mar-2016 Christopher Wiley <wiley@google.com> Support ignore_timeout flag in LocalHost.run()

BUG=b:26776493
TEST=this flag is observed to work in practice against DUTs connected
to localhost.

Change-Id: I8db4447ce3a15c214307bb6eec18896c0edf75cb
Reviewed-on: https://chromium-review.googlesource.com/331031
Commit-Ready: Christopher Wiley <wiley@chromium.org>
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Kevin Cheng <kevcheng@chromium.org>
ocal_host.py
ocal_host_unittest.py
f85e60aaaaec13971a25fd8b8c89ea5f99b01990 30-Jan-2016 Ilja H. Friedel <ihf@chromium.org> autotest site_sysinfo: add board to log spew.

Most graphics tests already have that, but I think every test log
will benefit from having the board name near the top.

BUG=None.
TEST=Ran on pit.
19:10:47 INFO | ChromeOS BOARD = peach_pit_1.8GHz_2GB

Change-Id: I6f781cff4ad4494389eb4180f778897eca55f3a7
Reviewed-on: https://chromium-review.googlesource.com/324646
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Haixia Shi <hshi@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
ite_sysinfo.py
8c4b04db9826a25eb9e37c7cd3b2193314cdd2e8 02-Feb-2016 Andrey Ulanov <andreyu@google.com> autotest: implement systemd journal collection

On systemd-enabled we use systemd-journald instead of syslog to keep log data.
This change adds journal collection into autotest.

TEST=after running a test with "test_that" test results contain journal content
BUG=b:26512883

Change-Id: I5b02da14cf6d2eb5cc409607053dde8c1274781c
Reviewed-on: https://chromium-review.googlesource.com/325079
Commit-Ready: Andrey Ulanov <andreyu@google.com>
Tested-by: Andrey Ulanov <andreyu@google.com>
Reviewed-by: Daniel Wang <wonderfly@google.com>
ase_sysinfo.py
4e7934a80931e04687594beaef0d2d8d7bf2c2ae 20-Jan-2016 Ilja H. Friedel <ihf@chromium.org> graphics_PerfControl: ignore race.

After a CPU/scaling_governor is found it can disappear when the
CPU is disabled. This started happening on Tegra after change
https://chromium-review.googlesource.com/#/c/318164/2
This change causes more CPUs to become active during login and
then disappear quickly enough to cause test failures.

BUG=None.
TEST=Ran test on nyan_big.

Change-Id: I9a9e357fad265e3730c8e3eaa72955c7322c14ae
Reviewed-on: https://chromium-review.googlesource.com/322624
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Haixia Shi <hshi@chromium.org>
ite_utils.py
3f8256f695331364fcb0e18ec5af986e3e340699 20-Jan-2016 Ilja H. Friedel <ihf@chromium.org> Update list of boards without a monitor.

BUG=None.
TEST=pylint

Change-Id: Ifeda332d65b8c16bce54b923d3583e3acedda977
Reviewed-on: https://chromium-review.googlesource.com/322458
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Haixia Shi <hshi@chromium.org>
ite_utils.py
b9ee42da4965b55e856430ae15e2d0857f85d09f 10-Jan-2016 Mike Mason <michael.w.mason@intel.com> site_utils: Add Kabylake GPU PCI IDs to JSON file

Updates the script and JSON file associated with Intel
GPU PCI IDs to include Kabylake, which has been added
to upstream Mesa.

BUG=None
TEST=./update_intel_pci_ids
TEST=test_that <ip_address> graphics_Idle
TEST=test_that <ip_address> graphics_dEQP.gles3.info

Change-Id: I8fc5162452cb3860f1b543d3fdb61954a6217106
Signed-off-by: Mike Mason <michael.w.mason@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/321088
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
ntel_pci_ids.json
pdate_intel_pci_ids
570152be2c6a576fb22da1e1f2b6226fd8284358 08-Dec-2015 Brian Norris <briannorris@chromium.org> base_utils: add 'params' option to utils.load_module()

We might want to modprobe something with additional arguments.

BUG=chromium:557355
TEST=kernel_AsyncFirmwareRequest

Change-Id: I404ca8d2483732ad3d6f99a324bb5ccd5a805013
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/316506
Reviewed-by: Kees Cook <keescook@chromium.org>
ase_utils.py
1bf60eb788365f083d0ee8045a6556f906149dec 02-Dec-2015 Simran Basi <sbasi@google.com> [autotest] autoserv add --lab & --host_attributes arguments

Added two new flags to autoserv.

--lab indicates that autoserv is running in the lab and has
the full Autotest infrastructure at its disposal.

--host_attributes allows host attribute information that is
usually in the database to be retrievable from the command
line arguments.

If --lab is pulled in, autoserv will request the host attributes
from the database at test runtime.

From here this change, then updates the concept of the "machines"
list that test control files receive to now be a list of dicts
that contain the machine hostname and host attributes. This will
enable identifing information the hosts library needs to create
host objects to be available whether or not there is a database
present.

BUG=chromium:564343
TEST=local autoserv runs. Also verified scheduler changes work
via MobLab. waiting on trybot results.
DEPLOY=scheduler

Change-Id: I6021de11317e29e2e6c084d863405910c7d1a71d
Reviewed-on: https://chromium-review.googlesource.com/315230
Commit-Ready: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
ob.py
etup_job.py
d19e6c6fa3e51bbf04526d0d9dc8af71ae6d3670 29-Oct-2015 Kevin Cheng <kevcheng@chromium.org> [autotest] Minor cleanup of adb_host.

Mostly a comment cleanup of s/host/test station/ with some side code
fixes.

- Added verify_connectivity and list_files_glob so repair works on
ADBHost.
- Added get_tmp_dir to LocalHost
- Fixed ADBHost get_tmp_dir to create the tmp dir on the device (instead
of the teststation).

BUG=chromium:548739
TEST=Locally ran dummy test on a moblab/(beaglebone,dragon) and
moblab/angler.

Change-Id: I618ba1debbf1523b73ba48f507b1769ef3d0fa8d
Reviewed-on: https://chromium-review.googlesource.com/312508
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
ocal_host.py
a96a35853aed9ff5f573c54fa7b5a21f86b21279 18-Nov-2015 Mike Mason <michael.w.mason@intel.com> site_utils: Use up-to-date Intel GPU PCI ID dictionary

This patch separates the Intel GPU PCI ID dictionary
into it's own JSON file and provides a script to update
that file with the latest IDs from upstream Mesa.

Historically, missing IDs are discovered when a test
fails on a new device. The update_intel_pci_ids script
should be run periodically to proactively keep the
list up-to-date, avoiding discovery by failure.

The patch includes a JSON file containing PCI IDs
extracted from upstream Mesa at the time of submission.
Note that the list contains some IDs that Chrome OS
will never care about, but there's no harm in
including them.

BUG=None
TEST=./update_intel_pci_ids
TEST=test_that <ip_address> graphics_Idle
TEST=test_that <ip_address> graphics_dEQP.gles3.info

Change-Id: Icff10a049433887d40ca210206429da3545f0713
Signed-off-by: Mike Mason <michael.w.mason@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/313005
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
ntel_pci_ids.json
ite_utils.py
pdate_intel_pci_ids
96652f0bff8213c0980bbc0f0fb6e3eebd4c4e09 04-Nov-2015 Gwendal Grignou <gwendal@chromium.org> [autotest] Add storage_info.txt in test result.

At every boot/job start, store the state of the root device.
This file is created by storage_info script which runs at boot.
The file storage_info.txt is also collected when checking storage
wearout explecitely with hardware_StorageWearoutDetect.
It is also collected with the rest of /var/log by crashinfo.

BUG=chromium:550751
TEST=check storage_info is collected in sysinfo directory:
Use test_that 192.168.1.16 hardware_DiskSize to verify the control file
does ask for storage_info.txt, but storage_info is in
/tmp/test_that_latest/results-1-hardware_DiskSize/sysinfo.
Check with hardware_StorageStress.soak_test that storage_info.txt is
store multiple times.
Check we store storage_info.txt much more frequently in
hardware_StorageStress.

Signed-off-by: Gwendal Grignou <gwendal@chromium.org>

Change-Id: I1db5c726a56446ead2a3f462e2d4d03a14e07740
Reviewed-on: https://chromium-review.googlesource.com/311410
Commit-Ready: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-by: Puthikorn Voravootivat <puthik@chromium.org>
ase_sysinfo.py
04e9f9aaed9bddd6695962becf33d927e949bad2 16-Nov-2015 Shirish S <shirish.s@intel.com> bin/site_utils.py: Add PCI ID for SKL-U (Kunimitsu)

This patch adds the PCI ID for Kunimitsu board,
which was missing and causes failures while running

BUG=chrome-os-partner:47724
TEST=execute graphics_dEQP.gles2.functional.hasty.0
TEST=notice that test does not fail with the
TEST="Unhandled KeyError: 6406" signature

Change-Id: Ib587d6c6fa01d9f6571e33b9b429af16e1fd34e6
Signed-off-by: Shirish S <shirish.s@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/312822
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
ite_utils.py
5f6ed6aa0771d26879bfba378f2dc5a97dec7e3b 28-Oct-2015 Kevin Cheng <kevcheng@chromium.org> [autotest] Create teststation attribute for ADBHost.

This is the first step towards breaking down ADBHost into
more logical pieces. This CL will just focus on creating the
teststation attribute and swapping out host_run for teststation.run()
The teststation attribute will either be a LocalHost or SSHHost.
A subsequent cl will move over the existing methods to utilize
the teststation attribute.

Also took out the _local_adb checks since 'ssh localhost' is the
same as running the command locally.

Also updated LocalHost to have a {get,send}_file method so that
it can be used interchangeably with SSHHost as a teststation attribute.

BUG=chromium:548739, chromium:538793
TEST=Locally tested on moblab with a beaglebone and dragonboard.

Change-Id: I7b8168d669de9811523175d02c80dacce8875128
Reviewed-on: https://chromium-review.googlesource.com/310980
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
ocal_host.py
effa5c0371ad69ec13b4cc29c7773542918b7fe0 24-Sep-2015 Ilja H. Friedel <ihf@chromium.org> bin/site_utils.py: fix logging.warning

which was missing a temperature, a regular expression and many
small pylint complaints.

BUG=None.
TEST=pylint.

Change-Id: I9337333a287cae75bfd52c463ae7480d2b856128
Reviewed-on: https://chromium-review.googlesource.com/302124
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Haixia Shi <hshi@chromium.org>
ite_utils.py
e8a3ba59db236057ec8f6daf41596eebd41b03da 16-Sep-2015 Rohit Makasana <rohitbm@chromium.org> Re-using existing file downloading utils

Recently Edward from Intel refactored all tests to use the same download code.
Hence it makes sense to reuse the same code and delete the download api from
site_utils.

TEST=ran locally
BUG=chromium:499434

Change-Id: Ie4b771f41bdb82edcd235cc99acfb2cd91719ded
Reviewed-on: https://chromium-review.googlesource.com/299904
Commit-Ready: Rohit Makasana <rohitbm@chromium.org>
Tested-by: Rohit Makasana <rohitbm@chromium.org>
Reviewed-by: Katherine Threlkeld <kathrelkeld@chromium.org>
ite_utils.py
ef25e9173f0e3b05d9343655e95b2a0e2d519491 18-Aug-2015 Ricky Liang <jcliang@chromium.org> site_utils: Ignore dummy thermal zones.

Ignore IO errors when reading temperature values from dummy thermal
zones.

BUG=chromium:517556
TEST=Manually verify with:
`test_that --board veyron_jaq --fast chromeos4-row4-rack6-host5.cros \
graphics_WebGLAquarium`

Change-Id: I3eadb899ae08e9b6e76bac22b0a9a0285b28b118
Signed-off-by: Ricky Liang <jcliang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/294044
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
ite_utils.py
471a8d1e0d6f33960b78f8c2ecb602fb6a565fc3 18-Aug-2015 Danny Chan <dchan@google.com> Re-enable consecutive boot test on chromebox.

- Firmware team run this test locally with km232 cable.
- Add faft_localrun parameters to separte lab run and local execution.
- fix cros_host.py get_board_type to handle missing DEVICETYPE
parameter in lsb-release file and update site_utils.py get_board_type
to do the same.

BUG=chromium:519078
TEST=Ran locally

Change-Id: I5bcc11d51c8b3314a8ea722e4fec0ed09800c416
Reviewed-on: https://chromium-review.googlesource.com/293949
Tested-by: danny chan <dchan@chromium.org>
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
Commit-Queue: danny chan <dchan@chromium.org>
ite_utils.py
8a4923c644c54f1cc26c739298e13e9b262e27f3 14-Aug-2015 Rohit Makasana <rohitbm@chromium.org> Disabling un-supported stress tests on non-chromebooks

Adding APIs to check device type.

BUG=chromium:519078
TEST=Ran locally

Change-Id: I0b0f94d71c758ac4a06b5a5eca23258f5d319855
Reviewed-on: https://chromium-review.googlesource.com/293602
Reviewed-by: danny chan <dchan@chromium.org>
Commit-Queue: Rohit Makasana <rohitbm@chromium.org>
Tested-by: Rohit Makasana <rohitbm@chromium.org>
ite_utils.py
dffb554fea50f12cfea11efe37b02d776300559b 12-Aug-2015 Ricky Liang <jcliang@chromium.org> site_utils: Get temperature from thermal_zones.

Search /sys/class/thermal/thermal_zones*/temp when looking for the
maximum temperature readings on the system.

BUG=chrome-os-partner:43302 chromium:517556
TEST=Run `test_that --board <board> --fast <remote> graphics_WebGLAquarium`
and verify the test passes without error.

Change-Id: Ia7c0d204091cae69a889f7215e3f204647b03aac
Signed-off-by: Ricky Liang <jcliang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/293050
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
ite_utils.py
e0b08e6170b57f90262726eb7f04e059cb47419c 11-Aug-2015 Hsinyu Chao <hychao@chromium.org> Revert "autotest: move constants to common_lib"

This reverts commit a4ac7a8f67d61f8a616724f9426dbc0fce71ce69.

BUG=chromium:519353

Change-Id: Iec2873ad22b5bb90e46a9e5b323f9626a2c07d9b
Reviewed-on: https://chromium-review.googlesource.com/292347
Reviewed-by: Hsinyu Chao <hychao@chromium.org>
Commit-Queue: Hsinyu Chao <hychao@chromium.org>
Tested-by: Hsinyu Chao <hychao@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Queue: Sonny Rao <sonnyrao@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
ase_sysinfo.py
ite_sysinfo.py
696923bec6dcca1123b4ab504402948ffb85da62 12-Aug-2015 Rohit Makasana <rohitbm@chromium.org> Revert "site_utils: Get temperature from thermal_zones."

This CL broke all performance tests on almost all devices test hence reverting.

This reverts commit fc9cb18c0884692808beb00be9c45e88f60c7c05.

Change-Id: I974853ffedc56e988947aae61d0d42479a3ad626
Reviewed-on: https://chromium-review.googlesource.com/292940
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
Commit-Queue: Rohit Makasana <rohitbm@chromium.org>
Tested-by: Rohit Makasana <rohitbm@chromium.org>
ite_utils.py
a4ac7a8f67d61f8a616724f9426dbc0fce71ce69 06-Aug-2015 Eric Caruso <ejcaruso@chromium.org> autotest: move constants to common_lib

This file gets imported from lots of server-side tests and
infrastructure so it shouldn't be hiding in client/cros. This
moves the file and fixes all imports.

BUG=chromium:485834
TEST=run many tests, make sure there are no problems importing
constants

Change-Id: I5c2b2a0bef6ebc998e62f40162a6ec9cc4436480
Reviewed-on: https://chromium-review.googlesource.com/291302
Trybot-Ready: Eric Caruso <ejcaruso@chromium.org>
Commit-Queue: Eric Caruso <ejcaruso@chromium.org>
Tested-by: Eric Caruso <ejcaruso@chromium.org>
Reviewed-by: Chris Sosa <sosa@google.com>
ase_sysinfo.py
ite_sysinfo.py
fc9cb18c0884692808beb00be9c45e88f60c7c05 28-Jul-2015 Ricky Liang <jcliang@chromium.org> site_utils: Get temperature from thermal_zones.

Search /sys/class/thermal/thermal_zones*/temp when looking for the
maximum temperature readings on the system.

BUG=chrome-os-partner:43302
TEST=Run `test_that --board <board> --fast <remote> graphics_WebGLAquarium`
and verify the test passes without error.

Change-Id: If569825d142ca799712f9c41d90911f3bc49ddc9
Signed-off-by: Ricky Liang <jcliang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/290494
Reviewed-by: Ilja Friedel <ihf@chromium.org>
ite_utils.py
5d38c53a261326627df7bc70a028374d837040b7 28-Jul-2015 Ricky Liang <jcliang@chromium.org> site_utils: Close file after reading in _get_line_from_file().

BUG=chrome-os-partner:43302
TEST=Run `test_that --board <board> --fast <remote> graphics_WebGLAquarium`
and verify the test passes without error.

Change-Id: I72363fb09cc5a96da832069c019f0d228ba370d6
Signed-off-by: Ricky Liang <jcliang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/290493
Reviewed-by: Ilja Friedel <ihf@chromium.org>
ite_utils.py
a07e1f3dfb90773be2159fc64991b7390d270bf3 17-Jul-2015 HS Liao <hs.liao@mediatek.com> autotest (graphics): support imagination rogue gpu type

Set gpu type as 'rogue' if /sys/bus/platform/drivers/pvrsrvkm exists.
Rogue is the name of Imagination's PowerVR Series6 architecture.

Other Imagination's GPU series may also use this folder,
so please update this condition when we need to distinguish them.

BUG=chrome-os-partner:41569
TEST=test_that -b oak --results_dir=./log <IP> f:.*graphics_dEQP/control.gles2.accuracy

Change-Id: Iab06a6eb076d642d18e3d1ec1de1572a2a300e0b
Signed-off-by: HS Liao <hs.liao@mediatek.com>
Reviewed-on: https://chromium-review.googlesource.com/286300
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
ite_utils.py
d24bc85e876a2bbd009c5079ac7b1c1386ea2c5a 15-Jul-2015 HS Liao <hs.liao@mediatek.com> autotest (graphics): fix cpuinfo parsing for arm64 kernels

Modifications:
(1) Update the method to get arm arch at get_cpu_arch function.
arm64 kernels do not include a "Hardware" line, nor "model_name" string in their /proc/cpuinfo (see kernel patch [0]). Thus, the string "ARM" does not appear in their cpuinfo.
Instead, the recommended way of identifying an ARM cpu from cpuinfo is to look for "CPU implementer" "0x41".
This works for all ARM platforms: both tradition 32-bit ARMv7-A as well as any future armvX.
(2) Add arm_fields to handle the case of arm arch.

Note, this patch fixes broken identification of arm64 machine as "x86". However, it does not actually fix GPU memory reading for arm64 systems.
Each arm64 system further needs a way of identifying which GPU driver they are using, along with a sysfs entry for reading the consumed GPU memory.
So, the following TODO are left for a later patch:
(1) Add method for identifying Imagination GPU driver
(2) Add method for reading GPU memory for IMG GPU driver

BUG=chrome-os-partner:42628
TEST=test_that -b oak <IP> graphics_GLMark2
TEST=test_that -b oak <IP> graphics_GpuReset
TEST=test_that -b oak <IP> graphics_SanAngeles

Change-Id: I0de05aa0931b0ef3c71d878f199a178d4565e481
Signed-off-by: HS Liao <hs.liao@mediatek.com>
Reviewed-on: https://chromium-review.googlesource.com/285783
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
ase_utils.py
9fbc563b05d73cd3de432bd821d381499e14c70a 06-Jun-2015 Ilja H. Friedel <ihf@chromium.org> Add PCI ID for SKL.

BUG=None.
TEST=None.

Change-Id: Ie9061752bd9d9c579b2bbe9438075b6df1cbe370
Reviewed-on: https://chromium-review.googlesource.com/275741
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Trybot-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
ite_utils.py
ba596b3895acac29f10f2c43b4846bc98a822f3b 28-May-2015 Rohit Makasana <rohitbm@chromium.org> Adding a power consumption perf test for audio.

BUG=chromium:492905
TEST=Ran locally

Change-Id: Ie573f544206c0cbcfbf9e1566f0121d0ec3528fe
Reviewed-on: https://chromium-review.googlesource.com/273902
Tested-by: Rohit Makasana <rohitbm@chromium.org>
Reviewed-by: Mussa Kiroga <mussa@chromium.org>
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
Commit-Queue: Rohit Makasana <rohitbm@chromium.org>
Trybot-Ready: Rohit Makasana <rohitbm@chromium.org>
ite_utils.py
3ad5164cfaa536b2f71a9098545c39d10ad74cd7 22-Jan-2015 David Sodman <dsodman@chromium.org> Replace "showkey" with client autotest

FAFTSetup, ECLidSwitch, and ECPowerButton all rely on
the showkey utility which doesn't run on freon. So,
this change adds a client side autotest that reads
evdev input and verifies it matches the passed in
expected output, and then modifies each of the
aforementioned tests to invoke the client side test

BUG=chrome-os-partner:35025
TEST=run FAFTSetup on Peppy with servo and verify that
the correct keys sent pass, incorrect keys sent fail
with "Keys mismatched" and no keys sent fail with
"No keys pressed"

Change-Id: I3b667a91b7f2ed84a6e91460f554d53a857a1373
Reviewed-on: https://chromium-review.googlesource.com/266771
Tested-by: danny chan <dchan@chromium.org>
Reviewed-by: danny chan <dchan@chromium.org>
Reviewed-by: David Sodman <dsodman@chromium.org>
Commit-Queue: danny chan <dchan@chromium.org>
nput/input_device.py
ca3be48da9dd7882ba282d9e82413b4aad2a8364 06-May-2015 Dan Shi <dshi@chromium.org> [autotest] Add sudo -n option to avoid password prompt.

Also add a utility function to check if password is needed to run sudo command.

We can add -n option to all sudo command that SSP used. However, once the
property drone.support_ssp is set to False, no SSP code will be executed.
Therefore, there is no need to add -n everywhere.

BUG=chromium:484396
TEST=local run
Start scheduler, confirm no password promt, and drone.support_ssp is False.
Run sudo true, enter password.
Run scheduler again, confirm no password promt, and drone.support_ssp is True.

Change-Id: Ifbd302973db5d443499311e435ec99e32d24cb5b
Reviewed-on: https://chromium-review.googlesource.com/269740
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
ite_utils.py
59b3bc78f615866d97a9569964af7b380189cdc7 18-May-2015 Ilja H. Friedel <ihf@chromium.org> Add Intel microarchitectures.

This change adds
'06_4C': 'Braswell'
'06_4E': 'Skylake'
and sorts the dictionary for better readability.
It also fixes some bad intendations.

TEST=pylint
BUG=None.

Change-Id: Ice01314c31606d978fe70ad41a4f876cf5936a0a
Reviewed-on: https://chromium-review.googlesource.com/271627
Trybot-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Michael W Mason <michael.w.mason@intel.com>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
ase_utils.py
4f6506d9a5b87d690c8d669ca94bfbdd7e3d2896 18-May-2015 Ilja H. Friedel <ihf@chromium.org> Adding PCI ids for Intel GPUs.

Adding a second bsw id, and an initial id for skl. This fixes running
the graphics test suite on these platforms.

BUG=None.
TEST=None.

Change-Id: Ie04f6e8519269691f3f23fe80d50b52c4a8f4a0f
Reviewed-on: https://chromium-review.googlesource.com/271793
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
ite_utils.py
45998bbbf93ef1aa1ceb1ba0d8f4b3fe88d1f5c5 11-Apr-2015 Dan Shi <dshi@chromium.org> [autotest] Bug fix in determine if a process is running in a virtual machine.

BUG=chromium:453614
TEST=local test

Change-Id: I70fe75e842a0a181a55c15d4b60f616e8578cc0b
Reviewed-on: https://chromium-review.googlesource.com/265343
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
Trybot-Ready: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
ite_utils.py
f2a2dd64129cb12158bf065e61d9328ac45b1e2f 10-Apr-2015 Dan Shi <dshi@chromium.org> [autotest] Update lxc wrapper to work with Ganeti instance

trusty/server with updated kernel does not support lxc-clone with snapshot,
the wrapper (lxc.py) is updated so SSP can work before ticket (t/16003207)
is resolved.

BUG=chromium:453614
TEST=verified in cros-database-bak-test-1

Change-Id: I45208d745dea5614930481b9f159293b1f933cc7
Reviewed-on: https://chromium-review.googlesource.com/265274
Trybot-Ready: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
ite_utils.py
5b4992ca79c132fb664800c3dbfb3e4d3f277ba3 19-Mar-2015 Frank Henigman <fjhenigman@chromium.org> graphics_utils: re-enable wflinfo for freon

Once waffle supports the null platform, wflinfo will work again.

BUG=chromium:468531
TEST="test_that -b link $HOST graphics_SanAngeles" and look for wflinfo in log
CQ-DEPEND=CL:260686

Change-Id: I7eae2ae9120278b6593001e45124fab2086e1ac6
Reviewed-on: https://chromium-review.googlesource.com/260993
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Tested-by: Frank Henigman <fjhenigman@chromium.org>
ite_utils.py
77e0121a0d2a878433b96f4757a44db541530c3c 07-Mar-2015 David Sharp <dhsharp@chromium.org> base_utils.py: Move compiled regexes to module level

Pull all re.compile() calls to the module level so that regexes are only
compiled once.

Replace one buggy regex with normal string operations.

TEST=none
BUG=none

Change-Id: Ia61b08eb7106107f0e4be927e22418720d2d253f
Reviewed-on: https://chromium-review.googlesource.com/260102
Reviewed-by: Simon Que <sque@chromium.org>
Tested-by: David Sharp <dhsharp@chromium.org>
Commit-Queue: David Sharp <dhsharp@chromium.org>
ase_utils.py
f948379fcf6caa1987df14b3963efaf59eaa0834 06-Mar-2015 David Sharp <dhsharp@chromium.org> base_utils.py: Use get_cpuinfo() to read /proc/cpuinfo; reorganize

Use get_cpuinfo() to read and parse /proc/cpuinfo where possible. Move all
cpu information functions together.

TEST=none
BUG=none

Change-Id: I988570b9be74875dfc02cd7ea701c3b71bfa6954
Reviewed-on: https://chromium-review.googlesource.com/260101
Reviewed-by: Simon Que <sque@chromium.org>
Tested-by: David Sharp <dhsharp@chromium.org>
Commit-Queue: David Sharp <dhsharp@chromium.org>
ase_utils.py
08de2385c684ec4c3099b1ffa94e13f7924b75ac 07-Feb-2015 Gwendal Grignou <gwendal@chromium.org> fio_util: Fix issues with performance graph generation

- fio 2.1.14 and beyond are adding a thread variable to IO log files
- was only working with vendor_perf_fill_device fio conf file,
remove that dependency.
- fix some space warnings.

BUG=None
TEST=Check graph are generated properly.

Change-Id: I4b8d46851fceac1f8b71933040c00e56c9560ba6
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/247406
Reviewed-by: Puthikorn Voravootivat <puthik@chromium.org>
io_util.py
d94feb65407b07bd2c17ffd94cfcace57f9d0650 17-Feb-2015 Ilja H. Friedel <ihf@chromium.org> Convert chameleon tests to Freon.

TEST=Ran on X and Freon variant of parrot
test_that --args "chameleon_host=$CHAMELEON_IP" $DUT_IP suite:chameleon_hdmi
BUG=chromium:423527, chromium:451787, chromium:451800
CQ-DEPEND=CL:242131

Change-Id: I9f145c387a22529b369e6017894ae20c5f6f429f
Reviewed-on: https://chromium-review.googlesource.com/250674
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
creenshot.py
f2a4b9f6e2697ef7f6c82b7f276e9e102b61e62b 20-Jan-2015 Corbin Simpson <simpsoco@chromium.org> bin/screenshot: Enable selection of CRTCs with -c flag.

Defaults to CRTC 0 if none is picked.

BUG=chromium:423527
TEST=Plug two monitors into Link and try to take two screenshots with -c 0 and
TEST=-c 1. Works great.

Change-Id: I6f1b53c63ce3abdb7dfe84ebd56ab085a382d99e
Signed-off-by: Corbin Simpson <simpsoco@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/242131
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
creenshot.py
671ca277049cb1a9bc171ad173c40c44786f022b 27-Dec-2014 Chris Masone <cmasone@chromium.org> Make graphics tests kill X using python utils.

We'd like to deprecate term_process on base images, and the
graphics autotests are one of very few dependencies on this
shell function. The usage there should be easily replaced
by equivalent python code.

BUG=chromium:383133
TEST=Run graphics_*

Change-Id: I7f1607489f52fc9d0b591532ad1588aa1f46c049
Reviewed-on: https://chromium-review.googlesource.com/238303
Trybot-Ready: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Chris Masone <cmasone@chromium.org>
ite_utils.py
928a1ffddf4088d7427704ab1b086ca24d9c77a1 27-Dec-2014 Chris Masone <cmasone@chromium.org> get_process_list should return a list as documented.

get_process_list() claims that it returns a list of pids. Until this
patch, it actually returned a string that contained a whitespace-delimited
list of pids. Now, it returns an actual list of PIDs.

BUG=None
TEST=trybot with HWTest

Change-Id: I8d4d8c1d6e788e2427c8a47f6e1df454755af484
Reviewed-on: https://chromium-review.googlesource.com/237750
Trybot-Ready: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
Commit-Queue: Chris Masone <cmasone@chromium.org>
ite_utils.py
fd07073966185d0f1655ebc6a01422edd98a7f33 02-Nov-2014 Frank Henigman <fjhenigman@chromium.org> autotest/graphics: use wflinfo instead of glxinfo

wflinfo (from the waffle package) returns information about the graphics
system similar to glxinfo, but it runs on a variety of platforms:
x11/glx, egl/x11, egl/gbm. This way we don't need special cases for
different platforms and can support X-less (freon) platforms.

BUG=chromium:422167
TEST=test_that -b lumpy -i trybot-lumpy-paladin/R41-6438.0.0-b1880 :lab: graphics_SanAngeles

Change-Id: I895910441e84e2ef3d46a06449847edd7623de63
Reviewed-on: https://chromium-review.googlesource.com/226962
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Tested-by: Frank Henigman <fjhenigman@chromium.org>
ite_utils.py
dbb72dae034fb484580f4072a9273c6f5551360f 12-Nov-2014 Brian Wilson <brian.wilson@intel.com> Fix Piglit autotest failure on Strago

Without this addition to the GPU device code table, Piglit fails very quickly.

BUG=None
TEST=Run piglit autotest (test_that -b strago [DUT IP] graphics_Piglit).
TEST=Test should not immediately fail

Change-Id: I3901232ba556f6d3ba950dbf7bb857ec75a88186
Reviewed-on: https://chromium-review.googlesource.com/229311
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Queue: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
ite_utils.py
eb5e7a3ea391cbf48e8990937a1cb96e20e52715 29-Oct-2014 David Sharp <dhsharp@chromium.org> client/bin/base_utils.py: Add function to determine Intel microarchitecture

Read /proc/cpuinfo to read the 'cpu family' and 'model' fields. Use a
dict to translate the family and model to the Intel uarch name.

Add a helper, get_cpuinfo(), that translates /proc/cpuinfo into a list of
dicts.

TEST=used in upcoming test
BUG=None

Change-Id: Iaeda0afe2d25c04e57e798629b39a109fac0437b
Reviewed-on: https://chromium-review.googlesource.com/226712
Reviewed-by: Emma Rapati <rapati@chromium.org>
Commit-Queue: David Sharp <dhsharp@chromium.org>
Tested-by: David Sharp <dhsharp@chromium.org>
ase_utils.py
6d0e27ba33ae5e1cc4404a3abf5d39e5fef8a2cb 06-Nov-2014 Corbin Simpson <simpsoco@chromium.org> client/bin: Add screenshot utility.

To be used outside of autotest, for anybody wanting to take Freon-compatible
screenshots.

BUG=chromium:422098
BUG=chromium:412530
TEST=Try running it! $ /usr/local/autotest/bin/screenshot.py /tmp/test.png

Change-Id: Id80711852aac498670f6a2e1ca9ba75f93592c8b
Signed-off-by: Corbin Simpson <simpsoco@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/228594
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
creenshot.py
5ca0ab90db74a28f72239c5a048c6b1eedcb0894 30-Oct-2014 Bernie Thompson <bhthompson@chromium.org> site_utils: add additional Broadwell graphics id

BUG=chrome-os-partner:33413
TEST=None

Change-Id: If04a6faa2f78a427ee7580a6e431c67c4e3c688e
Reviewed-on: https://chromium-review.googlesource.com/226610
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Queue: Kuen Liu <kuen.liu@quantatw.com>
Tested-by: Kuen Liu <kuen.liu@quantatw.com>
ite_utils.py
aec3bf5a657ad9e111e2c337446fbac49707c65d 24-Sep-2014 ZhengShunQian <zhengsq@rock-chips.com> Veyron: Add rockchip to SoC family

Some tests such as graphics_KernelMemory read SoC name and Gpu family from
/proc/cpuinfo.

BUG=chrome-os-partner:32298
TEST=graphics_KernelMemory pass on pinky board

Change-Id: If2a71661819b7e13170678537f3d62d150481a5c
Signed-off-by: ZhengShunQian <zhengsq@rock-chips.com>
Reviewed-on: https://chromium-review.googlesource.com/219678
Reviewed-by: Xu Jianqun <jay.xu@rock-chips.com>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
ase_utils.py
ite_utils.py
2086a16b1159940fdda163ccf1b6ed9cd1c75d65 31-Oct-2014 Ilja H. Friedel <ihf@chromium.org> autotest: add logging for hot machine.

When a machine remains hot we need more information if there is
a process keeping it warm.

BUG=chromium:417517
TEST=pylint

Change-Id: I8cca3c9c4e3e42f2322087aa15a997c9077495b0
Reviewed-on: https://chromium-review.googlesource.com/226776
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Haixia Shi <hshi@chromium.org>
ite_utils.py
a5ab166f36554278718e4b0c1412c49276ce1e25 16-Oct-2014 Ilja H. Friedel <ihf@chromium.org> autotest: move more X code to graphics_utils.

Move xrandr to graphics_utils.
Also add assert to functions that are still setting DISPLAY etc.

BUG=chromium:413127, chromium:422414
TEST=Check that output from command below looks reasonable.
test_that link_freon|nyan_big hardware_Resolution hardware_Xrandr
hardware_ch7036 power_BacklightControl platform_EvdevSynDropTest
hardware_TouchScreenPowerCycles hardware_VideoDecodeCapable
hardware_Trackpad

Change-Id: I029b706bec7d4e7a1d9f904e5f2b0f9e8d7fb193
Reviewed-on: https://chromium-review.googlesource.com/223632
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Haixia Shi <hshi@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
ite_utils.py
d0f25118d6c16787b080c0f1c434646425915454 20-Sep-2014 Stéphane Marchesin <marcheu@chromium.org> Add more headless machines to has_no_monitor()

Otherwise we try to run graphics_Idle's FBC test, which doesn't work
if you're headless.

BUG=none
TEST=none

Change-Id: Ia0a57edf4295380148c129a765288821c6f8ab96
Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/219169
Reviewed-by: Ilja Friedel <ihf@chromium.org>
ite_utils.py
726b7486e26e5a97fa86dce2224c47952fbf6066 19-Sep-2014 Christopher Wiley <wiley@chromium.org> Tolerate missing Chrome in site_sysinfo

Many ChromeOS Core boards don't have Chrome.

BUG=None
TEST=Ran test against Chrome-less board, no more error messages
about missing Chrome.

Change-Id: I9f58f5abf553b54d93cd932dec782e9d709fe547
Reviewed-on: https://chromium-review.googlesource.com/218879
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
ite_sysinfo.py
d994a677b7d3f992d3e73a62ade90f5ff9feca23 12-Sep-2014 Zach Reizner <zachr@chromium.org> add gfx system detection function to site_utils

BUG=chromium:413819
TEST=None

Change-Id: I5268e7d7b2ff1009c5b31c3d6a1cf7aac4f4cc89
Reviewed-on: https://chromium-review.googlesource.com/217942
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
ite_utils.py
666232e256802be8b71f107c8f2a4f55fc0c46b1 27-Aug-2014 Wen-Ding Li <wending@google.com> Fix the restore_scaling_governor_states function in site_utils.py

The input scaling governor state with trailing linefeed can not
be set properly, so remove the trailing linefeed before setting.

BUG=chromium:408002
TEST=test on a chromebook device

Change-Id: I1d9b004efd4bc38b2160a054234ba6b7f3185e53
Reviewed-on: https://chromium-review.googlesource.com/214432
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Reviewed-by: Wu-Cheng Li <wuchengli@chromium.org>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Wen-Ding Li <wending@google.com>
Tested-by: Wen-Ding Li <wending@google.com>
ite_utils.py
dca8dc6fdda4b7b5066685fd460210d3aa302d52 11-Aug-2014 Puthikorn Voravootivat <puthik@chromium.org> Use only free memory to determine memory size to test.

Current util.usable_memtotal use free memory / buffer / cached
memory to determine memory size to test assume the OS will free
that region of memory automatically. However this prove to be
too aggressive for some test and make DUT reboot itself during the
test make the test failed. This CL change this behavior to use only
free memory for testing.

CQ-DEPEND=CL:213563
BUG=chromium:402530
TEST=run hardware_Memtester. DUT no longer reboot during the test.

Change-Id: I5c9a2796d933f84c4e853022fd1a5d550083135c
Reviewed-on: https://chromium-review.googlesource.com/211851
Reviewed-by: Nick Sanders <nsanders@chromium.org>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Puthikorn Voravootivat <puthik@chromium.org>
Commit-Queue: Puthikorn Voravootivat <puthik@chromium.org>
ase_utils.py
40117bbc14a6000e313449dcbc0307c4d432c0f9 05-Aug-2014 Joseph Hwang <josephsih@chromium.org> input_device: use slot id in print_slots

Print the slot id instead of the slot index in print_slots().

BUG=chromium:397397
TEST=None.

Change-Id: Ibc34c5f5287458a942e353a4b8a9740b5194698d
Reviewed-on: https://chromium-review.googlesource.com/211070
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Queue: Shyh-In Hwang <josephsih@chromium.org>
Tested-by: Shyh-In Hwang <josephsih@chromium.org>
nput/input_device.py
33632c432c0e749488adcb82cf8d63c509fb6b46 24-Jul-2014 Joseph Hwang <josephsih@chromium.org> input_device: sync mt slots with kernel

In the class InputDevice, when setting up mt slots, let it also
sync with kernel to get the slots information. Print the slot
information when this module is executed as a script.

BUG=chromium:397397
TEST=Place 2 fingers on the touchpad, and run input_device as
$ /usr/local/autotest/bin/input/input_device.py -t

It would show two slots information representing the two finger
in the header like
.
.
.
$ x: (0,2948), y: (0,1604), z: (0, 255)
slot #0
MT_TOUCH_MAJOR = 280
MT_TOUCH_MINOR = 260
MT_POSITION_X = 927
MT_POSITION_Y = 809
MT_TRACKING_ID = 1450
MT_PRESSURE = 69
slot #1
MT_TOUCH_MAJOR = 280
MT_TOUCH_MINOR = 260
MT_POSITION_X = 1754
MT_POSITION_Y = 460
MT_TRACKING_ID = 1451
MT_PRESSURE = 64
Number of fingers: 2
Current slot id: 1
.
.
.

Change-Id: I6e7e03c2880771d38d12ad1fe038c8f587891fd7
Reviewed-on: https://chromium-review.googlesource.com/209737
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Queue: Shyh-In Hwang <josephsih@chromium.org>
Tested-by: Shyh-In Hwang <josephsih@chromium.org>
nput/input_device.py
b23d9138d65ab68907515e46acc2753a8ccf3f1b 24-Jul-2014 Joseph Hwang <josephsih@chromium.org> linux_input: add support for EVIOCGMTSLOTS

This patch adds the support for EVIOCGMTSLOTS to sync with the
kernel evdev driver for the mt slots information. The information
would be useful to detect if there are ghost fingers.

BUG=chromium:397397
TEST=None. Will be tested with next related patch.

Change-Id: Id0c7eda5f227ecc66dd4c9b3d2aab880f340f5b6
Reviewed-on: https://chromium-review.googlesource.com/209736
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Queue: Shyh-In Hwang <josephsih@chromium.org>
Tested-by: Shyh-In Hwang <josephsih@chromium.org>
nput/linux_input.py
32ad2058dfe344211ab5c955afeb59c52f4f42da 23-Jul-2014 Joseph Hwang <josephsih@chromium.org> linux_input: add BTN_TOOL_QUINTTAP in EV_STRINGS

This patch adds the event string for BTN_TOOL_QUINTTAP so that
it would show BTN_TOOL_QUINTTAP instead of '?' when running the
input_device module.

BUG=chromium:397397
TEST=Run the input_device module on a chromebook:
$ /usr/local/autotest/bin/input/input_device.py -t

Observe that it would show in the header

Event code BTN_TOOL_QUINTTAP (328)

instead of

Event code ? (328)

Change-Id: Iea9ca5bd1973afd786ea89043e4d3e0017815adb
Reviewed-on: https://chromium-review.googlesource.com/209735
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Queue: Shyh-In Hwang <josephsih@chromium.org>
Tested-by: Shyh-In Hwang <josephsih@chromium.org>
nput/linux_input.py
f5ebc663202444968737d5eedcdce84c8bbfe962 12-Jul-2014 Puthikorn Voravootivat <puthik@chromium.org> fio-util: fix perf dashboard upload for 99% percentile

Fix typo in perf upload code.

BUG=chromium:393394
TEST=Tested with test_that. Verify perf_measurements file

Change-Id: I53b48472790daecb460875b249db7907201040f1
Reviewed-on: https://chromium-review.googlesource.com/207629
Reviewed-by: Puthikorn Voravootivat <puthik@chromium.org>
Commit-Queue: Puthikorn Voravootivat <puthik@chromium.org>
Tested-by: Puthikorn Voravootivat <puthik@chromium.org>
io_util.py
a21e4e046810978f5a8326c3e200f4b6270c16c5 11-Jul-2014 Ilja Friedel <ihf@chromium.org> Add output of crossystem to job result files.

BUG=None.
TEST=None.

Change-Id: Ife59262b314899e644cbf8be306e13406bc61eb9
Reviewed-on: https://chromium-review.googlesource.com/207457
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
ite_sysinfo.py
340fd1e49a96391f2143a68c1a8795633be19622 22-Jun-2014 Prashanth B <beeps@google.com> [autotest] Threaded asynchronous task execution on drones.

This cl does the following:
1. Creates a ThreadedTaskQueue capable of executing calls across
drones in parallel.
2. Breaks drone_manager.refresh into 2 stages, a trigger and sync,
thereby making it asynchronous.
3. Creates a localhost host object for the localhost drone so we run
drone_utility through another process instead of directly importing it
as a module. This fits better with the overall drone manager design, and
allows us to multithread the monitoring of drones while still using
signals within drone utility.
4. Adds stats, unittests and documentation.

TEST=Ran jobs, added unittests.
BUG=chromium:374322, chromium:380459
DEPLOY=scheduler

Change-Id: I950cf260fdc3e5d1a2d4f6fdb4f5954c6371c871
Reviewed-on: https://chromium-review.googlesource.com/207094
Reviewed-by: Prashanth B <beeps@chromium.org>
Tested-by: Prashanth B <beeps@chromium.org>
Commit-Queue: Prashanth B <beeps@chromium.org>
ocal_host.py
a2225da737168f9eee8a707b7d36c609e5c14683 06-Jun-2014 Darren Krahn <dkrahn@chromium.org> Track the TPM dictionary-attack-counter.

BUG=chromium:341358
TEST=manually ran a test and checked keyval on these platforms:
- link->infineon
- parrot->nuvoton
- stout->stmicro

Change-Id: I0fcb067ddfc51a1f0af4c5e8523a56f96f6e48fb
Reviewed-on: https://chromium-review.googlesource.com/202828
Reviewed-by: Alex Miller <milleral@chromium.org>
Commit-Queue: Darren Krahn <dkrahn@chromium.org>
Tested-by: Darren Krahn <dkrahn@chromium.org>
ite_sysinfo.py
16dc0a27c754261af46f163f2fa162d194e26358 24-Jun-2014 Puthikorn Voravootivat <puthik@chromium.org> fio_util: Parse json output instead of terse output

Currently fio_runner uses terse output from fio to parse
fio result there are several drawback for this approach.
1. We must hard-coded the output format of fio which mean that
we need to modify code every time fio add new feature.
2. We can not efficiently determine type of each result by
looking at fio result except hard-coding it.
3. We con not efiiciently filter out useless report. Such as
read statistics in write only work load.

This patch runs fio using json output mode and create new
parser to parse it using python json library.

CQ-DEPEND=CL:205521
BUG=chromium:387142
TEST=Run with test_that

Change-Id: I052d58fd69472de29548d100bdbd4400065fb070
Reviewed-on: https://chromium-review.googlesource.com/205430
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
io_util.py
30dcb3bde6125708b4d58aebfdceac1b35810c39 20-Jun-2014 Gwendal Grignou <gwendal@chromium.org> Fix hardware_StorageFio test failure

Wrong python code used for testing if file exits.

BUG=chromium:387118
TEST=check locally. Ran hardware_StorageFio on falco.

Change-Id: I2a64dfe9571763694a50eb63d3456b87312c9733
Reviewed-on: https://chromium-review.googlesource.com/204934
Reviewed-by: Puthikorn Voravootivat <puthik@chromium.org>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
ase_utils.py
51d50692987265452f8c2018ba561ae4dc3a191d 20-Jun-2014 Gwendal Grignou <gwendal@chromium.org> Fix key prefixing to allow constraints again.

I altered the key prefixing in the result keyvals by adding device
name and size.
It broke the constriants checking. Revert the behavior by just
adding the prefix to the keyval, if provided.

BUG=chromium:387142
TEST=check constraints work again by running hardware_StorageFio.hwqual.

Change-Id: I064be3a5345ebbd4330730ea0767674c6c147736
Reviewed-on: https://chromium-review.googlesource.com/204938
Reviewed-by: Puthikorn Voravootivat <puthik@chromium.org>
Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
io_util.py
2f16f2ffeb66d010d6e30e68dc60d28aed467fe8 12-Jun-2014 Gwendal Grignou <gwendal@chromium.org> Use the prefix for fio result keyval

BUG=None
TEST=Run platform_CryptohomeFio.dirty_setting,
Check keyvals are correct.

Change-Id: I18a91d038f519938b069fbb672c6b17c7367acf2
Reviewed-on: https://chromium-review.googlesource.com/203636
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
io_util.py
13af8a56b028ceb5f9507b8c2ac44001358b6fdb 18-Jun-2014 Dan Shi <dshi@chromium.org> [autotest] collect /var/log/bios_info.txt in sysinfo

Add "/var/log/bios_info.txt" to _DEFAULT_FILES_TO_LOG_PER_BOOT for sysinfo to
collect in test job.

BUG=chromium:386006
TEST=test_that 172.22.30.146 dummy_Pass
confirm bios_info.txt is collected with full content in path like
/tmp/test_that_results_ekwWAw/results-1-dummy_Pass/sysinfo/bios_info.txt

Change-Id: I8656d18c5122608e776d9fdf74b8ad29ce59f603
Reviewed-on: https://chromium-review.googlesource.com/204542
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
ase_sysinfo.py
8ba770dc9bcf2e60bf2db1b7128d7502df6e8e60 10-Jun-2014 Puthikorn Voravootivat <puthik@chromium.org> hardware_TrimIntegrity: Use hdparm determine trim feature

Use hdparm to determine that we should raise TestFail or
TestNAError when error occurs.

Also change chunk size from 64K to 192K as we see some
interesting behavior on some SSD.

Condition for test result:
- Trim command is not supported
-> Target disk is a harddisk : TestNA
-> Target disk is SCSI disk w/o trim : TestNA
-> Otherwise : TestFail
- Can not verify integrity of untrimmed data
-> All case : TestFail
- Trim data is not Zero
-> SSD with RZAT : TestFail
-> Otherwise : TestNA

BUG=chromium:351900
TEST=Run with test_that for each condition

Change-Id: If669809c9a4ccec0bceb8b2fd343cdcedff64197
Reviewed-on: https://chromium-review.googlesource.com/203307
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Puthikorn Voravootivat <puthik@chromium.org>
Tested-by: Puthikorn Voravootivat <puthik@chromium.org>
ase_utils.py
10e71e69c71002f312f7282b3180dda3db5854ad 12-Jun-2014 Gwendal Grignou <gwendal@chromium.org> Find the disk a file is located

Go through mapper, loop to find which physical device we
are using

BUG=None
TEST=Tested with the following files:
'/dev/mmcblk0p1', '/var/log/messages', '/tmp/uptime-boot-complete',
'/etc/init/cryptohomed.conf' and '/home/chronos/user/.bashrc'
Tested on secure and unsecure boot device, eMMC and SATA.

Change-Id: I593fa3afd9636135e17cea81bcc1c003cb22e37a
Reviewed-on: https://chromium-review.googlesource.com/203635
Reviewed-by: Puthikorn Voravootivat <puthik@chromium.org>
Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
ase_utils.py
7404dd54f095c2f3ff6e5566749b3689f252dd16 16-Jun-2014 Ben Zhang <benzh@chromium.org> Add PCI ID for broadwell gpu detection

BUG=none
TEST=run graphics_PiglitBVT and see the test doesn't fail with
Unhandled KeyError: 5654 (0x1616)

Change-Id: I28afbc863d12218dedde08057cc5273be278efb3
Signed-off-by: Ben Zhang <benzh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/203966
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
ite_utils.py
1611d6a612a8171ee2e3828f3ca5de883693ada0 10-Jun-2014 Prashanth B <beeps@google.com> [autotest] Enable per boot collection of /var/log/messages.

Also enable sysinfo collection for provision jobs.

TEST=Ran provision.
BUG=None

Change-Id: I1c0974f8db2f47d6c7806d842cb5a5cae24f3d87
Reviewed-on: https://chromium-review.googlesource.com/203198
Commit-Queue: Prashanth B <beeps@chromium.org>
Tested-by: Prashanth B <beeps@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
ase_sysinfo.py
8b811e05e984afbdbdba57d0695279e3f28430de 02-Jun-2014 Puthikorn Voravootivat <puthik@chromium.org> fio_util: Change description and graph name in perf_measurements

We send FIO result perf data to chrome perf dashboard but the
data from same platform with different internal disk (Example:
falco 16G and 32G) get mixed in the same graph which makes
the results to be not meaningful. This patch fixes that by
separate each disk model/size to its own graph.

Also move util to where it should be
- Move fio_util from client/common_lib to client/bin
- Move get_disk_size() from site_utils to base_utils

BUG=chromium:379468
TEST=Run in falco/peach_pit. Get desired result in perf_measurements

Change-Id: I50518ce541cb4b2fc21b67db1bbd5de82ddecc6d
Reviewed-on: https://chromium-review.googlesource.com/202331
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Puthikorn Voravootivat <puthik@chromium.org>
Tested-by: Puthikorn Voravootivat <puthik@chromium.org>
ase_utils.py
io_util.py
ite_utils.py
471f49cc946ff09cfa5def2868daecb452b37fd2 30-May-2014 Ilja Friedel <ihf@chromium.org> Flush system logs with short delay for graphics tests.

The ChromeOS default right now is 10 minutes and we lower it to 1 second.
For this we save and change /proc/sys/vm/dirty_writeback_centisecs

TEST=Watched dirty_writeback_centisecs while running SanAngeles on link.
BUG=chromium:378979

Change-Id: I7dd5e0c92bbacf13d1cb3aa5d610be223222632d
Reviewed-on: https://chromium-review.googlesource.com/202204
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
ite_utils.py
06b98e260ffbabbd07a8169bcff1316707cb4279 13-May-2014 Achuith Bhandarkar <achuith@chromium.org> Support for Remora enrollment.

* Methods for enterprise enrollment of Remora devices.
* Methods to save TPM password and clear TPM.
* utility function to read credentials from a file.
* sample test that exercises enrollment.

BUG=chromium:342884
TEST=enterprise_RemoraRequisition

Change-Id: Ie872e9ba0702474d9f605c5520577cf4e0ad21d2
Reviewed-on: https://chromium-review.googlesource.com/199560
Tested-by: Achuith Bhandarkar <achuith@chromium.org>
Commit-Queue: Mattias Nissler <mnissler@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Commit-Queue: Achuith Bhandarkar <achuith@chromium.org>
ite_utils.py
540af155fcd1016257478c22de8828b449d18085 20-May-2014 Puthikorn Voravootivat <puthik@chromium.org> autotest: Add common code for disk related function.

Add the following functions in site_utils and modify current
client tests to use function in the utils instead of their
own implementation. Also move get_fixed_dst_drive from utils
to site_utils as this function is ChromeOS specific.
- Get root device
- Get root partition
- Get spare root partition for testing
- Check whether system is booted from internal disk or not
- Get disk/partition size

BUG=chromium:375396
TEST=Test affected function (listed below) with test_that.
hardware_Badblocks, hardware_DiskSize, hardware_Smartctl,
hardware_StorageFio, hardware_StorageTrim,
hardware_TrimIntegrity, power_Consumption,
platform_RootPartitionsNotMounted

Change-Id: I2c3ea95a5d603e3700115006d77db897ab2847e5
Reviewed-on: https://chromium-review.googlesource.com/200627
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Puthikorn Voravootivat <puthik@chromium.org>
Commit-Queue: Puthikorn Voravootivat <puthik@chromium.org>
ase_utils.py
ite_utils.py
3f5d7687852d571a9e547b439f5d03deb776fa0a 08-May-2014 Ilja H. Friedel <ihf@chromium.org> Better PerfControl temperature spew.

Also, only fail tests from now on if we hit critical temperature.

BUG=None.
TEST=Ran graphics_PerfControl, graphics_GLBench, graphics_GLMark2 on link.

Change-Id: If83d3635d0d40decfe8a4e7cca0fc910d3543ed2
Reviewed-on: https://chromium-review.googlesource.com/199240
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
ite_utils.py
693348a60a4fd611531591528514c0101232bbbe 01-May-2014 Puthikorn Voravootivat <puthik@chromium.org> autotest: Add get_fixed_dst_drive to util

This method will call get_fixed_dst_drive from the shell script
to get the internal drive

BUG=None
TEST=manualy tested in falco, rambi

Change-Id: I3a233ff0dbd285000f41e758aae7995291756091
Reviewed-on: https://chromium-review.googlesource.com/197834
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Puthikorn Voravootivat <puthik@chromium.org>
Tested-by: Puthikorn Voravootivat <puthik@chromium.org>
ase_utils.py
04be2bd5e4666a5c253e9c30ab20555e04286032 08-May-2014 Ilja H. Friedel <ihf@chromium.org> Autotest: Change logging.warn() to logging.warning().

logging.warn() is deprecated. See
http://bugs.python.org/issue13235

Substitution was performed via
~/cros/src/third_party/autotest/files$ find ./ -type f | xargs sed -i 's/logging.warn(/logging.warning(/'

BUG=None.
TEST=There should be one-- and preferably only one --obvious way to do it.

Change-Id: Ie5665743121a49f7fbd5d1f47896a7c65e87e489
Reviewed-on: https://chromium-review.googlesource.com/198793
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
ite_utils.py
977aaddd5fbb6e787b442bdf0ddc054326dcbb4d 30-Apr-2014 Ilja Friedel <ihf@chromium.org> graphics_GLBench: thermal fixes.

This change makes measuring temperatures from glbench more robust.
Also decouples -hasty from temperatures for more robustness.
Finally try to detect unexpected test termination better.

TEST=Ran on nyan_big.
BUG=chrome-os-partner:23243

Change-Id: Iec65cb9aaa42534148c3a65043368492baca1d54
Reviewed-on: https://chromium-review.googlesource.com/197605
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
ite_utils.py
26778371978182b2abb747d7244085dd96092216 03-May-2014 Stéphane Marchesin <marcheu@chromium.org> Add more PCI IDs for gpu detection

0x0116 is another sandybridge
0x0a16 is another haswell

BUG=none
TEST=none

Change-Id: I454d9ce5a1527d23496442228f73e8ad29ee6c7e
Reviewed-on: https://chromium-review.googlesource.com/198093
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Stéphane Marchesin <marcheu@chromium.org>
ite_utils.py
85185624e49cdb3e2a8ba40c93c7f060529debb8 03-May-2014 Stéphane Marchesin <marcheu@chromium.org> Don't run FBC test on machines which don't have a monitor

If the machine doesn't have a monitor, we can't reach FBC.

BUG=none
TEST=none

Change-Id: Ibf3582d53c1347b5642c952f84b4aa9fceac93f3
Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/198094
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
ite_utils.py
bf67617f8f4cc06f0b63fae3c60f3cc1d228c40b 26-Apr-2014 Stéphane Marchesin <marcheu@chromium.org> Add graphics_Idle test

This adds a new graphics_Idle test which checks different things when the
GPU is idle:
- panel downclock is in use
- short blanking is enabled
- rc6 is in use
- dvfs goes to the lowest clock
- fbc works
- all gem objects are idle

BUG=chromium:361897, chromium:363747
TEST=run the test on lumpy, daisy, glimmer, rambi, falco

Change-Id: I93e860c6f2ed2adc2905a82e4885cd99bfdff112
Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/197167
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
ite_utils.py
279d8a9f9dc0c51c40d029062167ab225a68abd5 17-Apr-2014 Fang Deng <fdeng@chromium.org> [autotest] Collect console-ramoops and i915_error_state in crashcollect

Collect /dev/pstore/console-ramoops.
Also collect /sys/kernel/debug/dri/0/i915_error_state
on Intel systems.

BUG=chromium:349741
TEST=Run a test locally and force crashcollect, confirmed
the file is collected.

Change-Id: Ie1dc61ca613b32928b82ae7bd033da4433fd7b3f
Reviewed-on: https://chromium-review.googlesource.com/195448
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Prashanth B <beeps@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
ase_sysinfo.py
5a9da4a47e9c5b9985d269808c05a197025cf316 17-Apr-2014 Ilja Friedel <ihf@chromium.org> WAR for get_temperature_critical on Rambi.

Search more extensively for hwmon values and clamp unreasonable
temperatures to known good values.

TEST=Ran locally on daisy and link.
cbuildbot --remote -g 195272 --hwtest x86-alex-paladin peppy-paladin samus-paladin \
peach_pit-paladin rambi-paladin clapper-paladin glimmer-paladin
BUG=chromium:360249

Change-Id: I2ce7f9caaa4518786da80a32827498a856523382
Reviewed-on: https://chromium-review.googlesource.com/195272
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
ite_utils.py
b7f4c2e8f344d9dbff16b2d39dafc2590436bd88 03-Apr-2014 Puthikorn Voravootivat <puthik@chromium.org> Add new hardware_MemoryIntegrity test / refactor related test

This test call hardware_StorageFio to write data once to the ramfs
then idle/suspend for an hour before verify the data integrity.

Also refactor hardware_RamFio and hardware_Memtester to share
the existing code.

BUG=chromium:357856
TEST=Tested in peach_pit. Test passed.

Change-Id: I3a52cb8d32b31fec3f4f6ad3a8c562bc7bb7d17f
Reviewed-on: https://chromium-review.googlesource.com/193065
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Puthikorn Voravootivat <puthik@chromium.org>
Tested-by: Puthikorn Voravootivat <puthik@chromium.org>
ase_utils.py
85f4c36b14448d8fd707b34107c7688f13f258f2 08-Apr-2014 Simran Basi <sbasi@chromium.org> Moblab: Display 'moblab' user as default in AFE.

Currently there are 2 separate users for Moblab: 'default_user' for
kicking off jobs from the AFE and 'moblab' for kicking off jobs from
the run_suite command.

This change defaults the AFE to use 'moblab'. And allows jobs to be
aborted from the AFE.

BUG=chromium:358579
TEST=Moblab AFE defaults to 'moblab' user and is able to abort jobs
created by run_suite. Also verified get_current_board() still works
on a moblab.

Change-Id: Ic9a0a7bfc745a670796863629d070056e1dfd69f
Reviewed-on: https://chromium-review.googlesource.com/193657
Reviewed-by: Prashanth B <beeps@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Simran Basi <sbasi@chromium.org>
ite_utils.py
bc5755163c8100df7edd9045211e6fcd5989ad09 01-Apr-2014 Ilja H. Friedel <ihf@chromium.org> Add graphics_PerfControl autotests.

This test exercises an empty performance test wrapped in the PerfControl
object. It essentially checks that we are able to
- read board temperatures
- read CPU frequencies
- read CPU utilization
- set the governor.
Finally it waits to obtain a cold, idle machine.

This change also cleans up site_utils.py to make reading these values more
robust.

BUG=chromium:357980
TEST=Runs locally on daisy and link. trybots no good.
test_that <ip> graphics_PerfControl graphics_GLMark2 graphics_GLBench

Change-Id: I727387a4a65be33b855b214e78846841b91a0aab
Reviewed-on: https://chromium-review.googlesource.com/192531
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
ite_utils.py
14d1480c1981dee4723a028598302c52d71150ae 31-Mar-2014 Ilja Friedel <ihf@chromium.org> Fix graphics_GLBench: ignore ectool temperatures on ARM.

BUG=chromium:357980
TEST=Ran on graphics_GLBench daisy. Got non-matching images due to
crbug.com/357880. Temperatures looked fine.

Change-Id: I5d013733caa0a494dbbf023ae7789d98ffa70873
Reviewed-on: https://chromium-review.googlesource.com/192421
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
ite_utils.py
3b4712cc3f0a77cfa7851fb73fb03fcb0c4e6318 14-Mar-2014 Ilja Friedel <ihf@chromium.org> Start monitoring temperature during tests.

There are two parts to this:
1) Added infrastructure to site_utils.py to get machine into defined state
and keep tests honest.
2) Change glbench binary to base its wait times on currently observed
temperatures.

This should make the test faster, as we can cut down on blind sleep times.
But I don't expect on its own to change the numbers.

BUG=chromium:344766
TEST=1) Ran graphics_GLBench on link.
2) Ran hardware_SsdDetection and firmware_TouchMTB on link to ensure
get_board() still works for them.

Change-Id: I3cb908a35d911a3f9ca6ef194aa5a3d1ac3e2152
Reviewed-on: https://chromium-review.googlesource.com/190290
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
ite_utils.py
42052a2eab846f5c2f22cdc2d231d74d99550f45 06-Mar-2014 Ilja H. Friedel <ihf@chromium.org> Wait for idle machine before running perf tests.

Most of the code moved into site_utils.py is from pyauto which is going
away. Also instrument two graphics tests with it. Finally massage some
GLBench units to get away from the generic and not quite right Hz.

BUG=chromium:344672, chromium:344766
TEST=Ran on link, made sure we get a "top" in the logs when not idle
after one minute.

Change-Id: I44bb2fc230544f27ec31e064e6c279ecd674cbf2
Reviewed-on: https://chromium-review.googlesource.com/189017
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
ite_utils.py
171137407ec2d93db48123a4331929c8e9290cbb 05-Mar-2014 Daniel Kurtz <djkurtz@chromium.org> client/bin/base_utils: Restore get_cpu_family()

Patch https://chromium-review.googlesource.com/188819 added a function
get_cpu_family(). However, there already is a funciton with that name,
so the new one is masked.

Although we don't have any tests that use the old "get_cpu_family()", it
is still better to keep the old function there with the same name to
conflict less with upstream autotest.

No functional change.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>

BUG=none
TEST=Apply https://chromium-review.googlesource.com/#/c/188851/ to
autotest/files
TEST=test_that <daisy-ip> graphics_LibDRM

Change-Id: I1079102aee4dd2f67c00f6b0d0b0fd628848bfc8
Reviewed-on: https://chromium-review.googlesource.com/188908
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Queue: Ilja Friedel <ihf@chromium.org>
ase_utils.py
7c6ee7899f011215eea6d57181f58b8bf43d3b85 04-Mar-2014 Daniel Kurtz <djkurtz@chromium.org> base_utils: add get_cpu_family helper

Several tests (especially graphics tests) need to distinguish not just
between intel and arm, but also, which kind of ARM SoC on which they are
running.

This patch just adds the helpers but doesn't use them.
Later patches will start using them, particularly in some of the graphics
tests.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>

BUG=none
TEST=none

Change-Id: I70c3dcd3bd999546e1a150351682a4263df3fbf0
Reviewed-on: https://chromium-review.googlesource.com/188819
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
ase_utils.py
f278e8591fdcee2bad05416c0a6d30f31e08598b 05-Mar-2014 Daniel Kurtz <djkurtz@chromium.org> base_utils: cleanup some pylint warnings

* Specify string format arguments as logging function parameters
* Unused import

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>

BUG=none
TEST=./utils/run_pylint.py client/bin/base_utils.py | grep W

Change-Id: I1a74bf7f9ecf69a8f7f70c4c8209efc90a0ae966
Reviewed-on: https://chromium-review.googlesource.com/188818
Reviewed-by: Ilja Friedel <ihf@chromium.org>
Commit-Queue: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
ase_utils.py
31292bb0cc6f23e784bba330951fff2086655279 04-Feb-2014 Dan Shi <dshi@chromium.org> [autotest] Collect console-ramoops after DUT reboot

Add file /dev/pstore/console-ramoops to _DEFAULT_FILES_TO_LOG_PER_BOOT, so
sysinfo can collect the file after every reboot.

BUG=chromium:340289
TEST=trybot build

Change-Id: I661c1ab8e9473e756c59ced2570a03d5ef6a2106
Reviewed-on: https://chromium-review.googlesource.com/184902
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Reviewed-by: Prashanth B <beeps@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
ase_sysinfo.py
40b7d0d8a5da83d695903bd49c8deaa4572d309f 18-Jan-2014 Luis Lozano <llozano@chromium.org> Add current chrome version to generated AFDO perf data

Add the chrome version of the name of the generated AFDO perf.data
file. Had to add necessary support in cros_host class and in the
process commonized some code with site_sysinfo.py

BUG=None
TEST=Tested through test_that.

Change-Id: I4d6537c78f21febadc566b7ea8b3238dc809e135
Reviewed-on: https://chromium-review.googlesource.com/183132
Reviewed-by: Luis Lozano <llozano@chromium.org>
Commit-Queue: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
ite_sysinfo.py
2e25110f83164c4422d86173d685c7e110b5c8f4 14-Jan-2014 Dan Shi <dshi@chromium.org> [autotest] Save preserved log during autoupdate.

In following test, add a logdir to job.sysinfo.test_loggables to save files in
/mnt/stateful_partition/unencrypted/preserve/log

server/control/segments/provision
server/site_tests/autoupdate
server/site_tests/autoupdate_EndToEndTest
server/site_tests/provision_AutoUpdate

The logdir will enable autotest to collect the preserved logs and save to
results folder:
[test]/sysinfo/mnt/stateful_partition/unencrypted/preserve/log

BUG=chromium:276919
TEST=test_that 172.22.75.106 dummy_Pass -i lumpy-release/R34-5233.0.0
trybot build trybot-lumpy-release/R34-5238.0.0-b1752

Change-Id: I45a7c4be59867ab67ae1bd36c5be29feeff2d4bd
Reviewed-on: https://chromium-review.googlesource.com/183155
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
ite_sysinfo.py
5d0dd7bba2dd2a26cbef28c6df96e9909b76f36c 18-Jan-2014 Alex Miller <milleral@chromium.org> Revert "[autotest] Save preserved log during autoupdate."

The client/cros/constants.py chunk needs to be landed
before the server control files are changed.

This reverts commit 21b042e148a8520179912d141a237241f8c0442a.

Change-Id: Id68d5b767030ffc75050d5c2bac930fe22f30035
Reviewed-on: https://chromium-review.googlesource.com/183146
Reviewed-by: Alex Miller <milleral@chromium.org>
Commit-Queue: Alex Miller <milleral@chromium.org>
Tested-by: Alex Miller <milleral@chromium.org>
ite_sysinfo.py
21b042e148a8520179912d141a237241f8c0442a 14-Jan-2014 Dan Shi <dshi@chromium.org> [autotest] Save preserved log during autoupdate.

In following test, add a logdir to job.sysinfo.test_loggables to save files in
/mnt/stateful_partition/unencrypted/preserve/log

server/control/segments/provision
server/site_tests/autoupdate
server/site_tests/autoupdate_EndToEndTest
server/site_tests/provision_AutoUpdate

The logdir will enable autotest to collect the preserved logs and save to
results folder:
[test]/sysinfo/mnt/stateful_partition/unencrypted/preserve/log

BUG=chromium:276919
TEST=test_that 172.22.75.106 dummy_Pass -i lumpy-release/R34-5233.0.0
trybot build trybot-lumpy-release/R34-5238.0.0-b1752

Change-Id: Ia4beee8a43a3b9c0959ce00b514eda5f29f27f71
Reviewed-on: https://chromium-review.googlesource.com/182948
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
ite_sysinfo.py
5aff89f25bef086c0edf085db73669f53ad1ec9a 16-Jan-2014 Dan Shi <dshi@chromium.org> [autotest] add method add_logdir to site_sysinfo

add_logdir method can be called in control file for test to save files in a
specific folder, e.g.,
job.sysinfo.add_logdir('path to a folder')
before calling job.run_test

BUG=chromium:276919
TEST=None

Change-Id: I62d46d4d42efda1258be1ff5227bfed03d032afb
Reviewed-on: https://chromium-review.googlesource.com/182759
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
ite_sysinfo.py
98718aed832b7f1de5a8798696f5ef9022d62264 16-Jan-2014 Sameer Nanda <snanda@chromium.org> Revert "[autotest] Save preserved log during autoupdate."

This reverts commit 5b5d30a9aaa3be3d0cdb91e1b61a883150023915. It seems to be causing failures such as crbug.com/335044.

Change-Id: I1948e45419348574f7ef724a015bc87ada133bee
Reviewed-on: https://chromium-review.googlesource.com/182811
Commit-Queue: Bryan Freed <bfreed@chromium.org>
Commit-Queue: Sameer Nanda <snanda@chromium.org>
Tested-by: Sameer Nanda <snanda@chromium.org>
Reviewed-by: Sameer Nanda <snanda@chromium.org>
ite_sysinfo.py
5b5d30a9aaa3be3d0cdb91e1b61a883150023915 14-Jan-2014 Dan Shi <dshi@chromium.org> [autotest] Save preserved log during autoupdate.

In following test, add a logdir to job.sysinfo.test_loggables to save files in
/mnt/stateful_partition/unencrypted/preserve/log

server/control/segments/provision
server/site_tests/autoupdate
server/site_tests/autoupdate_EndToEndTest
server/site_tests/provision_AutoUpdate

The logdir will enable autotest to collect the preserved logs and save to
results folder:
[test]/sysinfo/mnt/stateful_partition/unencrypted/preserve/log

BUG=chromium:276919
TEST=test_that 172.22.75.106 dummy_Pass -i lumpy-release/R34-5233.0.0
trybot build trybot-lumpy-release/R34-5238.0.0-b1752

Change-Id: Icab5558fa105656115ce0fc02dedc209b164861a
Reviewed-on: https://chromium-review.googlesource.com/182535
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
ite_sysinfo.py
a214178ef3a91c86bb5dc3a886ab9f32092b5ec9 03-Dec-2013 Christopher Wiley <wiley@chromium.org> autotest: Remove ancient fsdev test

This test is mentioned nowhere and predates much work on ChromeOS.

TEST=git grep fsdev returns no hits, either here, or in our ebuilds.
BUG=chromium:324963

Change-Id: I43f2a37bd68bacdc4e6e34fdf8f08e28d92e1ba0
Reviewed-on: https://chromium-review.googlesource.com/178608
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
sdev_disks.py
sdev_disks_unittest.py
sdev_mgr.py
artition.py
2ca9777726b79bae8c4d14ed16a39338a6890992 22-Oct-2013 Dan Shi <dshi@chromium.org> [autotest] Force to collect all logs if test failed.

The default behavior is to save only new data in /var/log. This CL changes that
behavior so that, if a test failed, all files in /var/log will be collected.

BUG=chromium:303352
TEST=test_that 172.22.75.225 dummy_Fail
check results folder that contains all files in /var/log:
/tmp/test_that_results_0JCjJZ/results-1-dummy_Fail/dummy_Fail.Fail/sysinfo/var/log/
If the test passed, the folder should be var/log_diff.

Change-Id: I4c876c4a25a129841ff82763412aec2b317825a1
Reviewed-on: https://chromium-review.googlesource.com/174058
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
ite_sysinfo.py
b284f80bb6eda9586a1635caf0ddb5d761eaaf0c 07-Nov-2013 Mike Frysinger <vapier@chromium.org> update ifconfig usage

With newer net-tools, ifconfig has both moved from /sbin/ to /bin/ and
changed its output format.

Since we already have `ip` available and it has a much more structured
output format, convert cases where it makes sense to use that.

For cases not doing output parsing, update the path to the program.

BUG=chromium:219081
TEST=`cbuildbot {amd64,x86}-generic-full` works w/old net-tools
TEST=`cbuildbot {amd64,x86}-generic-full` works w/new net-tools (CL:173670)
CQ-DEPEND=CL:176132
CQ-DEPEND=CL:177266

Change-Id: I2f580767f5db0761131e1f80cebade0a75e51a18
Reviewed-on: https://chromium-review.googlesource.com/176078
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
et/net_utils.py
c1d263b436976b7516f77e84386ec0fbe2b3cfbe 05-Oct-2013 Dan Shi <dshi@chromium.org> [autotest] add a wrapper for client side chrome driver based test

client/common_lib/cros/chromedriver.py
|chromedriver| is a wrapper class for any client side test that wants to use
Chrome Driver to interact with the browser. The wrapper class handles log in
with Telemtry when an instance of chrome_driver is instantiated. It exposes a
property |driver| for test to call methods of Chrome Driver.

|chromedriver_server| is a wrapper class to start/stop chromedriver server in
remote mode. That is, ChromeOS logged in with debugging port opened using
Telemetry, Chrome Driver started by specifying the remote debug port of Chrome
browser.

client/site_tests/desktopui_UrlFetchWithChromeDriver
A sample test that use Chrome Driver/Selenium to test browser url and cookie.
This test takes following test as an example, which uses pyauto.
client/site_tests/desktopui_UrlFetch

related CL that adds Chrome Driver to test image:
https://chromium-review.googlesource.com/#/c/173183/

TODO(dshi)> another CL will be added to add desktopui_UrlFetchWithChromeDriver
to ebuild: chromeos-base/autotest-chrome/autotest-chrome-9999.ebuild

BUG=chromium:289702
TEST=test_that 172.22.75.225 desktopui_UrlFetchWithChromeDriver
trybot build: Tested in build trybot-lumpy-paladin/R32-4831.0.0-b1336

Change-Id: I8d3ec8a8bd3e14cdc4cc5d9c76f19a422ad0e00b
Reviewed-on: https://chromium-review.googlesource.com/172082
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
ite_utils.py
3a7a9576fd1be76ec6403c9a4c7b534a28e30883 17-Oct-2013 Dan Shi <dshi@chromium.org> [autotest] Fix log diff for server side test.

sysinfo for server side test was serialized and deserialized between
test/iterations, refer to server/tests.py/_sysinfo_before_test_script etc.
For example:
if os.path.exists(sysinfo_pickle):
job.sysinfo = pickle.load(open(sysinfo_pickle))
job.sysinfo.__init__(job.resultdir)

In sysinfo.__init__ call, diffable_loggables is re-initialized and thus loose
the previously collected file stats in /var/log. This leads to the behavior
that server side test collects all files in /var/log.

The fix is to check if diffable_loggables attribute is initialized already
in __init__ before set it to an empty collection.

BUG=chromium:305813
TEST=test_that 172.22.75.225 dummy_PassServer
make sure job_repo_url is invalid to force test_that to use local autotest code.

Change-Id: I13daaa7c68c7d517345cc747d5dc188968f76602
Reviewed-on: https://chromium-review.googlesource.com/173324
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Jason Abele <jabele@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
ite_sysinfo.py
03c3e44f31b5a90ea05ab03aa2a32f4f1f0f0093 22-Oct-2013 Dan Shi <dshi@chromium.org> [autotest] add a method to get pid and command line of oldest process with name matches |name|

BUG=chromium:289702
TEST=None

Change-Id: I8942e704df64b0283b884d3aea19437f40921116
Reviewed-on: https://chromium-review.googlesource.com/174102
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
ite_utils.py
85c372101257f538eaf8f259a9c4600cc4d9a61e 10-Oct-2013 Alex Deymo <deymo@chromium.org> client: Import the tests in lexicographical order.

This patch makes the init_test() calls in lexicographical order to
avoid problems produced by the order of import of different modules
from different tests and make those failures more repeatable across
devices.

BUG=None
TEST=cros_workon_make autotest-tests shows the import errors in order.

Change-Id: I46007fafe583254ce0dae222324a6ebcf97332d1
Reviewed-on: https://chromium-review.googlesource.com/172624
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
etup_job.py
85fcc6fd4ff5e98d6733e3352d5d2ca29eab1089 10-Oct-2013 Alex Deymo <deymo@chromium.org> client: log exceptions generated while building client tests.

When a client test is imported in the chroot, it might fail to import
for various reasons. The current code only shows the test name and
the exception message, but not the traceback, making it difficult to
track why it fails to import on the autotest context.

This patch also logs the exception traceback in this case.

BUG=None
TEST=emerge-daisy_spring autotest-tests shows why and where my test is failing to import.

Change-Id: I8f41f308790c410ab49ac29cba9c63ba31419f06
Reviewed-on: https://chromium-review.googlesource.com/172623
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
etup_job.py
7d6af6852fcfdb956e4723eb076e10533f48d3f2 06-Aug-2013 Chris Masone <cmasone@chromium.org> Add desktopui_CrashyReboot{Server} autotest

To address some GPU hanging problems, we added logic to reboot the
device if the UI seemed to crash too much, too often.
This server-side test validates this logic by deploying an
associated client-side test to the DUT that drives it into
the failure state.

CQ-DEPEND=CL:65243
BUG=chromium:261784
TEST=run this autotest, and it should succeed.
TEST=run this autotest and while it's running, echo $(date +%s) > /var/lib/ui/reboot-timestamps. The test should fail.

Change-Id: I68af57e0266e85434ad63e1f646e90a41a6d393d
Reviewed-on: https://gerrit.chromium.org/gerrit/65218
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Queue: Chris Masone <cmasone@chromium.org>
ite_utils.py
c60b981b0a2e02035db7184948800c1176336e85 08-Aug-2013 Dennis Jeffrey <dennisjeffrey@chromium.org> Log the milestone as a test keyval called "MILESTONE".

Currently, test keyvals include both the CHROMEOS_RELEASE_VERSION
number as well as the CHROME_VERSION. However, the CHROMEOS_RELEASE_VERSION
doesn't explicitly specify the milestone number, which should be the first
part of the CHROME_VERSION string. This change makes MILESTONE a new
explicit test keyval so that we can get the full ChromeOS build number from
both the MILESTONE and CHROMEOS_RELEASE_VERSION keyvals.

BUG=chromium:255251
TEST=Verified that when running login_CryptohomeUnmounted directly from a local
device with this modified site_sysinfo.py file, the new MILESTONE keyval
appears in the outputted test keyval file as expected.

Change-Id: I3f75ef1124e8df1c51d8388f63154c3d197b67f4
Reviewed-on: https://gerrit.chromium.org/gerrit/65023
Reviewed-by: Mark Koudritsky <kamrik@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Tested-by: Dennis Jeffrey <dennisjeffrey@chromium.org>
Commit-Queue: Dennis Jeffrey <dennisjeffrey@chromium.org>
ite_sysinfo.py
85d2e0541b03ccd6fdd27f0378bdfc36d28fa0bf 25-Jul-2013 Dennis Jeffrey <dennisjeffrey@chromium.org> Do not raise an ImportError when attempting to translate a subprocess exception.

After running a client-side test, autotest attempts to parse and re-raise any
exceptions raised by the test subprocess. This is done by attempting to
un-pickle a text file that may contain information about the raised exception.
However, the un-pickling may fail in the event that the subprocess raises a
subprocess-specific exception that autotest proper doesn't know about
(e.g., pyauto raising a pyauto_errors.JSONInterfaceError). This causes the
immediate autotest failure to be an "ImportError" that actually masks the
root-cause failure that was originally raised by the subprocess itself.

In this CL, this situation is captured by catching the ImportError exception,
then re-raising a general error.TestError with an informative error message
indicating that the root cause exception occurred elsewhere (it also prints
out the text contents of the file that was attempted to be un-pickled, which
isn't completely human-readable, but does contain text about the root cause
exception that was originally raised. Here's an example failure message for
this case:

10:05:48 INFO | ERROR login_CryptohomeUnmounted login_CryptohomeUnmounted timestamp=1374771948 localtime=Jul 25 10:05:48 Subprocess raised an exception that could not be identified. The root cause exception is in the text that follows: cautotest_lib.client.common_lib.error
TestFailRetry
p0
(cpyauto_errors
JSONInterfaceError
p1
(S'Raised exception message here.'
p2
tp3
Rp4
tp5
Rp6
.
10:05:48 INFO | END ERROR login_CryptohomeUnmounted login_CryptohomeUnmounted timestamp=1374771948 localtime=Jul 25 10:05:48

BUG=chromium:244593
TEST=Ran login_CryptohomeUnmounted on a local device in which I forced the
underlying pyauto code to raise a pyauto_errors.JSONInterfaceError, then
verified that the example error log above was the result.

Change-Id: I3132f89dd962e2f266b65a8d96fc87ac05075649
Reviewed-on: https://gerrit.chromium.org/gerrit/63355
Reviewed-by: Prashanth Balasubramanian <beeps@chromium.org>
Commit-Queue: Dennis Jeffrey <dennisjeffrey@chromium.org>
Tested-by: Dennis Jeffrey <dennisjeffrey@chromium.org>
arallel.py
c018b97e074c876c765ccfc4e9732a3d8c6a4cb8 29-Jul-2013 Rohit Makasana <rohitbm@chromium.org> Adding YouTube Flash tests and refactoring YT functions
in a helper class so new tests can reuse the code.

TEST=ran manually
BUG=chromium:265409

Change-Id: I4e28e4cd5be9ee0f6852b9ab5bc1c2ccfdaf9453
Reviewed-on: https://gerrit.chromium.org/gerrit/63598
Reviewed-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
Tested-by: Rohit Makasana <rohitbm@chromium.org>
Commit-Queue: Rohit Makasana <rohitbm@chromium.org>
ite_utils.py
07e09aff0baf871b33e5479e337e5e3e0523b729 12-Apr-2013 Dan Shi <dshi@chromium.org> [Autotest] merge cleanup and verify

The objective of this CL is to merge cleanup and verify into a single job to
reduce run time of each test. In existing design, by default, a cleanup job is
scheduled after a test is finished, and a verify job is scheduled before a
test is started. By merging these two jobs together, we are seeing the total
run time of these two jobs is reduced from about 47s to 37s, around 10s saving.
That does not include the saving on scheduler to schedule two jobs, which may
take another 5-10s.

The design is to create a new special task, reset, which runs at the beginning
of a job by default. Verify task is changed to not to run by default before a
job starts. Cleanup job will only be run if a job is scheduled to reboot and
any test failed in that job.

BUG=chromium:220679
TEST=tested with run_suite in local machine
DEPLOY=afe,apache,scheduler,change all users' preference on reboot_after to
Never, sql: |update chromeos_autotest_db.afe_users set reboot_after=0|

Change-Id: Ia38baf6b73897b7e09fdf635eadedc752b5eba2f
Reviewed-on: https://gerrit.chromium.org/gerrit/48685
Commit-Queue: Dan Shi <dshi@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
ite_sysinfo.py
c6ced37c1af18baa04817926aa0e58c9180073c8 03-May-2013 Dennis Jeffrey <dennisjeffrey@chromium.org> Omit logging the hwid after a test run if it's not available.

After an autotest run, we invoke "crossystem hwid" in order to log
the hwid of the device on which the test ran, as a test keyval.
This value may not always be available (e.g., when running on a VM).

As a result, if "crossystem hwid" fails, we use the output of
a second command -- "crossystem mainfw_type" -- to determine whether
or not we expect "crossystem hwid" to be available. If the output
of that second command is "nonchrome", then we expect the hwid to
not be available, and we proceed. Otherwise, the hwid is unexpectedly
missing, and we raise an exception.

BUG=chromium:223728
TEST=Verified on a local test run that if the "crossystem hwid" command
fails, we now either proceed or else raise an exception, depending on
the output of "crossystem mainfw_type".

Change-Id: I52b8e52efe645b20ef558ba0c97326d710c89db5
Reviewed-on: https://gerrit.chromium.org/gerrit/50067
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Queue: Dennis Jeffrey <dennisjeffrey@chromium.org>
Tested-by: Dennis Jeffrey <dennisjeffrey@chromium.org>
ite_sysinfo.py
abbd237f6e10e469e11682669bd49ed8f61e42b8 04-Apr-2013 Henrik Kjellander <kjellander@chromium.org> Add loading of vivi module for stumpy boards.

TEST=bin/cros_run_vm_test --board=stumpy --use_emerged desktopui_WebRTC
BUG=chromium:223633

Change-Id: Ib7ab091188c2256997fa1ab5716a07026747483f
Reviewed-on: https://gerrit.chromium.org/gerrit/47312
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Queue: Henrik Kjellander <kjellander@chromium.org>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Tested-by: Henrik Kjellander <kjellander@chromium.org>
ase_utils.py
775ecd579b8dd47f9d75243c4514e5c9ec941e53 27-Mar-2013 Dan Shi <dshi@chromium.org> [Autotest] Copy only new data in /var/log folder after each test.

Copy all content in /var/log folder causes overhead in both test time and
test result storage. The /var/log folder's size can be over 40MB after a
test is finished. Code change is made to implement the diff logic to only
copy new data in /var/log folder before and after each test.

BUG=chromium:217983
TEST=manually run autoserv with sleep test and verify new data in /var/log
folder is copied over to [test]/sysinfo/var/log_diff. Also use trybot build
trybot-lumpy-paladin/R28-3915.0.0-b741 to confirm autoupdate job's /var/log
is collected as expected.
DEPLOY=manual, before push to prod, this CL must be backport to all branches
being tested.

Change-Id: Ic78c5aa6c35eeab63bb3a0d8cb7095b7f55f217b
Reviewed-on: https://gerrit.chromium.org/gerrit/46658
Commit-Queue: Dan Shi <dshi@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
ite_sysinfo.py
ite_sysinfo_unittest.py
77f06bcdf7e579f8cb1fd4a2ad030cc7b75b13ff 30-Mar-2013 Mike Truty <truty@chromium.org> Create a simple aplay test that can be used in other suites.

This way the aplay test can be run in bvt or kernel_per-build_regression
and also easily run by suspend/resume suites.

Add test to run in serial in SuspendStress.
Add test to run in parallel in SuspendStress.
Add test to run in serial in CheckAfterSuspend.

BUG=None
TEST=./run_remote_tests.sh --remote=w.x.y.z --board=link audiovideo_Aplay
TEST=./run_remote_tests.sh --remote=w.x.y.z --board=link \
client/site_tests/power_SuspendStress/control.audioPerBuild
TEST=./run_remote_tests.sh --remote=w.x.y.z --board=link --use_emerged \
client/site_tests/power_SuspendStress/control.barePerBuild
TEST=./run_remote_tests.sh --remote=w.x.y.z --board=link \
client/site_tests/power_CheckAfterSuspend/control.per_build

Change-Id: Ieea9dbb6afd072812851e6db799fd2bc887f1023
Reviewed-on: https://gerrit.chromium.org/gerrit/46967
Reviewed-by: Julius Werner <jwerner@chromium.org>
Commit-Queue: Mike Truty <truty@chromium.org>
Tested-by: Mike Truty <truty@chromium.org>
ite_utils.py
f0ad98c0dec9989e7523a4074f0a4c22401d3d1c 28-Mar-2013 Dennis Jeffrey <dennisjeffrey@chromium.org> Add temporary debugging logic around the call to "crossystem hwid".

The call to "crossystem hwid" is sometimes failing on certain
platforms. To help in debugging the issue, we now catch the raised
exception and log the output of a second command before re-raising the
exception.

BUG=chromium:223728
TEST=Verified on my local device that if the original call (crossystem hwid)
fails, then the output of the second command is logged before the original
exception is re-raised.

Change-Id: I3184f013f7fbc2d304733552d1ee89adf653a6b9
Reviewed-on: https://gerrit.chromium.org/gerrit/46793
Commit-Queue: Dennis Jeffrey <dennisjeffrey@chromium.org>
Tested-by: Dennis Jeffrey <dennisjeffrey@chromium.org>
Reviewed-by: Dennis Jeffrey <dennisjeffrey@chromium.org>
ite_sysinfo.py
7b78e3af4fa0ad99225a00103af6c21435d72ab0 22-Mar-2013 Dennis Jeffrey <dennisjeffrey@chromium.org> Autotests now log the chrome version as a test keyval.

For performance dashboards, it's helpful to know both the chromeOS version
number and the associated chrome version number for which a perf metric
was measured. For example, from the chrome version number, we can look up
the CL difference between two different chrome versions, helping in
debugging perf regressions that might have happened in chrome.

This change adds a new test keyval so that we can easily look up in the
autotest database to find the chrome version associated with an autotest
run (e.g., "CHROME_VERSION=27.0.1448.0").

BUG=chromium:190489
TEST=Verified on a local device that an autotest run with this change
properly logs the CHROME_VERSION into the test keyval file.

Change-Id: I6b0da1c6a9e28293214d3e2e01e71a62e4d78762
Reviewed-on: https://gerrit.chromium.org/gerrit/46202
Commit-Queue: Dennis Jeffrey <dennisjeffrey@chromium.org>
Reviewed-by: Dennis Jeffrey <dennisjeffrey@chromium.org>
Tested-by: Dennis Jeffrey <dennisjeffrey@chromium.org>
ite_sysinfo.py
62fc2a06279fa243417482a93d0615874ff39445 22-Mar-2013 Scott Zawalski <scottz@chromium.org> Revert "[Autotest] Copy only new data in /var/log folder after each test."

A number of issues have come up regarding this change:

https://code.google.com/p/chromium/issues/detail?id=223086
https://code.google.com/p/chromium/issues/detail?id=222793


This reverts commit 4c90cb9b25954953dbe409f292b031b54eaad17a

Change-Id: Ia9dd6059209959ba2d3ebd5cc5915b2a1fa02a6a
Reviewed-on: https://gerrit.chromium.org/gerrit/46266
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Tested-by: Scott Zawalski <scottz@chromium.org>
ase_sysinfo.py
ite_sysinfo.py
ite_sysinfo_unittest.py
4c90cb9b25954953dbe409f292b031b54eaad17a 08-Mar-2013 Dan Shi <dshi@chromium.org> [Autotest] Copy only new data in /var/log folder after each test.

Copy all content in /var/log folder causes overhead in both test time and
test result storage. The /var/log folder's size can be over 40MB after a
test is finished. Code change is made to implement the diff logic to only
copy new data in /var/log folder.

BUG=chromium-os:35886
TEST=manually run autoserv with sleep test and verify new data in /var/log
folder is copied over to sysinfo/var/log_diff.

Change-Id: I20569c03939c1a4b5573dc4639cb424694861f71
Reviewed-on: https://gerrit.chromium.org/gerrit/44886
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
ase_sysinfo.py
ite_sysinfo.py
ite_sysinfo_unittest.py
eeb1cad28c83faacb7bc51a4630154e9ca122088 13-Feb-2013 Aviv Keshet <akeshet@chromium.org> [autotest] Fix unittest -- client/bin/setup_job

Unit test for setup_job was broken back in a previous merge of upstream
autotest, commit 8adf78936c915df6fd1edb6c592f40a7ed8350a5 . This commit
fixes the broken tests by adding the new required argument to
job.__init__ calls.

BUG=chromium-os:37989
TEST=Unit tests for this module now pass

Change-Id: I7e9011a71b578dd1108ac80c29b25c3482f0bb43
Reviewed-on: https://gerrit.chromium.org/gerrit/43208
Commit-Queue: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
Tested-by: Aviv Keshet <akeshet@chromium.org>
etup_job_unittest.py
878beee3ae102953c7ff92dc7fd8bc6e8823aa7b 12-Feb-2013 Dennis Jeffrey <dennisjeffrey@chromium.org> Autotest now logs the hwid as a test keyval.

As part of investigating performance test results, it's helpful to have
information about the physical device on which the tests ran. This CL
adds the "hwid" to the set of test keyvals outputted by an autotest run.
From the hwid, we can look up detailed information about a device.

This CL also adds some docstrings to existing code in order to get
presubmit checks to pass.

BUG=chromium-os:26401
TEST=Verified the hwid appears in the test "keyval" file when running a
sample test on a local device.

Change-Id: I886762900171234bce3897ed74f0a14d69b3a928
Reviewed-on: https://gerrit.chromium.org/gerrit/43078
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Queue: Dennis Jeffrey <dennisjeffrey@chromium.org>
Tested-by: Dennis Jeffrey <dennisjeffrey@chromium.org>
ase_sysinfo.py
ite_sysinfo.py
bca10a6fc4527d43199f4ad7f489127662fe6c29 25-Jan-2013 Simran Basi <sbasi@chromium.org> Autotest: Add additional logging to autotestd_monitor

In order to help determine what is happening on autotestd_monitor,
we have added additional logging so that we can tell where it gets
stuck in the situations where the client-side test never exits.

BUG=chromium-os:37608
TEST=ensured the log output is recorder and did not impact status or
status.log

Change-Id: I4ee96831ab458a9e4d4400e88b6cb2daf46cc10d
Reviewed-on: https://gerrit.chromium.org/gerrit/41983
Reviewed-by: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Simran Basi <sbasi@chromium.org>
utotestd_monitor
9e30bb204a993933f5a8875498abb84b7e227e0a 01-Jan-2013 Alex Miller <milleral@chromium.org> [autotest] Change os.path.join use in common.py to be portable.

All uses of |os.path.join("x", "../..")| have been changed into
|os.path.join("x", "..", "..")|.

TEST=syntax check all common.py files, trybot passes HWTest
BUG=None

Change-Id: Ic05a2e375352eab4447ae5b180da750ccbc1b914
Reviewed-on: https://gerrit.chromium.org/gerrit/40312
Tested-by: Alex Miller <milleral@chromium.org>
Commit-Queue: Scott Zawalski <scottz@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Queue: Alex Miller <milleral@chromium.org>
et/common.py
af85909e1005f66832ac8b50674f512d42f24b47 20-Nov-2012 Chris Masone <cmasone@chromium.org> [autotest] Add autotest for browser hang detection

Add desktopui_HangDetector to verify that session_manager's hang detection
for the browser process works.
It will start in the 'regression' suite as an experimental test.

BUG=chromium-os:35729
TEST=run it with run_remote_tests.
CQ-DEPEND=I3e60e1cbda652a3e52126cd69b2ff4cd02cc6a74
CQ-DEPEND=Ied5c9e897485aaf75fdefd211445219712972bdf

Change-Id: I1ba7a4f5db97fb1b92fd5366a18c984a7f5494bc
Reviewed-on: https://gerrit.chromium.org/gerrit/38347
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Chris Masone <cmasone@chromium.org>
ite_utils.py
218d3bee94f350b9b4eab77512a9849969baf412 07-Nov-2012 Hsin-Yu Chao <hychao@chromium.org> Autotest input: Add functions for audio jack event devices.

Mic/Headphone Jack is not exposed to mixer control for arm device.
Add functions for input_device.py to get the jack plug/unplug status
from /dev/input/event*.

BUG=chromium-os:36035
TEST=Manual run these functions on arm device.

Change-Id: Id0d0b305af92144081b439b9ec9bdc64b0ee70cd
Reviewed-on: https://gerrit.chromium.org/gerrit/37518
Commit-Ready: Hsinyu Chao <hychao@chromium.org>
Reviewed-by: Hsinyu Chao <hychao@chromium.org>
Tested-by: Hsinyu Chao <hychao@chromium.org>
nput/input_device.py
0a57b90e9b31d22e712eea15b2e09ddcdbdf576d 30-Oct-2012 Chris Masone <cmasone@chromium.org> [autotest] Add shim around site_wlan scripts.

To enable the development of WiFiInterop tests without adding dependencies
on the to-be-refactored code in client/common_lib/cros/site_wlan/ we are
adding an API around those tools.

BUG=chromium-os:35822
TEST=run new network_WiFiInterop/control.* tests on a real device.

Change-Id: I3c848b08f442cc249900602176bf6b6a1b5a901a
Reviewed-on: https://gerrit.chromium.org/gerrit/37465
Commit-Ready: Chris Masone <cmasone@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
ase_sysinfo.py
f4d43ff1254ac68ebc54442da8ad2821bd16d6cb 30-Oct-2012 Chris Sosa <sosa@chromium.org> Reland "Change cleanup phase to only restart the UI instead of rebooting the machine."

This reverts commit 9479fcddc9a8578c91c844cba13243f0a4e09cbd.

Now that we've converted platform_Shutdown to a server-side test, we can safetly commit
this change.

Previously reviewed in: I07525959ea3cb76b1c0ec413b9a968660e92f832

BUG=chromium-os:34489
TEST=Ran the cleanup phase directly with autoserv with argument
server/control_segments/cleanup. I also started up a local autotest
server and ran a Job which ran through client cleanup phases.

Change-Id: I1892a2e7a9fd012461342771fe554e8f5ea59532
Reviewed-on: https://gerrit.chromium.org/gerrit/36922
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
ite_job.py
c6f1f7af48f57144c5563afac7672ffed527207d 16-Oct-2012 Simran Basi <sbasi@chromium.org> Autotest: Add label detection to site_host and add it to the CLI

Currently we manually maintain the list of labels for a given DUT,
in order to make this process easier we added methods to site_hosts
to automatically determine certain attributes/labels for a given
host.

The autotest CLI was also updated such that it can now utilize the
auto label detection methods. If no platform is provided for a given
list of hostnames, it will look up the correct platform for each.
And if it can retrieve the host's labels it will assign a Set of the
detectable labels merged with the command line inputted labels.

BUG=chromium-os:18976
TEST=Ran cli/atest create host locally.

Change-Id: I50480fcddbce60b8d5693f1268ca36d1aea12e23
Reviewed-on: https://gerrit.chromium.org/gerrit/35889
Commit-Ready: Simran Basi <sbasi@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
ite_utils.py
3a18c3c591fc04fc7cb532015bc1f14c0a314991 19-Oct-2012 Cheng-Yi Chiang <cychiang@chromium.org> input_device: fix the way python open input node

To open the input event node /dev/input/event*, we should specify buffering=0
so python will not buffer the event. Fix this bug so factory_Touchpad
test can get instant touchpad input. This is needed to correctly detect
clicking event in factory_Touchpad test.
Also, open file in binary mode to prevent something weird happens in text
mode.

BUG=chrome-os-partner:15448
TEST=/usr/local/autotest/bin/input/input_device.py -d /dev/input/event1
check that clicking event can be detected instantly right after clicking the touchpad.
that is , EV_KEY[LEFT] = 1 and EV_KEY[LEFT] = 0 are shown each time
after clicking. Without this CL, sometimes EV_KEY[LEFT] = 0 will not
show instantly.

Change-Id: Ifc3de42b806fff23f19f874c4285489c8dc130d0
Reviewed-on: https://gerrit.chromium.org/gerrit/36044
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
nput/input_device.py
9479fcddc9a8578c91c844cba13243f0a4e09cbd 09-Oct-2012 Chris Sosa <sosa@chromium.org> Revert "Change cleanup phase to only restart the UI instead of rebooting the machine."

There is an issue where platform_Shutdown has a dependency on reboots in cleanup.
Once that is fixed we can reland this commit.

This reverts commit 76552a34a8355cfaa14bb8906f232a57b9df0cc3.

BUG=chromium-os:35150
TEST=instanceof(revert) == True

Change-Id: I1e311bdb7f91df539e90524bb8f79a69fce58c3b
Reviewed-on: https://gerrit.chromium.org/gerrit/35042
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
ite_job.py
76552a34a8355cfaa14bb8906f232a57b9df0cc3 08-Oct-2012 Chris Sosa <sosa@chromium.org> Reland "Change cleanup phase to only restart the UI instead of rebooting the machine."

This is the same as the original but with one modification -- In server_job,
I've changed when we wipe _uncollected_logs.

Why do I need to do this? The way that the Autotest server runs a cleanup job
is as a Server Job with an empty control file but with cleanup=True. This means
that cleanup runs outside of the regular results dir lifetime of a server job.

Original review in: Ibf33136b14cc29f0c86d4428e09572daaedb8cbe

BUG=chromium-os:34489
TEST=Ran the cleanup phase directly with autoserv with argument
server/control_segments/cleanup. I also started up a local autotest
server and ran a Job which ran through client cleanup phases.

Change-Id: I07525959ea3cb76b1c0ec413b9a968660e92f832
Reviewed-on: https://gerrit.chromium.org/gerrit/34935
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
ite_job.py
c807165c0aee97a4e639b7016858026b79408242 04-Oct-2012 Chris Sosa <sosa@chromium.org> Modify the way we skip package fetching from autoserv.

This change is a re-implementation of fetch_from_autoserv that
follows more closely to the original fall-back i.e. just failing.
There seems to be a hidden dependency that handles not fetching
files from autoserv correctly rather than not having a Fetcher.

BUG=chromium-os:34788
TEST=Ran sleeptest with/without setting set in global_config and
deleting the local cached package and running again with/without
setting. Also ran pylint using utils/run_pylint.

Change-Id: I1bc803b52daab02f38fa8a52c3a0b0efa7754649
Reviewed-on: https://gerrit.chromium.org/gerrit/34665
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
arness_autoserv.py
f40dd63a57c289415baad54124ed3acd3009ecbc 05-Oct-2012 Richard Barnette <jrbarnette@chromium.org> Revert "Change cleanup phase to only restart the UI instead of rebooting the machine."

This reverts commit 05d356c282f5d01a614b4c5f5358f05b844f5b9f

There's an ongoing failure in lab testing apparently caused by
this change.

Change-Id: I89b280167826e86e70f72b68e5521002d2c9a067
Reviewed-on: https://gerrit.chromium.org/gerrit/34806
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
ite_job.py
05d356c282f5d01a614b4c5f5358f05b844f5b9f 04-Oct-2012 Chris Sosa <sosa@chromium.org> Change cleanup phase to only restart the UI instead of rebooting the machine.

This changes the behavior of the cleanup phase to be exactly what we do in
smoke_Suite for server suites i.e. ensure the UI is restarted after the test.

In this change I introduce functionality to directly call static/class/module
methods using autotest.run_method rather than re-implementing or using
autotest.run directly and hacking it.

BUG=chromium-os:34489
TEST=Ran the cleanup phase directly with autoserv with argument
server/control_segments/cleanup

Change-Id: Ibf33136b14cc29f0c86d4428e09572daaedb8cbe
Reviewed-on: https://gerrit.chromium.org/gerrit/34661
Commit-Ready: Chris Sosa <sosa@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
ite_job.py
46589b1ec97d5780c7853a67d9b5173e87cc29c0 03-Oct-2012 cychiang <cychiang@chromium.org> base_utils: fix count_cpus to use multiprocess.cpu_count()

So in base_utils.count_cpu, try to use multiprocess.cpu_count() first.
If it is not availabe, then try to match line like
processor :0
in /proc/cpuinfo to find cpu number.
At last, return at least one.

BUG=chrome-os-partner:9582
TEST=try hardware_SAT test on dut, will see -m parameter with correct cpu number

Change-Id: I1652eca0ba63cf650caa3ca79c07888d5c8920bb
Reviewed-on: https://gerrit.chromium.org/gerrit/34494
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
ase_utils.py
c64fe51989a605e53bb26cc03b0b62e3b2090ec7 03-Oct-2012 Chris Sosa <sosa@chromium.org> Fix logging issues related to crosbug.com/34788

BUG=chromium-os:34788
TEST=Pylint + Visual

Change-Id: Ib5a1d6d8513cbbf8549e88cdad547fe1f2c71eab
Reviewed-on: https://gerrit.chromium.org/gerrit/34490
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
ase_sysinfo.py
8c8ba83ec896639ecf389276a909c8bd24701ff7 26-Sep-2012 Joseph Hwang <josephsih@chromium.org> linux_input: add BTN_TOOL_QUINTTAP

Add BTN_TOOL_QUINTTAP to support the event for 5 fingers touching
the touchpad.

BUG=chromium-os:34269
TEST=None. To be tested with next CL.

Change-Id: Iead9723018bc9ca2955f9d756a521025f0f8362f
Reviewed-on: https://gerrit.chromium.org/gerrit/34182
Reviewed-by: Chung-yih Wang <cywang@chromium.org>
Commit-Ready: Joseph Shyh-In Hwang <josephsih@chromium.org>
Tested-by: Joseph Shyh-In Hwang <josephsih@chromium.org>
nput/linux_input.py
7dd3474940aa6707a5a54c0a0e0486059b82f4cf 21-Sep-2012 Chris Sosa <sosa@chromium.org> Selectively disable fetching from autoserv based on a config option.

BUG=chromium-os:30229
TEST=Tested with run_remote_tests with + without option.

Change-Id: Ib580ffc53f0bb16b8b1668ecb89da47db684de7e
Reviewed-on: https://gerrit.chromium.org/gerrit/33804
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
arness_autoserv.py
3cdb42104c678bd7ca5bd04e632c6af67cb8df54 26-Jul-2012 Jon Salz <jsalz@chromium.org> Use setproctitle to set autotest process titles.

BUG=None
TEST=Manual (check title with ps)
CQ-DEPEND=I22fba1f570c9b4de263a0a04ceec45000b180c0f

Change-Id: I13af6808e56212ebfaf637982c3f1321d92d08a8
Reviewed-on: https://gerrit.chromium.org/gerrit/28459
Reviewed-by: Ricky Liang <jcliang@chromium.org>
Commit-Ready: Jon Salz <jsalz@chromium.org>
Tested-by: Jon Salz <jsalz@chromium.org>
respawner.py
b2fea0a03918ba96f3cf622065046f301e5e6756 19-Jul-2012 Chris Sosa <sosa@chromium.org> Add functionality to disable collection of core files through the config.

We add CLIENT->collect_corefiles which is not set is always set to True.
This must be in CLIENT as it's the only stanza of the config passed to
clients and sysinfo is collected on the target not from the server.

BUG=chromium-os:32725
TEST=Ran platform_BootPerfServer (with 1 iteration) and bad build that was
crashy. Toggled config both ways and saw us filter core files when
necessary

Change-Id: I69ed34eb7661ebe63eb5b9c578bcd1394f2298ae
Reviewed-on: https://gerrit.chromium.org/gerrit/27831
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Yu-Ju Hong <yjhong@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
ite_sysinfo.py
64bde2fb1616924d632e4772d1e95acf9ecccf04 08-Jun-2012 Jon Salz <jsalz@chromium.org> Disable site_sysinfo in goofy.

BUG=chrome-os-partner:10327
TEST=Manual

Change-Id: Icc76b56d9161c7b1aed3222f9a322897064b9854
Reviewed-on: https://gerrit.chromium.org/gerrit/24856
Reviewed-by: Tammo Spalink <tammo@chromium.org>
Tested-by: Jon Salz <jsalz@chromium.org>
Commit-Ready: Jon Salz <jsalz@chromium.org>
respawner.py
8df853ddd52d70f781845d1fa99f384b10e49589 14-Apr-2012 Chung-yih Wang <cywang@chromium.org> Add SYN_DROPPED test

The test bombards the evdev kernel driver to generate SYN_DROPPED event(s)
as the queue inside will be filled up quickly. Therefore, we should be able
to see the SYN_DROPPED event and process it inside CMT driver by examining
the log file Xorg.0.log.

BUG=chromium-os:28997
TEST=run the test and it should succeed if we have the sync. logic implemented,
or fail if not.

Change-Id: I9a0622db7980ec46900dbf00ae6bcf026b2d7fdd
Reviewed-on: https://gerrit.chromium.org/gerrit/20283
Commit-Ready: Chung-yih Wang <cywang@chromium.org>
Reviewed-by: Chung-yih Wang <cywang@chromium.org>
Tested-by: Chung-yih Wang <cywang@chromium.org>
nput/input_device.py
nput/input_event_player.py
fabe61de3a9747126b5fe2b77ad0e17d93f7e043 05-Apr-2012 Hsinyu Chao <hychao@chromium.org> Add factory_Touchscreen test

For now, most of the code is borrowed from factory_Touchpad,
will need some refactor to reduce the duplicate code after
the factory_Touchscreen is more mature.

BUG=chrome-os-partner:7949
TEST=Manual run factory_Touchscreen test works well

Change-Id: I1a1042e99c1631acaff17a040c7002c81a0a629b
Reviewed-on: https://gerrit.chromium.org/gerrit/19817
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Ready: Hsinyu Chao <hychao@chromium.org>
Tested-by: Hsinyu Chao <hychao@chromium.org>
nput/input_device.py
8e3343fc855273fcc2109a463b82e321bf0ab556 04-Apr-2012 Jon Salz <jsalz@chromium.org> Add a test to check shutdown behavior.

Fixes along the way: make prespawner an object, and fix thread cleanup
issues.

BUG=None
TEST=goofy_unittest

Change-Id: I74f8129bd2a2335e01c37a070bb30fdf8454abf6
Reviewed-on: https://gerrit.chromium.org/gerrit/19582
Commit-Ready: Jon Salz <jsalz@chromium.org>
Reviewed-by: Jon Salz <jsalz@chromium.org>
Tested-by: Jon Salz <jsalz@chromium.org>
respawner.py
20053efa075129c20dd0428a8e6160bb655de426 04-Apr-2012 Jon Salz <jsalz@chromium.org> Minor refactoring for testability, and two new tests.

BUG=None
TEST=Run in chroot and on Alex, and run unittests

Change-Id: Iaa20756a3952e57768f06b67aae52b4a610c5f47
Reviewed-on: https://gerrit.chromium.org/gerrit/19572
Commit-Ready: Jon Salz <jsalz@chromium.org>
Reviewed-by: Jon Salz <jsalz@chromium.org>
Tested-by: Jon Salz <jsalz@chromium.org>
respawner.py
e72f7e4b021427bd5c9ca46411f0e423001ad5b0 16-Mar-2012 Mike Frysinger <vapier@chromium.org> site_utils: improve compiler checking

Look at the output of the preprocessor rather than producing an ELF in
a hardcoded location (like /tmp/a.out). If the file is owned by someone
else, the tests will fail to detect things properly. So avoid that by
not using a temp file at all.

BUG=None
TEST=running iotools.py by hand with diff compilers showed pie patch being applied as needed
TEST=running piglit.py by hand with diff compilers showed x86 being detected correctly

Change-Id: Ieb4541e2d79e90a08390ae110ab4cb681325e6b3
Reviewed-on: https://gerrit.chromium.org/gerrit/18388
Reviewed-by: asharif <asharif@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
ite_utils.py
1512a0d44f611c6b4af03cdd052e126bad6c9359 08-Feb-2012 Hung-Te Lin <hungte@chromium.org> autotest: Move factory files to cros/factory folder.

This CL isolates all factory-related files into cros/factory folder, so that we
can find and maintain factory related files more easily, and not polluting
autotest base folder.

'factory' name space is also unified -- there is always one 'factory' module
instance now.

BUG=chromium-os:26048
TEST=Manually checked all tests in test_list.all.

Change-Id: I1503a69809720ea7bda4c727cff61c94956a450a
Reviewed-on: https://gerrit.chromium.org/gerrit/15484
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
actory.py
actory_event.py
actory_prespawner.py
actory_state.py
actory_ui
actory_ui_lib.py
oofy.py
respawner.py
bee21a874d815c677542dcb1c455b7c911aac17e 07-Feb-2012 Jon Salz <jsalz@chromium.org> Add --print_test_file to read and print a test list (for checking test
list validity).

Make goofy shut down cleanly in this case (before it was waiting
for the prespawner thread, which didn't exist).

BUG=chrome-os-partner:7900
TEST=Manual

Change-Id: Ib5cea730690da811eadfc9cef5b52d4c1e2ea4dd
Reviewed-on: https://gerrit.chromium.org/gerrit/15395
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Commit-Ready: Jon Salz <jsalz@chromium.org>
Tested-by: Jon Salz <jsalz@chromium.org>
actory_prespawner.py
oofy.py
172edad210df2e63d1fae1bc1f3738b2a9baaa6a 08-Feb-2012 Sonny Rao <sonnyrao@chromium.org> Fix piglit to install on all x86 boards

This adds a function to utils which tests the compiled output and
determines if the target is x86. This function is then used by the
piglit code to determine if it should be installed or not.

BUG=chrome-os-partner:7942
TEST=`emerge-x86-mario autotest autotest-deps-piglit` installs piglit
TEST=`emerge-lumpy autotest autotest-deps-piglit` installs piglit

Change-Id: I074ab1991f3c6b8d30e6cf94846d87e6158b0ee3
Reviewed-on: https://gerrit.chromium.org/gerrit/15467
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Stuart Abercrombie <sabercrombie@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Sonny Rao <sonnyrao@chromium.org>
ite_utils.py
e7ea4ad49a61a06c1ffd65e258c54432c369c7ba 03-Feb-2012 Jon Salz <jsalz@chromium.org> Support has_ui (since some AutomatedTests have UIs too)

BUG=None
TEST=Manual

Change-Id: I6cb212f1cec1da723d87dfea4c319edc45e949f2
Reviewed-on: https://gerrit.chromium.org/gerrit/15217
Reviewed-by: Tammo Spalink <tammo@chromium.org>
Tested-by: Jon Salz <jsalz@chromium.org>
Commit-Ready: Jon Salz <jsalz@chromium.org>
actory.py
fecd094b52c312ed5c9d6071108338539bb6d1c8 05-Jan-2012 Jon Salz <jsalz@chromium.org> Factory flow revamp as per http://go/factory-test-changes

BUG=chrome-os-partner:6229
TEST=Run manually

Change-Id: I45b79194913d40641b1a5593546ffacf028642f3
Reviewed-on: https://gerrit.chromium.org/gerrit/13459
Commit-Ready: Jon Salz <jsalz@chromium.org>
Reviewed-by: Jon Salz <jsalz@chromium.org>
Tested-by: Jon Salz <jsalz@chromium.org>
actory.py
actory_event.py
actory_prespawner.py
actory_state.py
actory_ui
actory_ui_lib.py
oofy.py
8d92904c0ac7f6c1b8b6f0d142215d5fdaf93fb4 05-Jan-2012 Ben Chan <benchan@chromium.org> Collect files under /tmp/crash_reporter in test results.

The previous CL (commit e3f343c5d9229eb94fd195376f7543982b173cfb) does
not correctly collect /tmp/crash_reportor.* for the "current" test because
the glob operation is performed before the test is actually executed
(and thus the /tmp/crash_reporter.* for the current test).
crash_reporter is changed (https://gerrit.chromium.org/gerrit/13697) to
store files for a crashed process under /tmp/crash_reporter/<pid>
instead of /tmp/crash_reporter.<pid>, so we can simply archive the
entire /var/crash_reporter directory.

BUG=chromium-os:24646
TEST=Ran local trybot.

Change-Id: Ib83d21f55d92658214aa093a02cc6bc91da55d87
Reviewed-on: https://gerrit.chromium.org/gerrit/13698
Reviewed-by: Ken Mixter <kmixter@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Ben Chan <benchan@chromium.org>
ite_sysinfo.py
e3f343c5d9229eb94fd195376f7543982b173cfb 03-Jan-2012 Ben Chan <benchan@chromium.org> Collect /tmp/crash_reportor.* in test results.

This CL includes /tmp/crash_reportor.* as part of the log files
collected vis sysinfo such that those files are archived into test
results, which allows post-mortem analysis of core-to-minidump
conversion failures.

BUG=chromium-os:24646
TEST=Ran local trybot.

Change-Id: I4d60c31a5e5b0b23124cc1ea7bb79ea1881f6e59
Reviewed-on: https://gerrit.chromium.org/gerrit/13612
Reviewed-by: Ken Mixter <kmixter@chromium.org>
Commit-Ready: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
ite_sysinfo.py
4f646a3956116280bbe9799789fdaf4874a19064 30-Nov-2011 Jon Salz <jsalz@chromium.org> Factory VM and servo tests.

BUG=chrome-os-partner:6534
TEST=Ran the test manually

Change-Id: Ia844e37d892540cc0cf73dae73a21e74b85e6766
Reviewed-on: https://gerrit.chromium.org/gerrit/11843
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Tested-by: Jon Salz <jsalz@chromium.org>
Commit-Ready: Jon Salz <jsalz@chromium.org>
ite_utils.py
d931e8c931eb1efb6f67471dcb058f8fe306e7f5 09-Nov-2011 Chris Masone <cmasone@chromium.org> [autotest] Ensure we grab crash dumps at end of tests

In the event that one of the client tests falls over hard enough that the
device reboots, ABORTing the test in the middle, we still want to enable
autotest to go get any crash dumps that might have been left.

use the get_site_crashdumps() hook to enable this.

BUG=chromium-os:22694
TEST=while run_remote_tests.sh LoginSuccess against some machine, ssh in and send SIGKILL to chrome and reboot the machine. The test harness should wait for a while, time out, and then do some work. You should see messages like "23:41:14 INFO | Collecting /var/spool/crash/chrome.20111110.153745.2243.core..."

Change-Id: I9ba4f01dba7fe500e411e8167b8697804f8938b8
Reviewed-on: https://gerrit.chromium.org/gerrit/11514
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Ready: Chris Masone <cmasone@chromium.org>
ite_sysinfo.py
2f0ebba3c2ac427cee397bfe45ef7d58f64911aa 27-Oct-2011 Elly Jones <ellyjones@chromium.org> platform_Cryptohome: Add more test cases.

In particular, test bad dirents in the multi-mount paths. CryptohomeBadPerms
tests directories with bad permissions, CryptohomeNonDirs tests non-dirents in
the mount path.

BUG=chromium-os:20778
TEST=Yes. Needs CLs 10193 and 10670.

Change-Id: I3ad1cd65a88739ab4ac6bcc675def358ff728384
Signed-off-by: Elly Jones <ellyjones@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/10801
Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
ite_utils.py
686c2f457512331a37cc9ed8fab34cf90513c433 24-Oct-2011 Elly Jones <ellyjones@chromium.org> platform_CryptohomeMultiple: add.

Tests multiple concurrent cryptohome mounts.

BUG=chromium-os:20778
TEST=Yes

Change-Id: I78aa1d35a6554d8fda2a1d0980bb1a3d0b9c9f69
Signed-off-by: Elly Jones <ellyjones@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/10588
Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
ite_utils.py
4a431e6cf2fc2419829612c99e3594455f6d4285 12-Oct-2011 Dale Curtis <dalecurtis@chromium.org> Automatically generate stack traces for crashes.

Adds support for automatically generating stack traces for crashes. Uses
the post job parser to check for crashes, retrieve debug symbols, and
call cros_generate_stacks_bvt inside the chroot. Upon completion, each
core dump in the results folder has an associated .dmp.txt stack trace.

Uses gsutil to retrieve the debug symbols as well as a local cache to
ensure symbols for the same build aren't downloaded repeatedly. The
cache self cleans to contain only the last 24 hours worth of symbols.

The debug symbol URLs are read from the dashboard configuration files
which are added to autotest/utils/dashboard/.

Fixes an issue with os_dep where it didn't expand usernames or variables
in the path. Will upstream.

Introduces 12 new unit tests to verify this functionality.

BUG=chromium-os:19565
TEST=Ran locally + Unit tests.

Change-Id: Ib46841f62188a3f18be9c2c05c0a2c244cbae605
Reviewed-on: http://gerrit.chromium.org/gerrit/10060
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Dale Curtis <dalecurtis@chromium.org>
s_dep.py
d51ac9cdab93aee5b408dde4543a00d9913f740f 10-Sep-2011 David James <davidjames@chromium.org> Refactor tests to consistently wait for login prompt to show up after logout.

This CL refactors the autotest suite to consistently check for the login prompt
visibility whenever the session manager is killed. This ensures that the Window
Manager can depend on being fully initialized prior to being killed.

BUG=chromium-os:18919
TEST=Ran trybot run with VM tests.

Change-Id: I1747bc55c66c3eeae10e2cafa2dfc8219d758874
Reviewed-on: http://gerrit.chromium.org/gerrit/8184
Commit-Ready: David James <davidjames@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
ite_utils.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>
utotest
ob.py
ob_unittest.py
et/net_utils.py
et/net_utils_unittest.py
284bff17649e6f93b636845b995b77904ae2cf0a 06-Sep-2011 Dale Curtis <dalecurtis@chromium.org> Add ugo+r permissions to all logs collected under sysinfo.

Allows them to be served from the archive web server without generating
any 403s.

BUG=none
TEST=Ran server test w/ sysinfo collection verified perms.

Change-Id: I1e609037f4dfd8f697b36b1d23e8776db9db9ad6
Reviewed-on: http://gerrit.chromium.org/gerrit/7291
Reviewed-by: Thieu Le <thieule@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Tested-by: Dale Curtis <dalecurtis@chromium.org>
ite_sysinfo.py
1ee87cc2af0f42556cba30c838554cd9f4b673e7 30-Aug-2011 Thieu Le <thieule@chromium.org> Add retrieving of crash dumps at the end of the test.

Currently, we only retrieve the crash dumps after a test iteration.
This does not catch crash dumps that are generated during the logout.
Retrieving the crash dumps at the end of the test will take care of
this.

BUG=chromium-os:18943
TEST=Manually force desktopui_ChromeFirstRender to fail while running
suite_Smoke and verify that crash dump is associated with correct test

Change-Id: I5247e686c0835a498377f0ddbd3969a2501cec69
Reviewed-on: http://gerrit.chromium.org/gerrit/6921
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
ite_sysinfo.py
750710c4330c79609c7ed66ce0001ec2f8f55531 26-Aug-2011 Tammo Spalink <tammo@chromium.org> Add additional keyboard layouts, scaling too-large images.

TEST=this is a test, run it
BUG=chrome-os-partner:5451

Change-Id: I6c22cabc75f58d7550b22f755bc848ea398863da
Reviewed-on: http://gerrit.chromium.org/gerrit/6720
Tested-by: Tammo Spalink <tammo@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
actory_ui_lib.py
a7fb896dfe7cd4f0d7a9e8cd3efa3bf5a2ad2330 17-Aug-2011 Gaurav Shah <gauravsh@chromium.org> autotest: Make poll_for_condition log the error before raising an exception

When a test fails or errors out (via raising one of the derived TestError or
TestFail exceptions), autotest displays the <test name>.ERROR log file to help
debug the reason for the test failure.

Many of our test failures are caused due to timeouts while waiting for a
condition using poll_for_condition and these do not get logged to the ERROR log
file.

This CL adds a logging.error call with the error description to
poll_for_condition before the exception is raised to signify test failure. Also
added logging to a couple of other places where some custom TestError exceptions
are raised.

BUG=none
TEST=Caused a deliberate timeout failure on login_CryptohomeMounted by reducing the timeout
to a very small value. The test ERROR file now contained the timeout error message.

Change-Id: I4915e2dd3eaf72de562c0ccf53429b8ed8f6bf04
Reviewed-on: http://gerrit.chromium.org/gerrit/6115
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Gaurav Shah <gauravsh@chromium.org>
ite_utils.py
dced248f5e66c0bc2c7665a75b084db306381285 01-Aug-2011 Nick Sanders <nsanders@chromium.org> Refactor test_list

* Remove nonexistant tests
* Remove obsolete tests
* Make runin tests individually selectable
* Create _ENABLE_FW_WP setting for clarity
* fix kbd uniqueness check

BUG=chromium-os:18538
TEST=no

Change-Id: Ibcfbd21967c2b96bfec8fab17f37facd0cfc6785
Reviewed-on: http://gerrit.chromium.org/gerrit/5063
Reviewed-by: Nick Sanders <nsanders@chromium.org>
Tested-by: Nick Sanders <nsanders@chromium.org>
actory.py
456d3c115952bf1ae984770e226c5a50676b31c0 19-Jul-2011 Dale Curtis <dalecurtis@chromium.org> Upstream Autotest merge.

Merged from d9d64b855363d214996b187380532d4cc9991d29.

BUG=none
TEST=emerge autotest-tests, local server, run_remote_tests.

Change-Id: Id8cf1ef930bc0cd80347d77f2de65561be2a12a4
Reviewed-on: http://gerrit.chromium.org/gerrit/4664
Reviewed-by: Mike Truty <truty@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Tested-by: Dale Curtis <dalecurtis@chromium.org>
sdev_disks.py
arness_standalone.py
ob.py
s_dep.py
arallel.py
artition.py
eecf47d5a742e081260e885b5fd190ea5207eab5 18-May-2011 Daniel Kurtz <djkurtz@chromium.org> Make /client/bin/input a package

BUG=chromium-os:12425
TEST=none

Change-Id: Id2865d8074977ac230629845147324f619674479
Reviewed-on: http://gerrit.chromium.org/gerrit/3631
Reviewed-by: Joseph Shyh-In Hwang <josephsih@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
nput/__init__.py
ff12d4253a817372f5fe81e89bfdc2be2a9c4204 18-May-2011 Daniel Kurtz <djkurtz@chromium.org> Add linux_ioctl

This helper file is a python version of linux header:
include/asm-generic/ioctl.h

It defines constants and helper functions for defining ioctls.

BUG=chromium-os:12425
TEST=none

Change-Id: I4f39daead21e371178ff8a1959331757138e3137
Reviewed-on: http://gerrit.chromium.org/gerrit/3632
Reviewed-by: Joseph Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
nput/linux_ioctl.py
431a3815bde8aa9633322d634a9c7d2eceed21d0 18-May-2011 Daniel Kurtz <djkurtz@chromium.org> Add linux_input

This helper file is a python version of linux header:
include/linux/input.h

It defines the constants and helper functions of the linux input subsystem.

BUG=chromium-os:12425
TEST=none

Change-Id: Ifad64d063cee33536f6e4d60b05b3b213c7cb173
Reviewed-on: http://gerrit.chromium.org/gerrit/3633
Reviewed-by: Joseph Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
nput/linux_input.py
ecc7a0eae5502becdf51280b1b38109b9e421a4d 18-May-2011 Daniel Kurtz <djkurtz@chromium.org> Add input_device

Add a class for handling linux 'evdev' input devices.

By itself, this module can be run as a python version of the "evtest"
tool, or the InputDevice class can be used in other python scripts.

BUG=chromium-os:12425
TEST=(1) input_device -d /dev/input/event4
-> Display device info, and show incoming input events
(2) input_device -t
-> Auto detect a touchpad device, display its props, then show
events.

Change-Id: Ibaa14f54617f85070212347e5685d0c51598f321
Reviewed-on: http://gerrit.chromium.org/gerrit/3634
Reviewed-by: Joseph Shyh-In Hwang <josephsih@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
nput/input_device.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>
lient_logging_config.py
sdev_mgr.py
ocal_host.py
et/net_utils.py
arallel.py
f8e926205db7a22f1a74bec1e559282f3238ae27 24-May-2011 Ahmad Sharif <asharif@chromium.org> Added a better way to check for -pie default flags.

With gcc-4.6, we'll move to a wrapper script that invokes gcc and adds
default flags so -dumpspecs wont tell you whether the compiler is
hardened or not.

BUG=none
TEST=emerge-$BOARD autotest-deps-iotools w/ gcc-4.6

Change-Id: Ie069ffc9a3ba70ec0f3b9bfee2d5dcce515f4097
Reviewed-on: http://gerrit.chromium.org/gerrit/1469
Tested-by: asharif <asharif@chromium.org>
Reviewed-by: Eric Li <ericli@chromium.org>
ite_utils.py
0a99391317b5caca3d373d0bba931bcb62302566 17-May-2011 Eric Li <ericli@chromium.org> Merge autotest upstream from @5337 ~ @5360

Change-Id: Iad59314186db370f9219c3fb294b851f4e214e2e
Reviewed-on: http://gerrit.chromium.org/gerrit/1045
Reviewed-by: Eric Li <ericli@chromium.org>
Tested-by: Eric Li <ericli@chromium.org>
ob.py
6c0b70ba5fa83b57fc0bc2f6cf347b546c1bc9e8 17-May-2011 Eric Li <ericli@chromium.org> Revert "Merge autotest upstream from @5337 ~ @5360"

This reverts commit ce1b0620fddfb6efa33cc9441d9c91ce06b30de3.

Change-Id: Iab10c235ce76bfd45e7a2036ea2413729e34ae15
Reviewed-on: http://gerrit.chromium.org/gerrit/1033
Reviewed-by: Eric Li <ericli@chromium.org>
Tested-by: Eric Li <ericli@chromium.org>
ob.py
ce1b0620fddfb6efa33cc9441d9c91ce06b30de3 16-May-2011 Eric Li <ericli@chromium.org> Merge autotest upstream from @5337 ~ @5360

Change-Id: I2052380f1fb1ff952977914cb6f516a31c076aba
Reviewed-on: http://gerrit.chromium.org/gerrit/1031
Tested-by: Eric Li <ericli@chromium.org>
Reviewed-by: Eric Li <ericli@chromium.org>
ob.py
b7cb6f134057e8320cc4770173b0af236abaceeb 29-Apr-2011 Hung-Te Lin <hungte@chromium.org> autotest/factory_ui: use new console log path

This is a corresponding patch for ttp://codereview.chromium.org/6880310/
to use the new console log path.

BUG=none
TEST=(run factory test) seeing console messages properly

Change-Id: I85df586e1c4e10aadb8e5d39cc4b667bf2bffa45

R=tammo@chromium.org

Review URL: http://codereview.chromium.org/6903136
actory.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
arness.py
arness_ABAT.py
arness_standalone.py
ob.py
ob_unittest.py
arallel.py
ite_job.py
29916f2eff1806f0fcb5e15e5758583a44a3aa31 13-Apr-2011 Vadim Bendebury <vbendeb@chromium.org> Add tests for ACPI startup messages.

This CL introduces a check which verifies that all expected
ACPI related startup messages are present in the dmesg,
output and no unexpected messages are present.

The expected messages' set is platform specific, the
previously introduced Crossystem class (see
http://codereview.chromium.org/6810022) is used to
determine the platform the test is running on).

Change-Id: I32927d5c7aa84eb07d3989cf69377b7325d1f4dc

BUG=chromium-os:13937
TEST=manual

on Alex:

./run_remote_tests.sh --board x86-alex --remote 172.22.75.120 kernel_BootMessagesServer
...
INFO : Test results:
---------------------------------------------------------
kernel_BootMessagesServer PASS
kernel_BootMessagesServer/kernel_BootMessagesServer PASS
coldboot_active_mb 58
coldboot_anonpages_mb 36
coldboot_buffers_mb 3
coldboot_cached_mb 176
coldboot_inactive_mb 157
coldboot_memfree_mb 1640
---------------------------------------------------------
Total PASS: 2/2 (100%)

====================================================
./run_remote_tests.sh --board x86-mario --remote 172.22.75.17 kernel_BootMessagesServer
...
INFO : Test results:
---------------------------------------------------------
kernel_BootMessagesServer PASS
kernel_BootMessagesServer/kernel_BootMessagesServer PASS
coldboot_active_mb 45
coldboot_anonpages_mb 33
coldboot_buffers_mb 3
coldboot_cached_mb 155
coldboot_inactive_mb 146
coldboot_memfree_mb 1664
---------------------------------------------------------
Total PASS: 2/2 (100%)

No crashes detected during testing.

Review URL: http://codereview.chromium.org/6815023
ite_utils.py
e797092142d0e4627115ad7f0c1a482fc8e9312e 08-Apr-2011 Vadim Bendebury <vbendeb@chromium.org> Fix kernel testing and make it target specific.

A cherry-pick of of http://codereview.chromium.org/6810022.

This CL fixes kernel messages autotest by introducing
platform specific lists of the kernel warning and error
messages expected on startup.

Some of these messages are harmless, and some require
investigation/fixing. This CL just cleans up the lists of
accepted error/warning messages and provides for platform
specific extensions.

The recently introduced crossystem utility is the way to
deteremine system specific parameters in a platform
independent way. This CL introduces a class to represent
the crossystem reported information in a programmatic way.

The crossystem output of form 'name = value' is parsed and
placed in a dictionary. The __getatttr__() method override
allows to use object_instance.name() to access the value of
the parameter 'name'.

Instead of using exact warning/error messages' list the
regexes of messages are allowed, which is handy in
situations when messages are run time specific (use hash
values or addresses, etc.)

Change-Id: Id4c5fc930353d947d912c44150279aa94c2ea471

BUG=chromium-os:13937
TEST=manual, see below

./run_remote_tests.sh --board x86-alex --remote 172.22.75.120 kernel_BootMessagesServer
...
INFO : Test results:
---------------------------------------------------------
kernel_BootMessagesServer PASS
kernel_BootMessagesServer/kernel_BootMessagesServer PASS
coldboot_active_mb 59
coldboot_anonpages_mb 37
coldboot_buffers_mb 3
coldboot_cached_mb 177
coldboot_inactive_mb 159
coldboot_memfree_mb 1637
---------------------------------------------------------
Total PASS: 2/2 (100%)

===========================================================
./run_remote_tests.sh --board x86-mario --remote 172.22.75.17 kernel_BootMessagesServer
...
INFO : Test results:
---------------------------------------------------------
kernel_BootMessagesServer PASS
kernel_BootMessagesServer/kernel_BootMessagesServer PASS
coldboot_active_mb 48
coldboot_anonpages_mb 35
coldboot_buffers_mb 3
coldboot_cached_mb 155
coldboot_inactive_mb 145
coldboot_memfree_mb 1662
---------------------------------------------------------
Total PASS: 2/2 (100%)

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

Change-Id: I181740b8f3a4224d416ff908467641142ef06aa1
ite_utils.py
73511caac818f9aa6b94ef71f3ddbd0c6f3ee68c 31-Mar-2011 Hung-Te Lin <hungte@chromium.org> autotest/factory: improve message feedback on UI

This CL improved factory UI message feedback by:

- allowing gooftool output goes to console immediately
- provides hardware components matching results on Review screen

This CL needs to be applied with http://codereview.chromium.org/6733063
.

BUG=chromium-os:13459
TEST=Running hardware_Components on UI.
The probing verbose message now displayed progress immediately.
For "unmatched" results, the review page will list the difference.
Sample:

TestFail: No HWID matched.
Unmatched for XXX:
{'hash_ec_firmware': ['644f95ee34c79ebf833c3f6002325b33506ecf18449e9b2c574e519a2e573e6e'],
'key_recovery': ['No match'],
'key_root': ['No match'],
'part_id_3g': ['No match'],}
Unmatched for YYY:
{'part_id_3g': ['No match'],
'part_id_audio_codec': ['Realtek ALC271X'],
'part_id_cpu': ['Intel(R) Atom(TM) CPU N570 @ 1.66GHz'],
'part_id_ec_flash_chip': ['Winbond W25x40']}

Change-Id: Ie63c327a114e82f17b0601f8748f015b9be9f32c

R=tammo@chromium.org,nsanders@chromium.org

Review URL: http://codereview.chromium.org/6736025
actory.py
actory_ui
bd83cac9c74a48b325fe6806cbe33cfe1cdd8368 25-Mar-2011 Hung-Te Lin <hungte@chromium.org> atotest/factory: use gooftool as new backend for factory tests

The factory tests in autotest should hide all magic in the non-interactive
toolkits: 'gooftool'.

Because most tests are now integreated into gooftool "--finalize" stage,
a new factory_Finalize has replaced:
factory_LogVpd, factory_UploadLogs, factory_EnableWriteProtect,
factory_Verify, factory_Wipe.

Test list is modified to reflect these changes.

Other changes caused by the isolation of gooftool:
- SSD/Firmware Key Test has been moved from factory_PreFinalCheck to
factory_Finalize.
- firmware_RomSize now directly invokes flashrom command to prevent the
dependency of components inside gooftools (flashrom_util).

BUG=chromium-os:13266
TEST=built a factory image for Z* and performed full factory test.

Change-Id: I0b3e56184bc338a719a0223b1ca8b50299651118

R=tammo@chromium.org,nsanders@chromium.org

Review URL: http://codereview.chromium.org/6727024
actory_ui
5d49ebf23d86ee775c6a03b80ded17741b81203c 04-Mar-2011 Hung-Te Lin <hungte@chromium.org> autotest/factory: Interrupt tests by factory UI.

The original approach - sending USR1 to control and letting contol to
nuke the active test, may raise EINTR to any system I/O in main control,
which crashed the main control then the UI.

In the future we may change the communication channel to a file descriptor.
To minimize the impact to currect autotest framework, this CL let factory
UI to kill active tests directly.

NOTE: by that change, fork_wait_for won't raise OSError anymore so we
have to override entire function.

BUG=chrome-os-partner:2514
TEST=Verified on Alex that rapidly hitting hotkeys won't crash the UI
(tested for about 30 seconds -- without this CL, UI usually crashed
within 10 seconds)

Change-Id: I6cba16907e85d81cf8975c3fe6e6d684f0221848

Review URL: http://codereview.chromium.org/6614014
actory_ui
a82dc35ef721720e73db887d895bbd5cb835291c 23-Feb-2011 Eric Li <ericli@chromium.org> Merge remote branch 'autotest-upstream/master' into try-box1

Merged from rev @5236 ~ @5269.

This should complete the merge performed last week, with all the missed make patch file checked in.

BUG=none
TEST=
1. Manually update autotest-tests-9999.ebuild to include all new test cases under client/tests.
2. emerge-x86-generic with autotest-tests package.
3. emerge-arm-generic with autotest-tests package.
4. run_remote_tests bvt with emerged autotest against a chromeos netbook.

Change-Id: Ia8dd98af5472f38e723fa364d310dd40b06b6d58

KVM test: Remove last references to env variables on unattended setup

In the conversion from stand alone script to KVM autotest
infrastructure, we missed to convert some places inside
the code that looked for environment variables. Fix it
so providing windows CD keys gets the keys written on
the answer file again.

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

git-svn-id: svn://test.kernel.org/autotest/trunk@5269 592f7852-d20e-0410-864c-8624ca9c26a4

KVM test: Fixing migration_control.srv to use new config API

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

git-svn-id: svn://test.kernel.org/autotest/trunk@5268 592f7852-d20e-0410-864c-8624ca9c26a4

KVM test: Move enumerate test dicts code to kvm_utils.run_tests()

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

git-svn-id: svn://test.kernel.org/autotest/trunk@5267 592f7852-d20e-0410-864c-8624ca9c26a4

KVM test: encapsulate unittests build and move it to parent class

In installer.py, we realized that we could benefit from having
the unittests build in pretty much all build types, after all,
if the userspace is sufficiently new we can run the unittests,
regardless of the way the binaries were build.

Encapsulate the unittests build and install to a method and
move that method to the base installer, making all install
methods benefit from it. Just take extra care to certify
the unittests are properly linked.

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

git-svn-id: svn://test.kernel.org/autotest/trunk@5266 592f7852-d20e-0410-864c-8624ca9c26a4

Review URL: http://codereview.chromium.org/6551020
ase_sysinfo.py
ase_utils.py
ocal_host.py
d50112d03d4db77128c96331afb4dfcd86f52da5 22-Feb-2011 Hung-Te Lin <hungte@chromium.org> autotest/suite_Factory: change terminal to new default terminal, urxvt.

The factory UI needs a (any should be fine) terminal window.
Since aterm is deprecated, it's now changed to new default terminal,
urxvt.

BUG=chromium-os:12399
TEST=build a factory test image, installed on CR48, and then verified
the message log window (where the terminal lives) still works fine.

Change-Id: I35a4d287d1d3f8477fd77a72d00ea894e3df7556

Review URL: http://codereview.chromium.org/6564001
actory_ui
142ac8d70eb96a18a7ef4eadf061cdb6ea12a8a4 18-Feb-2011 Mandeep Singh Baines <msb@chromium.org> kernel_BootMessagesServer: initial add of new test

This tests verifies that there are no new kernel dmesg warnings.

BUG=12280
TEST=Verified PASS and FAIL.

Change-Id: Iff2b1f6de7ec435928170393ec85e7b8b9201b23

Review URL: http://codereview.chromium.org/6544018
ite_utils.py
8a12e800f05f6862fc39c6a45c9c57d9051b795e 17-Feb-2011 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into master.

Merged to upstream autotest @5216~@5235.

Most of the stuff are from Olof's arm cross compiling and some misc changes from Dale Curtis.

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

BUG=none
TEST=1. emerge-arm-generic autotest autotest-deps autotest-tests
2. emerge-x86-generic autotest autotest-deps autotest-tests
3. run bvt from both src/third_party and inside emerged
chroot/..usr/local/autotest.
Seems fine. No regression found.

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

Change-Id: I613929ec9c29849db5110ae8234bc68a80f4d2d5
utotest
ase_utils.py
arness.py
arness_ABAT.py
arness_autoserv.py
arness_simple.py
arness_standalone.py
arness_unittest.py
ob.py
ob_unittest.py
b910a9da27688211de1a80121ae75146b09e80a4 11-Feb-2011 Eric Li <ericli@chromium.org> Move site_backchannel and site_tpm module into client/cros dir.

And also update all import reference from anywhere else.

Change-Id: Ic32c300f25716698ed346e82b439b2c1ee0c3c9d

BUG=None.
TEST=I will defer the test of this change. The change itself is trivia but setup a test env is overwhelming.
I will leave the change to be tested in lab and I believe this is safe.

Review URL: http://codereview.chromium.org/6479003
ite_backchannel.py
ite_tpm.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
utotest
ase_sysinfo.py
arness.py
ob.py
ob_unittest.py
ernel.py
ernel_unittest.py
artition.py
etup_job_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
ernel.py
ernel_unittest.py
artition.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
ernel.py
ernel_unittest.py
artition.py
e7c4cab13a8576a4f9de41b2dc1fb8c45c97424c 05-Jan-2011 Eric Li <ericli@google.com> Change-Id: Ib50962111d0c6c07a135679d80930af4bc52915b

Move site_chrome_test, site_logging, site_log_reader,
site_crash_test into cros dir.

site_chrome_test --> cros/chrome_test
site_crash_test --> cros/crash_test
site_logging --> cros/cros_logging
site_log_reader --> cros/cros_logging
site_ui_test --> cros/cros_ui_test

I had removed site_logging module and moved its code into cros_logging, since its new name (logging) has conflict with python's logging module.

site_log_reader has also been merged into cros_logging module.

As I am touching all the files in the list, I also removed some unnecessary import to autotest_lib.client.bin.test.

Change-Id: I2c8f101a6c7a0499619e227e4cb0cfb8ceec4690

BUG=7236
TEST=run bvt and every other tests been touched from both source (third_party/autotest/files) and chroot (/build/board/usr/local/autotest)

Review URL: http://codereview.chromium.org/5740004
ite_chrome_test.py
ite_crash_test.py
ite_job.py
ite_log_reader.py
ite_logging.py
916ad7dd38f1356e35425bde0bd4a2ec521a7dea 05-Jan-2011 Chris Masone <cmasone@chromium.org> [autotest] Stop Chrome before running chrome test binaries

Just to ensure there are no weird edge cases that crop up when running
chrome's test binaries while chrome itself is running, stop the normally
running instance of chrome before running the chrome test binaries.

BUG=8544
TEST=run desktopui_BrowserTest.one, see that chrome goes away before tests start running.

Change-Id: I1f9d3df93698c412e38474ab0c261ad21f276181

Review URL: http://codereview.chromium.org/5964014
ite_chrome_test.py
02f6306f6646842db063fe46ea5bfb2e2d455c6c 17-Dec-2010 Steven Bennetts <stevenjb@chromium.org> Rplace site_ui module with ui

Change-Id: I2738374d269bab8c30af29f7394b1b6d838dbf11

BUG=chromium-os:10447
TEST=run desktopui_PyAutoFunctionalTests

Review URL: http://codereview.chromium.org/6032001
ite_chrome_test.py
f1b8908eacef72da8f148d0279bc36ee2e0233df 17-Dec-2010 Hung-Te Lin <hungte@chromium.org> autotest/factory_ui: improve performance

The period of collecting update events (0.01 second) was too short.
After some experiments, 0.2 seems to be a better number with good response
time.

With 0.01s:
Each call to state_change_handler processed only one event, so most tests
will get two or more state_change calls.

With 0.2s:
Swithing all Mario tests (start, devrec, review, final, hwid) invokes only one
time of state_change_handler. Most calls merged 2-3 events.
AutomatedSequence tests can even get 4+ events merged.

BUG=chrome-os-partner:1833
TEST=built a factory test image and verify the event processing status by
checking the log during test change (hitting Ctrl+x)
Expected: seeing "factory_ui: refresh status (merged X events)",
and usually X should be > 1.
Actually results: X=2~5. (OK)

Change-Id: I37de358aeb282d028e38140c2e76fd16a166a947

Review URL: http://codereview.chromium.org/5944002
actory_ui
8501f38f5d784611a9e3227a9124b7f28628b687 16-Dec-2010 Hung-Te Lin <hungte@chromium.org> autotest/factory tests: deprecate shared_dict and log_shared_data

By the new state server, shared_data should be handled by set_shared_data and
get_shared_data. log_shared_data is deprecated.

Also the 'shared_dict' as darg in tests should be replaced by get_shared_data.
This CL depends on http://codereview.chromium.org/5789001/

BUG=chrome-os-partner:1833
TEST=(1) built a factory image with necessary UI changes, then
verified m* factory process can complete.
(2) executed hardware_Components test without factory environment
(../../bin/autotest control) and it still passed as GOOD.

Change-Id: I435367c0468567899a2edbd7d1a9042586cecc32

Review URL: http://codereview.chromium.org/5864005
actory.py
actory_ui
cc2b9de8671f1e10921fe2846519a2e6eefb815c 16-Dec-2010 Hung-Te Lin <hungte@chromium.org> autotest/factory tests: deprecate factory_error

By the new state server and site_job, we can extract the original
factory error message, even with spaces.
The hack of factory_error is not required anymore.

This CL depends on http://codereview.chromium.org/5789001/

BUG=chrome-os-partner:1833
TEST=built a factory image with necessary UI changes, then
verified m* factory process can complete.

Change-Id: I841a544e3a000232dc656b25ad5eaad83f4421b3

Review URL: http://codereview.chromium.org/5893001
actory_error.py
e4e5344028f4738079ad29b2e9703ffdc9ce3ab2 16-Dec-2010 Hung-Te Lin <hungte@chromium.org> autotest/factory: Apply new factory_state into factory test framework

This CL makes all necessary change for factory tests to use the new state server.

This CL depends on the state server change
http://codereview.chromium.org/5784002/

BUG=chrome-os-partner:1833
TEST=build a factory image with new state server changes,
and verified m* factory test can be successfully performed.

Change-Id: I5e66e03ec8589b7f8d38958e272d38a6b9d1b7ba

Review URL: http://codereview.chromium.org/5789001
actory.py
actory_state.py
actory_ui
actory_ui_lib.py
ite_job.py
1a6b7429139ef5e6ec7d7d016930d479bfd4af48 16-Dec-2010 Hung-Te Lin <hungte@chromium.org> autotest/factory: add new "factory state server" to replace log parsing

The test status and shared data are now maintained by a standalone server.
It helps to make the factory test more stable and easier to maintain.

Related changes to activate the server are in http://codereview.chromium.org/5789001/

BUG=chrome-os-partner:1833
TEST=built a factory image with necessary UI changes, then
verified m* factory process can complete, and recoverable from
a power-failure crash.

Change-Id: I9ef008b1ba1c6f64ad863be116b21ca5839508a1

Review URL: http://codereview.chromium.org/5784002
actory_state.py
dee4e299130cb714b4bc4200302c7a3ddce2f081 15-Dec-2010 Ken Mixter <kmixter@chromium.org> autotest: Test that logs can be sent when processes crash

Change-Id: I6a92c2251bc16f06d4506c1218cf9f63bf608f24

BUG=9176
TEST=UserCrash,CrashSender

Review URL: http://codereview.chromium.org/5763003
ite_crash_test.py
c4d8f4aab4e434fcb1a9fb33931768ffebfb8f1c 10-Dec-2010 Eric Li <ericli@google.com> Move site_httpd, site_uim, site_login and site_cryptohome into cros/ dir.

And change import site_utils to import utils as I touched more source code.

Change-Id: I18bbac502c67ddedaccc7ef034c4f8c8b204506e

BUG=7236
TEST=BVT

Review URL: http://codereview.chromium.org/5680003
ite_cryptohome.py
ite_login.py
f8fc31a1686d7aace0b4b07156d4d6fcb210cf27 10-Dec-2010 Hung-Te Lin <hungte@chromium.org> autotest: job.run_test should return the results.

Fixing regression introduced by http://codereview.chromium.org/4686003.

BUG=chromium-os:8159
TEST=built a factory image and executed tests, seeing it works fine

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

Change-Id: Ibcd2d7123cb5f8248df270c0ad7941dd8156284b
ite_job.py
a01de4742551ae18a185b1ffe5d9ac9f4470b58f 10-Dec-2010 Hung-Te Lin <hungte@chromium.org> autotest/factory: fine tune sidebar menu hot-key appearance.

Changed hot key label to:
- display hot key to capital as "C-A"
- Use Arial and remove italic style
- Add extra space around label

BUG=chrome-os-partner:1626
TEST=patched into a factory image and verified the "C-x" becomes "C-X" on sidebar menu

Change-Id: Ib2bd67c7b12311998d3d51ac8d714ec97f5bd970

Review URL: http://codereview.chromium.org/5652004
actory_ui
f93f65e5816c21fef8479331444784b0099ec247 10-Dec-2010 Darin Petkov <petkov@chromium.org> Switch UI tests to use BWSI mode by default.

This allows us to isolate login/cryptohome issues from other issues. Also,
switch some specific tests to use real login rather than BWSI. Some tests need
to be switched explicitly into the new None/BWSI credentials but this would be a
follow on CL.

BUG=10173
TEST=run_remote_test suite_Smoke, bvt

Change-Id: I87e1f39ad648bcb60ece798928f9bf19f5b41e33

Review URL: http://codereview.chromium.org/5682005
ite_login.py
433fba4453ea486498a6e6d8a62104e2b89a2195 10-Dec-2010 Tammo Spalink <tammo@chromium.org> When a test fails, shortcut to the review screen.

BUG=chrome-os-partner:1629
TEST=manual(let a test fail, verify control goes to review)

Change-Id: I39857bc81895292d8816a79567665d9d47ab6109

Review URL: http://codereview.chromium.org/5621009
actory.py
cb6a91adb049e9d5fe42a9adc4e570a988203e65 09-Dec-2010 Eric Li <ericli@google.com> Move site_ui_test, site_auth_server and site_dns_server into client/cros.

And fall back import site_utils into import utils, since there need to directly import site_utils at all.
import site_utils is taken care inside utils.

Change-Id: I4bb989c0fb636efd57ae1af185fd8e6fa6067463

BUG=7236
TEST=bvt and regression tests.

Review URL: http://codereview.chromium.org/5649004
ite_ui_test.py
9da65c483ef9368379f8918c17fd4ede63b887cf 07-Dec-2010 Eric Li <ericli@google.com> Revert "Revert "Create a cros directory under client, and start moving things into it.""

This reverts commit 985a034fc1fdec67841dd73d1913b0020e689423.

Resubmit http://codereview.chromium.org/5519008/
along with http://codereview.chromium.org/5568008/ this time.

Change-Id: I1b5b10ba3e4f9b13e0632cd45f27210bcb13b2a0

TBR=seano
hromeos_constants.py
ite_cryptohome.py
ite_log_reader.py
ite_logging.py
ite_login.py
ite_sysinfo.py
ite_ui_test.py
985a034fc1fdec67841dd73d1913b0020e689423 07-Dec-2010 Sean O'Connor <seano@chromium.org> Revert "Create a cros directory under client, and start moving things into it."

This reverts commit 4b1222e930ef86507beb7232e7b7400d043f95ba.

Looks like something broke with autotest module imports in ericli's renaming CL.

the preflight smoke test complained:

Running client test client/site_tests/suite_Smoke/controceback (most recent call last):
File "./server/autoserv", line 35, in <module>
from autotest_lib.server import server_job, utils, autoserv_parser, autotest
File "/build/x86-generic/usr/local/autotest/server/server_job.py", line 11, in <module>
from autotest_lib.client.bin import sysinfo
File "/build/x86-generic/usr/local/autotest/client/bin/sysinfo.py", line 6, in <module>
"site_sysinfo", base_sysinfo.base_sysinfo)
File "/build/x86-generic/usr/local/autotest/client/common_lib/utils.py", line 1412, in import_site_class
res = import_site_symbol(path, module, classname, None, modulefile)
File "/build/x86-generic/usr/local/autotest/client/common_lib/utils.py", line 1376, in import_site_symbol
module = import_site_module(path, module, modulefile=modulefile)
File "/build/x86-generic/usr/local/autotest/client/common_lib/utils.py", line 1358, in import_site_module
return __import__(module, {}, {}, [short_module])
File "/build/x86-generic/usr/local/autotest/client/bin/site_sysinfo.py", line 5, in <module>
from autotest_lib.client.cros import constants as chromeos_constants
ImportError: No module named cros

BUG=
TEST=

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

Change-Id: I440b4e1df68bad73d0592870653c94c55a1a6b8d
hromeos_constants.py
ite_cryptohome.py
ite_log_reader.py
ite_logging.py
ite_login.py
ite_sysinfo.py
ite_ui_test.py
4b1222e930ef86507beb7232e7b7400d043f95ba 07-Dec-2010 Eric Li <ericli@google.com> Create a cros directory under client, and start moving things into it.
The first step only includes chromeos_constants.py. But you get the idea how the others will look like.

Change-Id: I0a601a53e4d9a43f06e9f9f67429ac780f2562d0

BUG=7236
TEST=bvt test

I dont worry too much about occasional break ups caused by this, since I will continues working on this refactoring and this is just the beginning.

Review URL: http://codereview.chromium.org/5519008
hromeos_constants.py
ite_cryptohome.py
ite_log_reader.py
ite_logging.py
ite_login.py
ite_sysinfo.py
ite_ui_test.py
538b704621d22836e8e627b43f6df76408be3843 04-Dec-2010 Eric Li <ericli@google.com> This is the first CL to refactor autotest to move all cros related modules into a cros dir.

Change-Id: Ib729f30aea39f9fa6ba6519b5baec6babea1f01d

BUG=7326
TEST=run server/autoserv --image= with both client and server sleeptest.

Review URL: http://codereview.chromium.org/5626007
ocal_host.py
1904d00cebc4212cf929ce6900197407b1990ca8 01-Dec-2010 Thieu Le <thieule@chromium.org> Add support for saving VM state after test failure

BUG=chromium-os:9577
TEST=Run suite_Smoke with failure and without failure, load VM state to
ensure correctness

Change-Id: I342fd7077f35fa908f0d4e90f7c27e83f2992b07
Change-Id: I385a9614ed6ce953f33ad1830e0f566451903dd7

Review URL: http://codereview.chromium.org/5303005
ite_job.py
ite_utils.py
54fdf45c9b708c5f5dc7aec78d29e23969ffa38c 26-Nov-2010 Hung-Te Lin <hungte@chromium.org> autotest/factory_ui: fix crash loop on failure

There are multiple bugs resulting the infinite loop
- typo for "factory.log" as "log"
- syntax error of shared data when factory.log is corrupted
- UI process should be terminated when suite_Factory control is terminated
- suite_Factory control should never return as "not test to run" (this should
be fixed by a stable state service, but currently we solve this by a hack of
always enabling the review test to run)

BUG=chrome-os-partner:1624
TEST=When system falls into infinite crash state (by rebooting with Review as active test), applying this fix makes it always running Review test instead.

Change-Id: I601852ab2037e89f9e753e0aebba48eb681da303

Review URL: http://codereview.chromium.org/5382002
actory.py
actory_ui
7fc5e6f148aab72149cfc444383b03f513fbd430 26-Nov-2010 Tammo Spalink <tammo@chromium.org> Fix "bug: sequence status mixes old and new state".

Actually pay attention to the iteration count when processing
the status for automated sequences. Before this was the
intention, but that code never executed.

BUG=chrome-os-partner:1623
TEST=manual

To test:

Define an automated sequence, say A B C, such that A and B pass
but C always fails. Before if you run the seq a second time, it
will not run B because it sees the prev C failure. Now it should
always run all test on each repeated call.

Change-Id: I681095c9ca050292a38087e622230593e504dcbe

Review URL: http://codereview.chromium.org/5353002
actory.py
4446e6da3dd9be90f9d35d0370ef66f16a984ec5 23-Nov-2010 Ken Mixter <kmixter@google.com> autotest: Test RestartEntd dbus call

Change-Id: I0d921661416e22d65781b98b19950dbe2e6861a7

BUG=9282
TEST=login_DBusCalls and smoke suite

Review URL: http://codereview.chromium.org/5216005
hromeos_constants.py
497c2cb36da212dead15ff38e58cee42381f6151 16-Nov-2010 Dale Curtis <dalecurtis@chromium.org> With the upcoming changes to make /home/autotest a mount pt for /mnt/stateful_partition/autotest, using os.rename in logging_CrashSender causes "OSError: [Errno 18] Invalid cross-device link". I've switched these calls to use shutil.move instead.

Change-Id: I554b27e4c649867481e9aee76bd752ca90dcf582

BUG=chromium-os:8336
TEST=Ran test with new framework. Verified pass.

Review URL: http://codereview.chromium.org/5041001
ite_crash_test.py
8d4049e1402ad0c9d2b1aa367983a985d3334b5b 16-Nov-2010 Eric Li <ericli@chromium.org> Capture chrome version into sysinfo log.

Change-Id: Ic35b7e56d5252c2b2d617ee21b7ef1cf81e1db60

BUG=
TEST=

Review URL: http://codereview.chromium.org/4969002
ite_sysinfo.py
e0493a4af57c1a73376a7bafaed542c01f588196 15-Nov-2010 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into tempbranch

BUG=
TEST=

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

Change-Id: I5d56f1c10d0fce7f9d7dc3ad727ea52dcb9b2d6c
puset.py
ob.py
ernel.py
ernel_unittest.py
artition.py
c18e883438c6c73d13a7ffbedb75ad881d06228a 15-Nov-2010 Chris Masone <cmasone@chromium.org> [autotest] Change ChromeTestBase to work with pre-installed chrome test binaries.

Instead of pulling chrome test binaries as a dep (which takes too long on VMs),
we'll be pre-installing them on test images. Update the ChromeTestBase class
to expect this new behavior.

BUG=8544
TEST=Build a test image with chrome > -r35, run desktopui_BrowserTest

Change-Id: I013b689b4ad7fe5e47760312da573a9a2b29d669

Review URL: http://codereview.chromium.org/4557002
ite_chrome_test.py
9a5bf359754af594b3bc62840505be1f2f1b7fec 13-Nov-2010 Eric Li <ericli@chromium.org> Disable sysinfo log on /tmp since it is pretty big and seems uninterested to us.

Change-Id: Ia8be8469094116aca05694bbcdfa0a19a2411b12

BUG=
TEST=

Review URL: http://codereview.chromium.org/4939001
ite_sysinfo.py
b1aeebfeae3da3f1f4d2176b29ee4f5a3d5172f8 12-Nov-2010 Daniel Kurtz <djkurtz@chromium.org> Remove log_watcher.py, and modify site_login and site_ui_test to use site_log_reader.

BUG=chromium-os:8281
TEST=Regression check: all tests of suite_Smoke should pass as before, in particular:
login_CryptohomeMounted
login_LoginSuccess
login_BadAuthentication
desktopui_ChromeFirstRender
login_CryptohomeIncognitoMounted

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

Change-Id: I4269b5391cdde291ad0d4a06b8ccc83e863aae54
ite_login.py
ite_ui_test.py
74314be6920031c2fa81ad460b8f0f8615834337 11-Nov-2010 Daniel Kurtz <djkurtz@chromium.org> site_ui_test: make DNS debug messages more clear

Current debug messages were a bit hard to distinguish,
and duplicated between use_local_dns and revert_dns.

Also, it might be clearer, and future-proof, to use the interface names (eth0, wlan0)
rather than just 'ethernet' or 'wifi'.

BUG=chromium-os:9081
TEST=suite_Smoke

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

Change-Id: I5682374317db76b68b75449f3fc49184bd94fdd3
ite_ui_test.py
fa61689967461297dc51565a51f4061312cb0f7d 11-Nov-2010 Ken Mixter <kmixter@chromium.org> autotest: Disable log rotation while tests are running

Change-Id: I04f397d22581048ef4d66aa24d7be1874d1aa83f

TEST=Rotate logs every second while running bvts
BUG=8159

Review URL: http://codereview.chromium.org/4686003
hromeos_constants.py
ite_job.py
ite_log_reader.py
ite_logging.py
d79bea0a1d57d37e3f72648c7f9ddbe34dec3e73 09-Nov-2010 Thieu Le <thieule@chromium.org> Change tests to wait for login prompt before attempting to login

BUG=8894
TEST=power_LoadTest, Suite_Smoke

Change-Id: Icf8e9395def39b358d95018f7da041739180bf5d

Review URL: http://codereview.chromium.org/4725001
ite_ui_test.py
2f3b34b10fc6e981359f5c4bf660eee609e23a63 03-Nov-2010 Hung-Te Lin <hungte@chromium.org> autotest/factory: sync factory changes from 0.9.75B_factory back to ToT

This is a merge from https://chromereview.prom.corp.google.com/1667015/show
into ToT for new factory test image release.

TEST=manually applied on a ToT factory build and tested with a reduced
minimal test list, with modification to match local environment.
BUG=chrome-os-partner:1061,1256,1553

Change-Id: I06b09463bc4de9652334dc0efe4c8bf4c41e4ef9

Review URL: http://codereview.chromium.org/4103009
actory.py
ddcd92db63c488cafd062384ebdce4b43d4c6de8 02-Nov-2010 Ken Mixter <kmixter@chromium.org> autotest: Make crash tests resilient to builds with high ambient crash rates

Change-Id: I1d7dadf109f129a087cb50bcc1c452f6d6f7d02f

BUG=8415
TEST=Run tests with 10Hz ambient crash rate

Review URL: http://codereview.chromium.org/4185011
ite_crash_test.py
1e1c305342044b260a08ba4d2f1cff17b3683f8e 02-Nov-2010 Eric Li <ericli@chromium.org> Exclude autoserv directory while sysinfo logs /tmp.

autoserv directories are created by autoserv process and should be excluded.

Change-Id: Iec5bbe8603e91de3014d01c457a2d8e77ddab996

BUG=
TEST=

Review URL: http://codereview.chromium.org/4222003
ite_sysinfo.py
1aee8cc0bb9c089521c43e3198cd40214c7a4de6 01-Nov-2010 Ken Mixter <kmixter@chromium.org> autotest: Fix site_sysinfo to enable KernelCrashServer to succeed again

We were making /var/spool/crash and /home/chronos/user/crash be
purgeable logdirs that meant they were grabbed and removed before and
after every test. Unfortunately kernel crash testing requires us to
run a client test after a kernel panic has occurred and analyze the
crash directory which was already removed. Only copy off and purge
those directories after running.

Change-Id: I42f8d04a3710d1444a13a91e5b930c1ccc77f22e

BUG=8485
TEST=bvts, KernelCrashServer

Review URL: http://codereview.chromium.org/4230002
ite_sysinfo.py
10c4867928faa0bcc05337568674e33fb375c48d 01-Nov-2010 Ken Mixter <kmixter@chromium.org> autotest: test sig is set correctly

Change-Id: Ifceef4aa4b13342788fedc47a275b23379c40f20

BUG=8466
TEST=User/KernelCrash and CrashSender tests

Review URL: http://codereview.chromium.org/4168011
ite_crash_test.py
1692afdfe049297e9658c47d2de337af4172afcc 01-Nov-2010 Eric Li <ericli@chromium.org> Enable more flexible flimflam test package importing.

If you look at autotest tar ball coming out of buildbot now, you wont see src directory under desktopui_SunSpiderBench and V8Bench, and maybe some others.

This is because they were not properly prebuild on buildbot. And subsequently they will fail to run inside test lab.

Why autotest/buildbot does not report this problem promptly? That is a different issue and I will chase it separately.

The root cause is flimflam test package is installed at different location within CHROOT and on the real device.

Change-Id: If9d7ef9dac31d5d75342e201f1b084664bccdb3c

BUG=chromium-os:8229

TEST=emerge autotest and run_remote_test with these two test cases.

Review URL: http://codereview.chromium.org/4160008
ite_ui_test.py
d5b63872ceeb2bc62f3e0e115a24f71a2e3c2767 01-Nov-2010 Chris Masone <cmasone@chromium.org> Make our http(s) server multithreaded

A user-agent like chrome may make simultaneous connections to an HTTPS server, and then send data only on the one that the server believes to be the second. If the server is blocking waiting for data on the first connection, it gets hung. Our test https server was doing just that. So, make it multithreaded.

Change-Id: I537fb633e236b826f85752b206397831b9124ea8

Revert "[autotest] Temporarily remove login tests from suite_Smoke"

This reverts commit 353c17eba46b80c19b15e8a9c0a8635619f3262f.

BUG=8383
TEST=suite_Smoke (with login tests added back in) works again!

Review URL: http://codereview.chromium.org/4205006
ite_login.py
c369182c95b7d944da675870f14a152b8dbc1658 30-Oct-2010 Eric Li <ericli@chromium.org> Since autotest will archive the crash log directory every test, remove them will prevent them to be archived multiple times.

Change-Id: Ic9772231939afaf231cbac0a3be4b13a2ceada04

BUG=
TEST=

Review URL: http://codereview.chromium.org/4110006
ite_sysinfo.py
0f263836232c7d2f231b7466ad1bde4843ca5190 29-Oct-2010 Elly Jones <ellyjones@google.com> autotest: network_3GSmokeTest: work!

1) Use 'route -n' instead of 'route' to look up our gateway; 'route' will
truncate the gateway's name.
2) Use /sbin/backchannel instead of /sbin/backchannel-setup; the former is
intended for repeated temporary use instead of once at boot.
3) Tear down the backchannel when we're done; this addresses 7786.
4) Look for flimflam's libraries in the right place.

BUG=chromium-os:7786
TEST=Adhoc
Run it; it may not pass, but it should not hang.

Change-Id: Ida09c813bb7ed6fbfa68d788a949042089dbb7f6
Signed-off-by: Elly Jones <ellyjones@chromium.org>
Signed-off-by: David Rochberg <rochberg@chromium.org>

Review URL: http://codereview.chromium.org/4020003
ite_backchannel.py
1a894e00f6b54ccb109460af0df3e0a2f542c84b 29-Oct-2010 Ken Mixter <kmixter@chromium.org> autotest: Test new crash_reporter error diagnostics

Change-Id: Ie3d8b05e2eed24bd6e70b1e45ab15fc21b34688a

BUG=6299,7782
TEST=Run these tests

Review URL: http://codereview.chromium.org/4113004
ite_crash_test.py
b7b97c78f42eef90e3f66ddc454ab1e1f952f7ef 27-Oct-2010 Eric Li <ericli@chromium.org> It call wait_for_condition() inside of wait_for_initial_chrome_window instead of utils.poll_for_condition().

This bug caused the test to throw out this exception:

Traceback (most recent call last):
File "/home/autotest/common_lib/test.py", line 414, in _exec
_call_test_function(self.execute, *p_args, **p_dargs)
File "/home/autotest/common_lib/test.py", line 607, in _call_test_function
raise error.UnhandledTestFail(e)
UnhandledTestFail: Unhandled TypeError: unsupported operand type(s) for +: 'float' and 'LogWatcher'
Traceback (most recent call last):
File "/home/autotest/common_lib/test.py", line 600, in _call_test_function
return func(*args, **dargs)
File "/home/autotest/common_lib/test.py", line 286, in execute
postprocess_profiled_run, args, dargs)
File "/home/autotest/common_lib/test.py", line 207, in _call_run_once
self.run_once(*args, **dargs)
File "/home/autotest/tests/desktopui_WindowManagerFocusNewWindows/desktopui_WindowManagerFocusNewWindows.py", line 49, in run_once
site_login.wait_for_initial_chrome_window()
File "/home/autotest/bin/site_login.py", line 297, in wait_for_initial_chrome_window
'Chrome crashed before first tab rendered.')
File "/home/autotest/bin/site_utils.py", line 30, in poll_for_condition
if time.time() + sleep_interval - start_time > timeout:
TypeError: unsupported operand type(s) for +: 'float' and 'LogWatcher'

Change-Id: I447800504448112ae8999b3810115efc9ef4b45e

BUG=
TEST=run_remote_test with desktopui_WindowManagerFocusNewWindows test and desktopui_WindowManagerHotkeys test

Review URL: http://codereview.chromium.org/4182005
ite_login.py
d79140e4dc6a01d1605e68cce5bcc62cba4e660d 26-Oct-2010 Ken Mixter <kmixter@chromium.org> autotest: Test new kernel signature generation

BUG=5868
TEST=Ran these tests

Change-Id: I026d3f74b73ae5d437ba4f1fbdfffe600fa497c0

Review URL: http://codereview.chromium.org/4000005
ite_crash_test.py
1f4bfb7fc1afc4d98e43b746df13700c787ce5d0 22-Oct-2010 Chris Masone <cmasone@chromium.org> [autotest] surface crashes that occur during tests

BUG=7936
TEST=Run an autotest on a VM, ssh in and use pkill -SEGV to crash something (cashewd or chrome, for example). In the first case, you should see the test succeed but pring an INFO line saying cashew crashed. In the latter case, if you manage to cause the test to fail due to chrome crashing, the test should FAIL and print out that chrome crashed.

Change-Id: I9c6b3b429a8137c3c97c19835d9c879475eea8d9

Review URL: http://codereview.chromium.org/4024006
ite_login.py
ite_ui_test.py
ca4b31cd101f4d957977cff867689e01cb30cf56 22-Oct-2010 Eric Li <ericli@chromium.org> Add support to capture the entire log dir from a chromeos device.

For later analysis purpose. Hopefully this could help better understanding some of the failures reported on cautotest server.

Change-Id: Iefa2359b810642e7172814093f2abb68e1f63a17

BUG=
TEST=

Review URL: http://codereview.chromium.org/3976002
ase_sysinfo.py
ite_sysinfo.py
654f32ee896472a15136bea76871081329a482ee 20-Oct-2010 Ken Mixter <kmixter@chromium.org> autotest: Fix 2 more logging_CrashSender races and re-enable in smoke.

BUG=7765
TEST=Run logging_CrashSender 1000 consecutive times successfully on hardware

Change-Id: Idf896e19b06a297c29bc3c338aab625eeb4c7f4d

Review URL: http://codereview.chromium.org/3917003
ite_crash_test.py
01d3c6edb4c352e83cd491bfdaf1aed5595727be 19-Oct-2010 Darin Petkov <petkov@chromium.org> Import flimflam's test modules from /usr/local/lib rather than /usr/lib.

BUG=7856
TEST=inspected that flimflam's test scripts are under /usr/local/lib now.

Change-Id: I195a62080de3e58ed23b0386dbb47ab5dc948c2b

Review URL: http://codereview.chromium.org/3799009
ite_ui_test.py
c70183a06b11aec41d638c6f6995acf7244cd16d 19-Oct-2010 Chris Masone <cmasone@chromium.org> [autotest] remove ownership state, THEN restart the browser

I was cleaning up ownership state after restarting Chrome and the
session manager, so I was winding up with an inconsistent notion of
the ownership status of the device. This led to deciding taht the
owner's private key had been lost incorrectly.

BUG=chromium-os:7884
TEST=suite_Smoke

Change-Id: Ia47f79dadddb3a36decc1da5c8d827baebd416e4

Review URL: http://codereview.chromium.org/3754009
ite_login.py
ite_ui_test.py
4f6196537d15556c6256899faaefd37e63a6d489 18-Oct-2010 Ken Mixter <kmixter@chromium.org> autotest: fix race condition between cron crash_sender and test invoked

Change-Id: I0c77f5b18d37a6086f3e05b0dae4de2ed5be245a

BUG=7765
TEST=CrashSender UserCrash

Review URL: http://codereview.chromium.org/3856002
ite_crash_test.py
81bb240b45c6d08764a34f38d0eb7292a58b18d7 15-Oct-2010 Chris Masone <cmasone@chromium.org> Remove stale ownership state before each test

Change-Id: I1473c42c3eb7e303b220e743a008303d9c4c6f60

BUG=7087
TEST=run suite_Smoke on a VM

Review URL: http://codereview.chromium.org/3838001
hromeos_constants.py
ite_login.py
ite_ui_test.py
ffd4121c3289f2478a9b694c49fba1105cab34ca 15-Oct-2010 Mandeep Singh Baines <msb@chromium.org> Increase timeout for cryptohome from 30 to 60 secs

VMs take longer to boot and login.

BUG=7802
TEST=none

Change-Id: I22bc44b97bab822c43f9e81f41d553938b9777eb

Review URL: http://codereview.chromium.org/3757005
ite_login.py
56f2b7113285e86624c8d7f98b33a560e41982a6 15-Oct-2010 Luigi Semenzato <semenzato@google.com> Don't run the trousers tests that fail.

Change-Id: Ibc64c6fa5a1b1ec270d7f8b84413321193cb56e7

BUG=chrome-os-partner:332
TEST=ran the test

Review URL: http://codereview.chromium.org/3706007
ite_tpm.py
8c83e3327416d318aa265bafedc61adad3ca382f 07-Oct-2010 Chris Masone <cmasone@chromium.org> [autotest] Remove created cryptohome as a part of test cleanup.

With the new parallel login, if we have a cryptohome on-disk that we
can mount, login succeeds -- even if online login is going to fail.
Thus, in order to force the BadAuthentication tests to continue to
test the same code pathway in the new code that they're testing in the
old code, we need to make sure that we have no cryptohome on disk for
the test user.

BUG=chromium-os:4929
TEST=BVT

Change-Id: I40df641c7b2794fb0567f03703cf9400a5f8109d

Review URL: http://codereview.chromium.org/3571016
ite_ui_test.py
67ff5623731b66908668bb3433f473523a3a9fcd 01-Oct-2010 Ken Mixter <kmixter@chromium.org> autotest: Test new meta files in crash directory

Change-Id: I01f6dd829ba470934b27d0d9cc7756c0f2e6b1ed

BUG=6100,5805,5624,6865
TEST=These tests pass

Review URL: http://codereview.chromium.org/3454023
ite_crash_test.py
e5d8fd038ec1f9513d0e4365a0e6709bfc97a2c1 30-Sep-2010 Sean O <seano@chromium.org> Refactor platform_CryptohomeTestAuth + add testcase.

Also add functionality and cleanups to site_cryptohome lib.

Change-Id: I250e998ab8bcc6e35da314311a929c2b1c24c40d

Fix test.

Change-Id: Ie200a5bfcc1114c7528ba075ec53e5ea5e6ecf3d

Initial refactoring of platform_CryptohomeTestAuth

Change-Id: I819a62844b4b1d63c30f5b2fd4f497e808ea3cc9

BUG=
TEST=ran manually on my dev box.

Review URL: http://codereview.chromium.org/3525003
ite_cryptohome.py
be760a1603fda89685b6684488baa1b71eb092ff 30-Sep-2010 Eric Li <ericli@chromium.org> Revert "Testcase for Issue 6965 - Login on top of previously mounted cryptohome."

This reverts commit 1e5db6ab5e1178224b02355bf8a6ee5762a6f477.

Change-Id: I062bc996c86356be9e853662093c4e2622a1b6aa

BUG=
TEST=
TBR=seano@chromium.org
ite_cryptohome.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
ob.py
ernel.py
ernel_unittest.py
artition.py
1e5db6ab5e1178224b02355bf8a6ee5762a6f477 29-Sep-2010 Sean O <seano@chromium.org> Testcase for Issue 6965 - Login on top of previously mounted cryptohome.

Change-Id: Ia2e876bee125e47f0a73018f725f5356e5e4ccc4

BUG=chromium-os:4288
TEST=Ran using run_remote_tests against my dev netbook.

Review URL: http://codereview.chromium.org/3382028
ite_cryptohome.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
ob.py
ernel.py
ernel_unittest.py
artition.py
7a0e9d4a32182a5e2a585ec5e8e8985cc846d30f 29-Sep-2010 Paul Stewart <pstew@chromium.org> Exported utility functions for RTC and system sleep

Converted the suspend and RTC functions from module methods
in bin/base_utils.py to separate modules in common_lib/ which
have no cross dependencies. The downside to this apprach is
that we don't use utils.run() to call powerd_supspend, which
loses us a little logging. This will allow otherse to use
these modules in non-autotest-embedded test scripts.

BUG=none
TEST=rerun power_Resume test using run_remote_tests, manually grep
for all moved function names in the rest of the autotest source tree.

Review URL: http://codereview.chromium.org/3516004
ase_utils.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
ob.py
ernel.py
ernel_unittest.py
artition.py
e1fc460322ce37e47a8f5d9b457e498336997bde 24-Sep-2010 Ken Mixter <kmixter@chromium.org> autotest: Stash away cryptohomed.log to help diagnose login issues

Change-Id: I8333131a9d88162792bd5865ba2c3ef8123db34f

BUG=6883
TEST=Ran desktopui_ChromeFirstRender, verified cryptohomed.log in results

Review URL: http://codereview.chromium.org/3448023
hromeos_constants.py
ite_ui_test.py
e29978a48ab5db87aa152450af7803b6a2f8537f 22-Sep-2010 Che-Liang Chiou <clchiou@chromium.org> Replace newline characters with "<br/>" in factory tests when raising test error exceptions, and replace them back to "\n" in factory_Review.

This patch should make the status file easier to parse.

BUG=chrome-os-partner:1080
TEST=manual

Change-Id: Ide8389dcbf302af15ccea73b08a5f16dab01dd73

Review URL: http://codereview.chromium.org/3438007
actory_error.py
34c068ee3383aadc4117be4e08287a7a1ccbfa7e 16-Sep-2010 Zelidrag Hornung <zelidrag@chromium.org> Base test class for chrome tests
Simplifies wrapping of existing chrome tests for autotest environment.

Change-Id: Ifd7fb3aae48fc080ea3f67e13aaff3a7f9d5ffda

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/3403006
ite_chrome_test.py
24700b442ddab62db896767e98632ede0b21b6af 09-Sep-2010 Chris Masone <cmasone@chromium.org> [autotest] Grab more chrome logs, not just the last one, to hedge against crashes

There are still some "Timed out waiting for login" failures on the
BVT, always in desktopui_ChromeFirstRender for some reason. These
failures also seem to have empty chrome logs for some frustrating reason.
This change clears out old chrome logs when we restart the browser before login
and then just grabs ALL the prelogin chrome logs at the end of the test.

BUG=None
TEST=BVT

Change-Id: Icc0122d8dd7e5abd505e4affdc3e50bfaaeb4575

Review URL: http://codereview.chromium.org/3338019
ite_login.py
ite_ui_test.py
c4c4ba0477e7f29b5bb48c77fc6ccf67b153cbea 09-Sep-2010 Hung-Te Lin <hungte@chromium.org> fix: factory framework member name change

BUG=none
TEST=none

Change-Id: If87e567c2cd4c506009a73444c3b702a32467b5b

Review URL: http://codereview.chromium.org/3351019
actory.py
59ee3968ad125cd28da879aadf0d98929c072e43 09-Sep-2010 Tammo Spalink <tammo@chromium.org> Fix Wipe.

Change-Id: If0a006f2e3d1f2583f7dd8fc65381fb56661e2de

BUG=
TEST=

Review URL: http://codereview.chromium.org/3348016
actory.py
971eb504ada6ec93d931d6511b76c63bf7957851 07-Sep-2010 Tammo Spalink <tammo@chromium.org> Fix status reporting and auto-seq logic.

BUG=chrome-os-partner:921

Change-Id: I547ef320d942504b839125a9aa4e9aeff8f21d99

TEST=

Review URL: http://codereview.chromium.org/3340013
actory.py
actory_ui
f9d247ae48ffa5b228dcc86fca24d3f18c088305 03-Sep-2010 Chris Masone <cmasone@chromium.org> Poll X server for login prompt, in addition to watching file system

Again, I generally can't repro the race conditions that lead to our
tests failing to login sometime, but this change adds another layer of
checking to help avoid the race that sometimes leads to us attempting
to login when the prompt isn't there yet.

BUG=chrome-os-partner:711
TEST=BVT

Change-Id: Ia18294b70687bf79f6d826771fb16b80d6106bb6

Review URL: http://codereview.chromium.org/3342011
ite_login.py
210c75e7f55e456c4bd557c1d4f459d0fcb4274a 02-Sep-2010 Tammo Spalink <tammo@chromium.org> Fix waiting for ui on reboot.

Change-Id: If97bc2bf95eea06efac85a78d7cacec345cb80cd

BUG=chrome-os-partner:921
TEST=

Review URL: http://codereview.chromium.org/3365003
actory.py
actory_ui
267c00b1f853c51bc5df2faec3d14e85e6b385a9 31-Aug-2010 Sean O <seano@chromium.org> Cleanups to test updater code. Handle service restart better, copy update-engine logs after tests.

Change-Id: Ie5bd40996753bfd4c27ab2ba34d5fd525b1566f6

Review URL: http://codereview.chromium.org/3257003
hromeos_constants.py
ite_sysinfo.py
f8788e808b4aeee136f0695d893bf7b61076efd3 31-Aug-2010 Chris Masone <cmasone@chromium.org> [autotest] Ensure that we clear /tmp/uptime-login-prompt-ready before starting a new test

This change should help ensure that we don't think the login prompt is up and ready for input before it's really up and ready.

BUG=chrome-os-partner:711
TEST=run BVT

Change-Id: I17ef715ea6527757c124f8d53c6ca1320cb1e140

Review URL: http://codereview.chromium.org/3213006
ite_login.py
23df3eb17dc0f0bf6211b6a8a97071c1a9784bda 28-Aug-2010 Chris Masone <cmasone@chromium.org> [autotest] Fix chrome log collection

BUG=None
TEST=run desktopui_ChromeFirstRender (do "TESTS=desktopui_ChromeFirstRender emerge-x86-generic autotest autotest-tests" first, or you won't pick up the changes to site_ui_test.py!)

Change-Id: Icb366bbac87868eda3b14928058f1c4c8a631585

Review URL: http://codereview.chromium.org/3234004
hromeos_constants.py
ite_ui_test.py
bf36ce86708cb3d320a8ba931b994707aaadf31e 28-Aug-2010 Ryan Cairns <rtc@chromium.org> Creates a suite for tests that will be run in a VM and fixes a bug in site_login

Change-Id: I391039ca4d60bd067ecfa1936a6b65ef57b693fe

BUG=5518
TEST=Tested in qemu and all listed tests pass.

Review URL: http://codereview.chromium.org/3252002
ite_login.py
ac2421a48c30437aca7178a0c89dea69559f2153 27-Aug-2010 Tammo Spalink <tammo@chromium.org> Refactory UI to grab shortcut keys, and tests to not look for triggers.

Clean up audio test to not create extra windows -- needed since some
library parameters changed to inconvenience old behavior.

Change-Id: I92a1e1c40ad6d282945bdce60c52b3153e2b9f54

Review URL: http://codereview.chromium.org/3226005
actory.py
actory_ui
actory_ui_lib.py
a695cd18bca18d151f3ada5739c38fb9ac08d97f 25-Aug-2010 Hung-Te Lin <hungte@chromium.org> modify factory_Wipe to fit into new flow (with factory_Verify)

The factory_Wipe now only depends on the factory_Verify test,
which can be assigned via unique_name in suite_Factory/test_list.
Ref: http://codereview.chromium.org/3180022/show

BUG=chrome-os-partner:827
TEST=manual

Change-Id: Icc9f84ee7aa0842de8075b4c94c79e0c9a7026bd

Review URL: http://codereview.chromium.org/3156047
actory.py
9ec4c7becfc5c76b5d4673caa9bacfda49eb4594 24-Aug-2010 Tammo Spalink <tammo@chromium.org> Fix test dargs, and statusmap creation.

Change-Id: I581636c0dea16ba6f2c2ad57335c3738932f36a0

Review URL: http://codereview.chromium.org/3197015
actory.py
912e209b16e4a83b5d9c4ee4dc6801e2bc2ad89e 24-Aug-2010 Tammo Spalink <tammo@chromium.org> Add unique_name test attr, fix UI active test selection, clean up test_list.

Change-Id: I945157c8c51454ad0abc5d56c7aa6feab01893d8

Review URL: http://codereview.chromium.org/3151032
actory.py
actory_ui
610180db6cf1984a08f5da42f8146fd73261ab15 24-Aug-2010 Tammo Spalink <tammo@chromium.org> Fix normal (non-keyboard-shortcut) case.

Change-Id: Ie318456df05728f08d493df00738f4ee7cb80ee0

Review URL: http://codereview.chromium.org/3124041
actory.py
3f9647708e3b2f6fb4288ffb91a69dcbc8382128 24-Aug-2010 Tammo Spalink <tammo@chromium.org> Refactor -- make ui passive watcher, control a passive test list.

Lifted control logic into a library and made the user-editable
control file into only a simple test, with no executable code.

Eliminated all runtime non-startup communication between the ui
and the control process.

Generally made code more self-documenting.

BUG=chrome-os-partner:537,334

Change-Id: Ia80723585ba4dfbea11d24374467e0d57bc73469

Review URL: http://codereview.chromium.org/3104020
actory.py
actory_ui
actory_ui_lib.py
a7f995d8e15c256330542524486b305a46b8d2df 20-Aug-2010 Chris Masone <cmasone@chromium.org> [autotest] add more logging when we change DNS

In an attempt to track down why power_Idle is failing in NightlyPower,
but never for me locally or when I run it on the same machine that it
fails on in the suite, add more logging to see what's up.

BUG=5616
TEST=run power_Idle

Change-Id: I11781c83dd2939e1dc577b9ed489cfd7b7ada224

Review URL: http://codereview.chromium.org/3150025
ite_ui_test.py
3fa30f9df5a7d95ce45414e4e878b44630e63683 20-Aug-2010 David James <davidjames@google.com> Update autotest tests to use make -j where possible.

This cuts the time required to build the autotests from 7m30s to
about 4m10s on my z600.

TEST=Ran ./autotest --build=all
BUG=chromium-os:5309

Review URL: http://codereview.chromium.org/3116009
nit_test.py
38dfe85afa3c87f46355b3ae524049b7b31f8cd9 19-Aug-2010 Ken Mixter <kmixter@google.com> Added full E2E kcrash testing

BUG=1914

Review URL: http://codereview.chromium.org/3114016
ite_crash_test.py
5d3e45481f628e7fe5b3ba805f35f512bfad4c2b 18-Aug-2010 Mitsuru Oshima <oshima@chromium.org> Autotest for ScreenLocker
* Removed old ScreenSaverUnlock and utility methods
* Added new ScreenLocker test
* updated site_ui_tests.py so that it can process dbus signal.
* Changed poll_for_condition to use TimeoutError (assuming that's the intention)

BUG=chromium-os:2918
TEST=new desktopui_ScreenLocker test should pass

Review URL: http://codereview.chromium.org/3073014
ite_login.py
ite_ui_test.py
ite_utils.py
ef0c4d56c2b98b41e05c4bb5eb5f34039d59d271 18-Aug-2010 Eric Li <ericli@google.com> Merge remote branch 'origin/upstream' into tempbranch
38fd698960e982081d1fcd561cc26ed945e3aeeb 14-Aug-2010 Chris Masone <cmasone@chromium.org> Add logging to DNS reverting code

This is to help track down some test failures that occur when DNS settings can't be reverted.

BUG=5616
TEST=ran some autotests, verified that the logging executes.

Change-Id: I2cab10e5055e48f2b14f62874a1da073a330c9f9

Review URL: http://codereview.chromium.org/3156012
ite_ui_test.py
20d9e47c85eb1e768676186e6fefeb7d044d0d79 12-Aug-2010 Ken Mixter <kmixter@google.com> Split logging_UserCrash out into two other files

This is in prep of testing kernel crash sending. What was logging_UserCrash covered general crash sending as well as collecting user space crashes. I split out parts of that file into site_crash_test and logging_CrashSender. I will add additional kernel crash report sending tests to logging_CrashSender in a subsequent CL. This also pulls back logging_UserCrash into the BVTs.

BUGS=1914
TEST=Ran BVTs and individual tests

Review URL: http://codereview.chromium.org/3138009
ite_crash_test.py
cc4e5475842a9b67103aecdbd3d286715dea604e 12-Aug-2010 Chris Masone <cmasone@chromium.org> [autotest] Fixes for login tests in the BVT and nightly suites

login_RemoteLogin ERRORs out at the end sometimes when it can't stat a
log file we'd like to copy out OR when it can't open the file. One
issue throws an IOError, and the other throws an OSError. D'oh.

login_CryptohomeIncognitoUnmounted wss being run with the wrong credentials.

BUG=None
TEST=BVT, Nightly

Change-Id: Ic12ce265d41fc88ca378cac63ceb8b166ad2d5d4

Review URL: http://codereview.chromium.org/3179007
ite_ui_test.py
5346e4e6b32f0b5de3a72b5e15cb22574a9e9914 12-Aug-2010 Sean O'Connor <seano@chromium.org> ChromiumOS updater client lib refactoring and fixes.

I've tested this with both server and client control files which specify 'osimage' arguments.

I still have some testing to do, but I think this is a reasonable first cut at putting the common install/update functionality in a common lib.

Review URL: http://codereview.chromium.org/3104004
ocal_host.py
2e2e979d398e4bbab857d5127f02a4bf9fd4438c 11-Aug-2010 Chris Masone <cmasone@chromium.org> Correctly make login tests ignore missing log files on exit

shutil.copy() throws OSErrors, not IOErrors.

Change-Id: Ifb10dabdfaa94ea4d62a9c9ae8a438e419f054b0

Review URL: http://codereview.chromium.org/3165005
ite_ui_test.py
1851a9aa10512d7afeaf05a5ae0addc36548107a 10-Aug-2010 Chris Masone <cmasone@chromium.org> Give UI tests the ability to detect chrome crashes during login

BUG=None
TEST=Run autotest on a build where chrome crashes upon login. The test should return an appropriate exception now, instead of saying it timed out.

Change-Id: I9450bc74740d8aa220bc12d3e6eef3c538b28895

Review URL: http://codereview.chromium.org/3107003
ite_login.py
9f3311afd7f6f7dcd912cd6194f8c094810c7c5d 06-Aug-2010 Chris Masone <cmasone@chromium.org> Make tests robust to failed login cookie fetch

Since fetching login cookies is best-effort, make the tests no longer fail if
we can't get cookies. Record the fact, though, so we can keep tabs on how
often this happens and decide to mitigate if necessary.

BUG=5322
TEST=BVT

Change-Id: Ic4f9760d7a0fa9d17386491e82a8286e5d165a7b

Review URL: http://codereview.chromium.org/3077020
ite_ui_test.py
ea80e8d02376cc814c5132fce2d7b29679882b4f 06-Aug-2010 Sameer Nanda <snanda@chromium.org> Invoke powerd_suspend to transition sytem to suspend-to-RAM state.
Related changed for reading hwclock saved off by the powerd_suspend
script.

BUG: None
TEST: Ran power_Resume test

Review URL: http://codereview.chromium.org/3026046
ase_utils.py
96f017d1503c005d4283fbd3c4c4f1172200ddf1 05-Aug-2010 Chris Masone <cmasone@chromium.org> Make failure to copy chrome logs (that may not exist) non-fatal

BUG=None
TEST=Manual

Change-Id: I5ef77939e4482c8142c08f108933858d7c105dec

Review URL: http://codereview.chromium.org/3077021
ite_ui_test.py
dad995c63a0530621c7fe56576b3e628dec5b518 01-Aug-2010 Justin Neddo <jneddo@nvidia.com> revert_dns will only reset NameServers previously cleared in use_local_dns

login_LoginSuccess was failing in revert_dns. The list of devices which
needed NameServers reset in revert_dns had changed since use_local_dns.
revert_dns was trying to set the NameServer for a device that it had
not cleared

BUG=NONE
TEST= run login_LoginSuccess. Test now passes

Review URL: http://codereview.chromium.org/3045019
Patch from Justin Neddo <jneddo@nvidia.com>.

Change-Id: I8b0d5395cf58b5eab2a6e8bb1376995898875f45
ite_ui_test.py
543dceb5ea025a99639b74e65dfdc867284001c4 30-Jul-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> New version of the partition refactoring, there was some method behind the
execfile madness. Instead, I got rid of base_partition and moved the
site_partition import into partition so that overrides in site_partition
actually get used by the code in base_partition; otherwise, users of partition
were getting the overridden methods but code in base_partition would continue
to only use base_partition code.

This required changing how the unit test handles just importing the "base" code.
Unfortunately the best I could come up with was some sys.modules hackery with
reload, but as lame as it is, it works reasonably well enough.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4741 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
artition.py
artition_unittest.py
69bdaacdf2b8161ae95dded60ed6eedbeb5f8f47 28-Jul-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Makes some changes to the partitioning code and the autotest.py code to make it a little easier to override more reliably. Specifically:
- Switch the partition imports from execfile back to an import * style of loading, ultimately import seems to be the most reliable and portable
- Clean up the base+site definitions in autotest.py to make Site overrides more consistent
- Drop the explicit failure if the Autotest.source_material is a file and not a directory, there's no reason to outright fail and it just introduces some unnecessary fragility

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4736 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
958e50e5d9279f750b88142e8a4784651c807fdb 27-Jul-2010 Tammo Spalink <tammo@chromium.org> Hide cursor in factory UI base window.

Change-Id: I9d7f5a75ecca5c720724bd72873cf407f4afbf2a

Review URL: http://codereview.chromium.org/3059006
actory_ui
actory_ui_lib.py
00adc463cfdb833dbe875bfeeb751034da4ec79d 27-Jul-2010 Tammo Spalink <tammo@chromium.org> Allow factory_Review to repeat forever

Change-Id: Iedabf71b5ff752998ebdfbe4326f1a4ff09ba8d0

Review URL: http://codereview.chromium.org/2811062
actory.py
actory_ui
actory_ui_lib.py
2512a5fa16230e8d58bded4e3902774dd5576e3c 26-Jul-2010 Chris Masone <cmasone@chromium.org> Return failures when other services try to auth against our mock auth server

When sync tried to use our mocked out auth service, it was sending
just an LSID instead of a SID/LSID pair. This is legal, but not the
expected flow for normal Chrome OS auth, so we were throwing an
exception. This seems to cause the auth server to stop so, if sync
tried to auth before the chrome os login flow completed, we were
failing to complete the chrome os login flow. This change makes us
rebust to this, and also pulls chrome_log files back when the test
finishes, to help debug issues in the future.

BUG=5130
TEST=Run login_LoginSuccess

Change-Id: Iab175025776f41ea12c907900c368eefe97b0e64

Review URL: http://codereview.chromium.org/3013033
hromeos_constants.py
ite_ui_test.py
a0cb31c42a607014f11fe5da00e9914610e3bca7 24-Jul-2010 Chris Masone <cmasone@chromium.org> Fix login_CryptohomeIncognitoMounted, mitigate some potential raciness.

We were running login_CryptohomeIncognitoMounted with the wrong credentials in the BVT, which is why that was failing. As for the other, it looks like some kind of race between chrome resolving DNS names and us changing the DNS server.

We now restart chrome after we change DNS as a workaround.

BUG=5004
TEST=The BVT

Change-Id: Icf8e4bba51221d0499b8b591849443a69ec0ce20

Review URL: http://codereview.chromium.org/3018018
hromeos_constants.py
ite_login.py
ite_ui_test.py
81de1f4c64c466e2e3f2a2eee1747dff52c80412 23-Jul-2010 Eric Li <ericli@google.com> Enforce appending a CHROMEOS_DEVSERVER entry into /etc/lsb-release to force an os update.

Without this entry, ping_omaha.sh will assume this is a production build and refuse to update from a http connection.
see also: ping_omaha.sh line 261~273.

Review URL: http://codereview.chromium.org/2808063
ocal_host.py
395550219f199d9a0c9a71f2494da8cf19b0ef3e 23-Jul-2010 Dale Curtis <dalecurtis@google.com> Backchannel setup library for 3G and WiFi testing.

TEST=Ran as part of upcoming power_loadTest enhancements. I checked manually to make sure eth_test came up correctly and proper routes were being added. Further, that exceptions were being handled properly when the interface could not be brought up or the backchannel script couldn't be run.

Review URL: http://codereview.chromium.org/2804043
ite_backchannel.py
7695f4c16666d46017d8933e51c4a95be7d059c0 23-Jul-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> client test class: Small modification to order of steps on crash_handler_report()

First, cleanup the debugdir tmp file and restore
the core pattern backup, then look for core dumps
generated by the test. This changeset together
with the previous one will make the cores to be
discovered most of the time (before the collector
script was too slow to write the cores, making
crash_handler_report to check before they were
written, hence missing them).



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4733 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
be583c18a66815a3d93fae411c5fd58788aff4c0 23-Jul-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Crash handler: Make sure autotest cleans up leftover debugdir files

Sometimes, autotest might abort (autotest bug, job error) and
there will be some /tmp/autotest_results_dir.XXX files lying
around. If there are such files lying around, if a program
segfaults, the crash handler will re-create some of the old
debugdirs, that might clash with the debugdirs of the tests
being executed on the new job. Make sure we clean up all old
files prior to autotest execution. Updated the unittests
job_unittest and setup_job_unittest accordingly. The unittests
are passing.

Also, fixed up some indentation prolems found on setup_job.py,
and made setup_job_unittest.py executable

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4731 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
etup_job.py
etup_job_unittest.py
16f0974ec9c594a2d81daca3b69282d8b7305a05 22-Jul-2010 Dale Curtis <dalecurtis@google.com> Fixed missing return statement.

Review URL: http://codereview.chromium.org/3028016
ite_backchannel.py
bd990065f511f05d936d92325ccf661c11571e5a 21-Jul-2010 Dale Curtis <dalecurtis@google.com> Backchannel setup library for 3G and WiFi testing.

TEST=Ran as part of upcoming power_loadTest enhancements. I checked manually to make sure eth_test came up correctly and proper routes were being added. Further, that exceptions were being handled properly when the interface could not be brought up or the backchannel script couldn't be run.

Review URL: http://codereview.chromium.org/2804043
ite_backchannel.py
14a8818c35f2de757e819d6ba4d555f4981469b2 20-Jul-2010 Tammo Spalink <tammo@chromium.org> Crude review mode for examining failure details.

Change-Id: Ifb8bbf751118689443e893f5188aa1b95b8e5908

Review URL: http://codereview.chromium.org/2847063
actory_ui_lib.py
963c9c260e0386ec3e1b83cb885c377d2ea244ca 20-Jul-2010 Chris Masone <cmasone@chromium.org> Fix CryptohomeMountedIncognito

This test, which tests logging in through the back door and checking to make sure that the cryptohome is a tmpfs, was neither logging in through the backdoor nor checking that the appropriate device was a tmpfs. Now, it does both!

BUG=None
TEST=Run the test. It works now, while it didn't before

Review URL: http://codereview.chromium.org/3028012
hromeos_constants.py
218091001eaf508f26fff953cad43e73318fbe3c 20-Jul-2010 Chris Masone <cmasone@chromium.org> Use new flimflam ipconfig update functionality

This _should_ take advantage of new flimflam functionality to allow us
to avoid disable/enabling devices to pick up ipconfig chages. This will
make the tests less flaky!

BUG=4924
TEST=run login_* autotests, run BVT. Ensure that we see no failures AND no lag in DNS resolution updating to point to 127.0.0.1

Review URL: http://codereview.chromium.org/2957012
ite_ui_test.py
22a2d7f62d7bd410e1c60c9884b78d40947a216e 17-Jul-2010 Tammo Spalink <tammo@chromium.org> Prepare for startx script to do xset; Lib-ify StatusMap. Fix result_file_path.

Change-Id: I153a0860b2a616b83f1282dfa40c181deff165a9

Review URL: http://codereview.chromium.org/3038002
actory_ui
actory_ui_lib.py
0057ea38ed7db234a060083e9184bb1fbbc5758f 12-Jul-2010 Sean O'Connor <seano@chromium.org> Correct exception types in local_host installer

Review URL: http://codereview.chromium.org/2924013
ocal_host.py
75134697d40f663e627e0202dbf026047a5e364b 11-Jul-2010 Tammo Spalink <tammo@google.com> LED test.

Review URL: http://codereview.chromium.org/2812046
actory_ui_lib.py
567efa91ac91866c171e4544e5f92c5e5daa0639 11-Jul-2010 Tammo Spalink <tammo@google.com> Fix timeout support for keyboard and trackpad tests.

Review URL: http://codereview.chromium.org/2807039
actory_ui_lib.py
a2394f25cc3dea7848f90270cb1dfa830f8b4482 08-Jul-2010 Sean O'Connor <seano@chromium.org> This CL adds support for ChromiumOS reimaging to Autotest client jobs.

Requires slight changes to the client template in order to invoke the installation methods.

Review URL: http://codereview.chromium.org/2865027
ocal_host.py
ite_job.py
9eb7b3b1fc604c15f16e4cb59ba0c3501b3ba53f 06-Jul-2010 Tammo Spalink <tammo@google.com> Fix factory ui factory_ui_lib reference. Misc other test fixes/improvements.

Review URL: http://codereview.chromium.org/2886015
actory_ui
fb8893754d69d78841e184c05fa40937ade81911 02-Jul-2010 Tammo Spalink <tammo@google.com> Relocate library files for wider access and re-use; also associated cleanup.

Putting the factories in bin better matches other auotest files, and allows for
better (simpler) access by both the control files and the ui. This in turn
allows for us to avoid sending the TestData code definition between processes,
which was very ugly. With all the code sharing libs, the logging function
was also cleaned up.

Review URL: http://codereview.chromium.org/2836043
actory.py
actory_ui
actory_ui_lib.py
4d64023d2dc950a8e2c5578255845418cba52626 01-Jul-2010 Eric Li <ericli@google.com> Merge remote branch 'origin/upstream' into tempbranch

Conflicts:
client/common_lib/utils.py
client/common_lib/utils_unittest.py
3afe0d8a982de99e930b3f48f239066272a15c11 01-Jul-2010 David James <davidjames@google.com> Revert "Relocate library files for wider access and re-use; also associated cleanup."

This reverts commit 6dc9e1993a7db0729d330d7ba3b8c94fea9a0a18. Hopefully this will fix the autotest build.

TBR=tammo
TEST=none
BUG=none
actory.py
actory_test.py
actory_ui
6dc9e1993a7db0729d330d7ba3b8c94fea9a0a18 01-Jul-2010 Tammo Spalink <tammo@google.com> Relocate library files for wider access and re-use; also associated cleanup.

Putting the factories in bin better matches other auotest files, and allows for
better (simpler) access by both the control files and the ui. This in turn
allows for us to avoid sending the TestData code definition between processes,
which was very ugly. With all the code sharing libs, the logging function
was also cleaned up.

BUG=none
TEST=suite_Factory

Review URL: http://codereview.chromium.org/2805052
actory.py
actory_test.py
actory_ui
cb2daff34efd56a0c94eb6f93b71680967cccccc 14-Jun-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Clear exception information in fork_start() before exiting

If an exception is raised in a test, its traceback contains references to
objects used in the test. These references prevent garbage collection of the
objects. Normally this isn't a problem because when a program exits the
objects are garbage-collected anyway, but fork_start() calls os._exit() which
skips normal exit processing. Thus we can't rely on objects' __del__() methods
being called.

The problem can be solved by calling sys.exc_clear() to clear exception
information before exiting. It also doesn't hurt to call gc.collect() just to
be very sure that garbage collection takes place.

Signed-off-by: Michael Goldish <mgoldish@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4608 592f7852-d20e-0410-864c-8624ca9c26a4
arallel.py
11b87bd89b7e468f7438cd04f5acfc474643175c 12-Jun-2010 Eric Li <ericli@google.com> cosmetic changes to site_ui_test.py, and make it more test friendly.

Review URL: http://codereview.chromium.org/2745018
ite_ui_test.py
e21ba36617648376dd0e752f5de24a074aa62712 09-Jun-2010 Chris Masone <cmasone@chromium.org> Make tests that require login, but are not testing login, less finicky

Should help stabilize the BVT

Review URL: http://codereview.chromium.org/2786002
ite_ui_test.py
96c1ddac5d4c48fcea0f37e4e1180682568a24f4 08-Jun-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Crash handling: Make messaging consistent, warn user about lack of GDB

Make messages consistent with the latest patch that got
into r4584, also warn user when GDB is not installed.
Without GDB, the core report generation code operates
with limited functionality.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4587 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
3ee5f57c5a7d1b5779e79ad0ea1fba60db2bebea 08-Jun-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Disable the crash collection script if the system python is too old to run it.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4584 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
8848848362d8d4cb9ac3e484cf29ae588a93dcb6 08-Jun-2010 Sam Leffler <sleffler@google.com> search for flimflam.py in both /usr/lib/flimflam and /usr/local/lib/flimflam

TEST=mv /usr/local/lib/flimflam to /usr/lib/flimflam; run login_BackDoor and verify it works

Review URL: http://codereview.chromium.org/2723001
ite_ui_test.py
8e222b6c651ce3decec1c216e96842fdb61852dd 07-Jun-2010 Eric Li <ericli@google.com> Merge remote branch 'origin/upstream' into tempbranch
92cdbe34a1cdde2faa57f0d841980db3e1500324 04-Jun-2010 Chris Masone <cmasone@chromium.org> Login test fixes

1) Make Login_Backdoor wait for the correct termination condition
2) Add an HTTP server to the HTTPS server in use by the auth server; this allows it to respond to the final redirect in the login chain of events.
3) the chrome os WM upstart job is now called window-manager

BUG=None
TEST=Run Login_Success, Login_Backdoor, and Login_BadAuthentication and make sure they pass.

Review URL: http://codereview.chromium.org/2636001
ite_login.py
ite_ui_test.py
e9f524dccec98b2e8709ff71c4302b8b1bd41593 03-Jun-2010 Chris Masone <cmasone@chromium.org> Attempt to reduce potential raciness in hermetic login

Review URL: http://codereview.chromium.org/2509002
ite_ui_test.py
8e48ba9b8d42a1008de25636af13df8b12b9edc5 03-Jun-2010 Sam Leffler <sleffler@google.com> track flimflam dbus service change

Review URL: http://codereview.chromium.org/2531001
ite_ui_test.py
7d04f577a4972cd0aecea0bc370125d54bc28a1e 31-May-2010 Chris Masone <cmasone@chromium.org> Land the first login test that uses a local mock of the google accounts server

With this CL, in our tests, authentication is no longer performed against
live servers. Instead, we spin up a local DNS server that will lie
and say that all sites resolve to 127.0.0.1. We use DBus to tell
flimflam to use this DNS server to resolve addresses. We then spin up
a local httpd that will respond to queries at the Google Accounts
endpoints. We clear the DNS setting and tear down these servers in
cleanup(). The caller can specify handlers for the three pertinent
endpoints, but default ones that return HTTP 200 exist and will be
used if nothing is passed in.

Review URL: http://codereview.chromium.org/1752022
ite_ui_test.py
9fa0d356e19a8dc3c39ba7c67b765b937f63960b 27-May-2010 Frank Swiderski <fes@google.com> Fix the regular expression for detecting cryptohome mount.

Review URL: http://codereview.chromium.org/2313003
hromeos_constants.py
52653c39f55f64bf486eb03c25af44c1b2cab4dc 27-May-2010 Frank Swiderski <fes@google.com> Fix to work with the new ecryptfs-based cryptohome.

Review URL: http://codereview.chromium.org/2230003
hromeos_constants.py
ite_cryptohome.py
eb222999ce2e60743daa0e26ed94774e6d537be9 26-May-2010 Sourav Poddar <souravp@chromium.org> Typo fix, missing '_'.

Review URL: http://codereview.chromium.org/2223002
ite_cryptohome.py
574bd621e7dcad3ce7a3b869e671cead4da493cb 26-May-2010 Sourav Poddar <souravp@chromium.org> patch

Separating out tests for google_account login and incognito_login into two classes. Adding these tests to nightly_suite instead of BVT.

Review URL: http://codereview.chromium.org/2151002
hromeos_constants.py
ite_cryptohome.py
0fab1e986e36dd9addaa075c6c73e71fbd756652 21-May-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> client/bin/base_utils.py: Fix bug on check_glibc_ver

utils.compare_versions returns -1 if v1 < v2.
This fix the same issue as commit d6a646bf35390bc1b98b57596b1f6b7da00c7e19

Signed-off-by: Amos Kong <akong@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4552 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
42b7a5d85e9467ae6f3408f20bfee5de93afcf45 21-May-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> client/bin/base_utils.py: Fix bug on check_kernel_ver

utils.compare_versions returns -1 if v1 < v2. Correct
the mistake that was making some tests such as libhugetlbfs
fail with:

TestError: Kernel too old (2.6.31.5-127.fc12.x86_64). Kernel > 2.6.16 is needed.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4550 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
96e39b8b66a1303b320ee28793a87fea2331303d 20-May-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Dacapo: Complete test overhaul

Give dacapo a much needed upgrade. Move to the latest
upstream version, clean up heavily the code, make it
actually record performance data and performance keyvals,
just like any other autotest benchmark.

In order to support this cleanup, the test_config API
was slightly modified, while its doc strings were
modified to comply with the current coding standards.

Now it is possible to run dacapo out of the box on most
systems.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4547 592f7852-d20e-0410-864c-8624ca9c26a4
est_config.py
a29d043a5761eef027e4e240e38c1d818a76f61c 18-May-2010 Darin Petkov <petkov@chromium.org> Make the test autologin a bit more robust.

Review URL: http://codereview.chromium.org/2089013
ite_login.py
d839e10210fc9a4c5ed7f043a825013e23ac640b 18-May-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> parallel.py: Fix the client test recycled pids problem

In a client control file calling a lot of times of job.run_test(), the
system's pid_max could be reached and the pids are recycled for the
tests run in child processes, causing the parent process mistakenly
determines the status of the child test.

This change fixes the problem by renaming the serialized
client/results/default/debug/error-pid file so that they are not seen by
the parent process after first use.

Signed-off-by: Jinxin Zheng <jzheng@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4501 592f7852-d20e-0410-864c-8624ca9c26a4
arallel.py
812b0f4b26adb9e44a992891e821c864e509980b 18-May-2010 rginda <rginda@chromium.org> use the default timeout as specified by site_login.py

BUG=None
TEST=Ran the desktopui_ScreenSaverUnlock test

Review URL: http://codereview.chromium.org/2070006
ite_ui_test.py
43fc5c1a7c3666f0ff7e72a7c16d9e26b5b701d2 17-May-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> base_partition.py: Fix code that depends on old coreutils syntax

This change was written to fix b/2676661

base_partition.partition.unmount_force() called

utils.system_output('ps -p %s | tail +2' % pid)

tail's +2 option is no longer valid in newer coreutils
(http://www.gnu.org/software/coreutils/faq/coreutils-faq.html#Old-tail-plus-N-syntax-now-fails).
Changed to 'sed 1d' instead.

Signed-off-by: Jongki Suwandi <jsuwandi@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4497 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
40011849725cbbe253c40b314551dbc3d442aa1e 17-May-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Use compare_versions() in check_glibc() and check_kernel_ver()

Current version comparsion in check_glibc() and check_kernel_ver() may
think 2.11 is older than 2.5, so use the utils.compare_versions() to
solve it.

Signed-off-by: Jason Wang <jasowang@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4494 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
738a940f910f8f0ec07cdfa9526429d9e9d140c8 15-May-2010 Daniel Erat <derat@google.com> autotest: Remove some references to old login code.

BUG=none
TEST=ran graphics_WindowManagerGraphicsCapture. it fails, but it does so independently of my change.

Review URL: http://codereview.chromium.org/2081004
ite_login.py
430de8f0d9920ca3149086b87a387cae6508e41f 14-May-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add a check that the CPU count is unchanged after a reboot.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4489 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
10039276fa8c8b9fd029083e0ca96c21b2c48f9a 11-May-2010 Chris Sosa <sosa@chromium.org> Increase timeout for cryptohome from 10 to 30 secs

Review URL: http://codereview.chromium.org/1989008
ite_cryptohome.py
ite_login.py
2e5181aab004554aafbf52d810519dbefaea7bdd 06-May-2010 Ken Mixter <kmixter@google.com> Add crash reporter integration tests

Review URL: http://codereview.chromium.org/1785002
ite_log_reader.py
0d1ea96db0ce47d8ce96613daba085acd980417e 03-May-2010 Eric Li <ericli@google.com> Merge remote branch 'origin/upstream' into tempbranch

Conflicts:
client/common_lib/utils.py
client/common_lib/utils_unittest.py
4afc3676e5735bd52303c0612b1cbc62c2d6fba8 30-Apr-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Yet another round of extraction of job code up into base_job.py in the common
library. This focuses on pulling job.record up from the client job into the
base, with an eye towards doing the same with the server job.record code (thus
providing a single unified implementation).

Currently I extracted all the job.record code from the client out into a
status_log_entry and status_logger class. The idea was that all the code that
knows how to convert status,subdir,operation,etc. parameters into a string to
go into the status log would be in the status_log_entry class, and all the
code that actually knows how to write an entry into the log files would be in
the status_logger class. It also pulls all the code for tracking the nesting
into the status_logger class, instead of scattering increment and decrement
calls throughout the job class.

This multi-class separation might seem a little overdesigned, but it made it
easier to write good unit tests that don't throw up a million mocks
all over the place. I also think it will be easier to extend when I
try to make this work for server jobs as well; the server has to mix
together job.record calls, status logs from client jobs, and injected
WARNs, so separating out the entry class and the class that actually
writes out the logs should be helpful for supporting that model.

The CL also contains a lot of generic docstring cleanup that I had to do
while working on the classes.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4455 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
a6bc2897832b6e062475bd5655518b52145e863f 23-Apr-2010 Eric Li <ericli@google.com> Merge remote branch 'origin/upstream' into tempbranch
5986ca27a855f966451daeb617f57158d8fc9947 21-Apr-2010 Chris Masone <cmasone@chromium.org> [autotest] a GoogleAccounts server that can run inside an autotest

Leveraging the https server in site_httpd.py, this class allow us to mock out the Google Accounts http API. We still need a way to override DNS to point chrome at this server, but I've written some code that uses wget to exercise this, and it works.

Comments on my mediocre python welcome.

Review URL: http://codereview.chromium.org/1619024
hromeos_constants.py
4e1dc8cbc3a65b7a2dd3b8e0afa558963afac8c8 19-Apr-2010 Chris Masone <cmasone@chromium.org> Revert manual munging of nssdb.

We're going in a different direction, in terms of the way we inject a root cert for testing. This code is no longer relevant.

Review URL: http://codereview.chromium.org/1545047
hromeos_constants.py
ite_ui_test.py
03acb7dd8602d3149dde4f17e5bac57d13319ea0 19-Apr-2010 Chris Masone <cmasone@chromium.org> Update and stabilize login_ChromeProfileSanitary

Update login_ChromeProfileSanitary to use the latest login/logout test infrastructure. Also, update it to make it less flaky. It's still expected to fail, though, as the regression it's designed to catch is mitigated and not fixed yet.

Review URL: http://codereview.chromium.org/1631027
ite_login.py
959e8162836703848f8e1801f74e7117b850e889 16-Apr-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Add a new library to determine mime types

In order to determine file types by content rather than
extension, add a new library to autotest, magic.py, that
is based on the work of Jason Petrone. The advantage of
magic.py is that it doesn't depend on any external utility
or library. It exposes the public interface guess_type(),
that will match the data against a database of magic numbers.

Also, use the library to determine file contents on a
base_utils.py function.

Changes from v1:
* Fixed some incorrect API usage documentation
* Used optparse in the parser
* Used the library in the other places of autotest that do need
assessment of file contents.

Signed-off-by: Jean Parpaillon <jean.parpaillon@kerlabs.com>
Signed-off-by: Amos Kong <akong@redhat.com>
Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4420 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
0e02d3cb4d1bf7c92baa8d181293cc832b14a065 15-Apr-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Patch up a broken unit test.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4416 592f7852-d20e-0410-864c-8624ca9c26a4
etup_job_unittest.py
de42f47cd584c4e0cd82fc16422a9dadaa1fb318 12-Apr-2010 Sean O'Connor <seano@chromium.org> Merge remote branch 'origin/upstream' into tempbranch

Conflicts:
client/common_lib/utils.py
client/tests/iperf/iperf.py
0bd5ce32fb759c3236f3d860b408679f2494b5ed 10-Apr-2010 Sean Parent <seanparent@google.com> [Test Fixit] Code coverage test example.

Review URL: http://codereview.chromium.org/1597001
nit_test.py
808f4b1663600ba7e735c4d78125825c52bb804f 10-Apr-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Expose args as a proper job property, fix up some unit tests. In the
future I'm just going to start reverting patches that break tests.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4396 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
f432516b6b3d274a6fe93cd39022081ebd6aeafc 09-Apr-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add a generic function to get and set sysctl values. Also fix a bug in the sysctl_kernel function where it would interpret value=0 as an attempt to get a value and not an attempt to set a value to zero.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4391 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
56bb8cdc3cca633dd829af43444e1fab4f1b6aa8 09-Apr-2010 rtc <rtc@rtc-dev.(none)> Reverts a build break.
Revert "Updated graphics_WindowManagerGraphicsCapture to new auto-login method via site_ui_test.UITest."

This reverts commit dd6daacab898845378593ff6a612a6ab6a6a35c5.

Merge branch 'master' of ssh://gitrw.chromium.org:9222/autotest

Add/remove fake CA cert to Chrome cert database during UI tests. Prep for in-chrome-authN

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

Updated graphics_WindowManagerGraphicsCapture to new auto-login method via site_ui_test.UITest.

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

Fix to import of mm at the top level instead inside functions.

Fix the import of mm to be relative to SYSROOT like it needs to be so
that one can run the command:

./build_autotest.sh --build=network_3GSmokeTest

This now works because the script mm.py has execute permission.

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

Fixing build quickly by removing auto-login from graphics_WindowManagerGraphicsCapture test.

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

Review URL: http://codereview.chromium.org/1610015
hromeos_constants.py
ite_ui_test.py
fef5ce204ad822d0c64a3af0cfee066197aba389 08-Apr-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix when url for retrieving kernel contains ';' character, which leads to
broken tarball name. We can, for instance use snapshot from gitweb.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4383 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
25bfa855b7ebd198ad6ffbdd274d1e36e775ca54 08-Apr-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> client/bin/base_partition.py: Change private methods prefix

As discussed some time ago on the mailing list, private
methods should be prefixed with _ instead of __, unless
we actually need the name mangling aspect of using the
later prefix. Change this on the virtual_partition class
that I wrote some time ago.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4381 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
f25f73fda2174dcad298db37e872a7b5351fc189 07-Apr-2010 rginda <rginda@chromium.org> switch to autox.py and robustify login/logout code

This CL switches from using the autox binary to using autox.py. This includes backwards
incompatible changes to site_login.py, and I haven't had a chance to fix the affected callsites
yet.

I've also made the login/logout code a little more robust. Now it'll make sure that the login
manager is running under a NEW pid, that X is running, and that at a window is visible before
assuming we're ready to log in.

All of the wait loops have been refactored into wait_for(...), which spits out logging.info()
messages that could be parsed later to determine how long the operations are actually taking.
Perhaps this could make it into a different, non-login specific library soonish.

I'm out of the office for the next few days, but wanted to get this out there before the
trunk totally passed it by. I'll return on Wednesday to finish the job.

Review URL: http://codereview.chromium.org/1534001
hromeos_constants.py
ite_login.py
ite_ui_test.py
ite_utils.py
f542950ba996692a4c1a656c8e27de9246037312 07-Apr-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Clear out the destination path before retriving a package via autoserv.
Otherwise it will always appear to the client that the package was fetched
successfully, since it assumes if a file is where it told the server to put
it then the package was sent.

Also, add code to the error case in the http fetcher to remove any file
that may have been fetched. If the wget failed then the package isn't valid
so we shouldn't leave it lying around.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4377 592f7852-d20e-0410-864c-8624ca9c26a4
arness_autoserv.py
8ca2f935825ecabc0053e3ab5152a55df034cf99 01-Apr-2010 Eric Li <ericli@google.com> Merge remote branch 'origin/upstream' into tempbranch
7806e7f2d69e72c4d79d95889997524e74a5b171 30-Mar-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> John,

Attached is a separate patch that adds support for args to
client/bin/autotest. The downside of doing it this way is that it implements
a separate path for passing args to client-side control. The benefit is that
it's simple.

Darin

On Mon, Mar 29, 2010 at 8:33 AM, John Admanski <jadmanski@google.com> wrote:

> I was looking at this a bit more, and I still see an issue; now you can't
> write code that uses args that just works on a straight client, you have to
> be launching the client via autoserv. I suppose that's not a huge problem,
> since autoserv is the only way that you can set args anyway, but I guess I'd
> just envisioned a grander patch that actually added support for command-line
> args to client/bin/autotest, and then just used server/autotest.py to pass
> through any autoserv args.
>
> Still, I think it's not a huge deal. I'm just a little worried about the
> continued trend of more and more code being written that just assumes you're
> using all the higher layers to run your tests. These days it seems everyone
> just wants to write client tests that assume you're using autoserv, or even
> assumes you're using a full scheduler setup.
>
> -- John
>
>
> On Fri, Mar 26, 2010 at 3:08 PM, Darin Petkov <petkov@google.com> wrote:
>
>>
>>
>> On Fri, Mar 26, 2010 at 2:43 PM, John Admanski <jadmanski@google.com>wrote:
>>
>>> This should probably use %r instead of %s. In practice I think repr(args)
>>> and str(args) will end up being the same, but in principle repr is supposed
>>> to be the inverse of eval so it's the more correct choice of formatting.
>>
>>
>> Good point. Updated the patch. PTAL.
>>
>>
>>>
>>>
>>> On Fri, Mar 26, 2010 at 2:40 PM, Darin Petkov <petkov@google.com> wrote:
>>>
>>>> A simple patch to propagate user args (autoserv -a/--args) to the
>>>> client-side control file.
>>>>
>>>>
>>>
>>
>
>From cdc4d7200f07bc626968e25b4e52452b7750a1fc Mon Sep 17 00:00:00 2001
From: Darin Petkov <petkov@chromium.org>
Date: Mon, 29 Mar 2010 10:54:50 -0700
Subject: [PATCH] Add args support to client/bin/autotest.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4354 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ob.py
1f572e5efbaaa8bc0d1246123ab897607c9a011b 01-Apr-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> enable server side test prebuild from autoserv

From: ericli@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4371 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ase_utils.py
etup_job.py
81ad616e9364b35415181f5b8a862e0bba324ddf 01-Apr-2010 Will Drewry <wad@chromium.org> Check if the mount is mounted in the cryptohomed process vfs namespace

This updates the test to check in the cryptohomed VFS namespace.

TEST=manually run
BUG=none

Review URL: http://codereview.chromium.org/1524004
ite_cryptohome.py
1222d059eada48e9da2da6c8931f5a5131b86c07 30-Mar-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> John,

Attached is a separate patch that adds support for args to
client/bin/autotest. The downside of doing it this way is that it implements
a separate path for passing args to client-side control. The benefit is that
it's simple.

Darin

On Mon, Mar 29, 2010 at 8:33 AM, John Admanski <jadmanski@google.com> wrote:

> I was looking at this a bit more, and I still see an issue; now you can't
> write code that uses args that just works on a straight client, you have to
> be launching the client via autoserv. I suppose that's not a huge problem,
> since autoserv is the only way that you can set args anyway, but I guess I'd
> just envisioned a grander patch that actually added support for command-line
> args to client/bin/autotest, and then just used server/autotest.py to pass
> through any autoserv args.
>
> Still, I think it's not a huge deal. I'm just a little worried about the
> continued trend of more and more code being written that just assumes you're
> using all the higher layers to run your tests. These days it seems everyone
> just wants to write client tests that assume you're using autoserv, or even
> assumes you're using a full scheduler setup.
>
> -- John
>
>
> On Fri, Mar 26, 2010 at 3:08 PM, Darin Petkov <petkov@google.com> wrote:
>
>>
>>
>> On Fri, Mar 26, 2010 at 2:43 PM, John Admanski <jadmanski@google.com>wrote:
>>
>>> This should probably use %r instead of %s. In practice I think repr(args)
>>> and str(args) will end up being the same, but in principle repr is supposed
>>> to be the inverse of eval so it's the more correct choice of formatting.
>>
>>
>> Good point. Updated the patch. PTAL.
>>
>>
>>>
>>>
>>> On Fri, Mar 26, 2010 at 2:40 PM, Darin Petkov <petkov@google.com> wrote:
>>>
>>>> A simple patch to propagate user args (autoserv -a/--args) to the
>>>> client-side control file.
>>>>
>>>>
>>>
>>
>
>From cdc4d7200f07bc626968e25b4e52452b7750a1fc Mon Sep 17 00:00:00 2001
From: Darin Petkov <petkov@chromium.org>
Date: Mon, 29 Mar 2010 10:54:50 -0700
Subject: [PATCH] Add args support to client/bin/autotest.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4354 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ob.py
3e3f7f4041a9b0d4f2afc0c80f7fefe03ef5563e 30-Mar-2010 Daniel Erat <derat@google.com> test: Clean up site_login.py a bit.

This has overlap with rginda's
http://codereview.chromium.org/1534001, but there's
one part that I prefer from my change: making all
of these wait_ functions throw exceptions when they
time out, which cuts down on a bunch of code that
would otherwise need to be duplicated across all of
our tests.

I also ran into a bunch of races in UI tests when I
reduced the polling timeout, so I've tried to fix
those too.

BUG=none
TEST=ran the tests, both logged-in and logged-out

Review URL: http://codereview.chromium.org/1565001
hromeos_constants.py
ite_login.py
ite_ui_test.py
ite_utils.py
2e32fd4a2945992d4f0911d1e7ca740d305baaa2 29-Mar-2010 Ken Mixter <kmixter@google.com> Add test to check stateful partition contents

Checks what files are on the stateful partition of a logged in user, as well as the amount of the stateful partition that's been used.

Review URL: http://codereview.chromium.org/1213005
ite_login.py
ite_ui_test.py
e98b668d57e2a87274736b36e1f7809420880f55 26-Mar-2010 Daniel Erat <derat@google.com> test: Add desktopui_WindowManagerFocusNewWindows.

This uses the new Python version of autox to open
a few windows and check that the window manager
moves them onscreen and focuses them. Note that
it doesn't actually check what gets composited,
though (although that should soon be pretty
straightforward to add).

BUG=chromium-os:2041,chromium-os:2229
TEST=ran it on x86-generic

Review URL: http://codereview.chromium.org/1371003
hromeos_constants.py
ite_login.py
181ea9058247d29f8b0b3c53fe72ebc8a9a20af6 26-Mar-2010 Satoru Takabayashi <satorux@chromium.org> Fix site_login.wait_for_browser() where it handled a return code wrong.

Review URL: http://codereview.chromium.org/1376005
ite_login.py
80f0078376f052d74af7bdae2975e577b0c7de7a 26-Mar-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> >From 7e99eb8a9715814ac74edb81ba0ef182f410e6f6 Mon Sep 17 00:00:00 2001
From: Chris Sosa <sosa@chromium.org>
Date: Tue, 23 Mar 2010 14:32:04 -0700
Subject: [PATCH] We've been passing on errors that have been important before. We need to give more user feedback
Signed-off-by: Chris Sosa <sosa@chromium.org>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4348 592f7852-d20e-0410-864c-8624ca9c26a4
etup_job.py
112381e40c82a2646c7d7494c393dd093bedb6ef 26-Mar-2010 tedbo <tedbo@chromium.org> Merged tpm tests into one big TPM test that uses tags to make them into
separate test cases.

This initial CL runs the following suites:
data binding (16 tests)
key delegation (1 test)
nvram (33 tests)

Review URL: http://codereview.chromium.org/1378002
ite_tpm.py
d6d0942b5a5877b513d2b080570643e6b1015a28 26-Mar-2010 Chris Sosa <sosa@chromium.org> Add session object so that we have one class that control logged in session

Review URL: http://codereview.chromium.org/1363002
ite_login.py
ite_ui_test.py
0f2ad7d31f7b6db6b10dde7b30a2c1dca9e228cf 25-Mar-2010 tedbo <tedbo@chromium.org> Factored out the build of trousers tests into common so that it can be
re-used when adding more categories of trousers tests.

Review URL: http://codereview.chromium.org/1301004
ite_tpm.py
09d8a0db9eb89d0e38d21ac34f9edf27e1fad9dd 25-Mar-2010 Chris Masone <cmasone@chromium.org> Add control test for login_CryptohomeMounted

When we log in with the localaccount, we should get a tmpfs instead of a cryptohome. This tests that, and also acts as a control to ensure that we're not returning false positives in the other cryptohome test.

Review URL: http://codereview.chromium.org/1234004
ite_login.py
de627625632f0ae13969f773b4b921231e7a459c 24-Mar-2010 tedbo <tedbo@chromium.org> Add TPM NVRAM hardware tests from the trousers testsuite.

This adds 33 tests from the trousers testsuite to test the NVRAM
functionality of a TPM device. It requires a machine with TPM.

This CL was done jointly with singh@chromium.org.

Review URL: http://codereview.chromium.org/1272005
ite_tpm.py
b0d33ec2f67074a8a33c5bb1e3a11170aae74954 24-Mar-2010 rginda <rginda@chromium.org> add ScreenSaverUnlock autotest and teach ScreenSaverRunning to log in

Review URL: http://codereview.chromium.org/1203002
ite_login.py
99ee6a5313893bceaeb6b0ad7c457617ace8dd51 24-Mar-2010 Bryan Yeung <bryeung@chromium.org> Test that logging out will unmount the cryptohome.

BUG=http://code.google.com/p/chromium-os/issues/detail?id=2086
TEST=against an eeePC running a test image

Review URL: http://codereview.chromium.org/1304001
ite_cryptohome.py
558365c35478ba542024e546ed327b39a9a6fb21 24-Mar-2010 Chris Masone <cmasone@chromium.org> Test that checks for cookie leakage, per http://code.google.com/p/chromium-os/issues/detail?id=1967

I expect this test to fail right now, but when we fix the bug the right way, it'll start passing.

Review URL: http://codereview.chromium.org/1274002
ite_login.py
7a0a09c3cfe76ea8954d0c40d7282ad73f86a5a8 24-Mar-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> fix error handling to be more useful when symlinking fails.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4326 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
017056e00a61e831045c935ce155abdb17b476e3 24-Mar-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> fix error handling to be more useful when symlinking fails.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4326 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
e7dd0168851bb0062a75dee7b254a20cb525429e 23-Mar-2010 Chris Masone <cmasone@chromium.org> Add OS constants to a python file that can be imported by tests

I wanted to put this in client/config, but autotest_lib.client.config is not a module from which I can import :-/

Review URL: http://codereview.chromium.org/1191001
hromeos_constants.py
ite_cryptohome.py
ite_login.py
8d070ff8ede866ca207936ac38ab82460d193651 23-Mar-2010 Mike Truty <truty@google.com> Add site_sysinfo.py which emits extra system info as Autotest Test Attributes.
Data includes: build#, release version and more.

Review URL: http://codereview.chromium.org/1157007
ite_sysinfo.py
33ae33bfa67222091ccbce8c2af8949eaf60f90d 23-Mar-2010 Darin Petkov <petkov@chromium.org> Merge remote branch 'origin/upstream' into master.

Conflicts:
global_config.ini
6027eccc879ccc58c18ed83fd02bcb19f2643381 23-Mar-2010 Chris Masone <cmasone@chromium.org> Test that cryptohome is mounted after successful login.

Review URL: http://codereview.chromium.org/1125007
ite_cryptohome.py
57dfc9795a4dfc587454e4c94c5bcad37c8cc0ab 23-Mar-2010 Chris Masone <cmasone@chromium.org> Move login test config files to central location

Review URL: http://codereview.chromium.org/1120013
ite_login.py
5e06f186a777ccd8c9bf619ec1777c7278277e1b 23-Mar-2010 Chris Masone <cmasone@chromium.org> Beginning of utils for testing cryptohome

There's just one simple function here so far, but I figured I'd toss it up on code review so we don't wind up both creating this file :-)

Review URL: http://codereview.chromium.org/1094013
ite_cryptohome.py
3a16e1bff81d41c8311c89120b2bf290f3beb0e7 23-Mar-2010 Chris Masone <cmasone@chromium.org> Add more test cases for login

Review URL: http://codereview.chromium.org/1088009
ite_login.py
b76c59472208fe2f9bf8617770178bffa9550e3b 23-Mar-2010 Chris Sosa <sosa@google.com> We've been passing on errors that have been important before. We need to give more user feedback

Review URL: http://codereview.chromium.org/1123007
etup_job.py
9af4f2987289b0d319dc9168ae901c86b2d03927 22-Mar-2010 Chris Masone <cmasone@chromium.org> refactor the doing of login so it can be re-used in more tests

Per mbligh, client/bin is the right home for this shared code.

Review URL: http://codereview.chromium.org/1094011
ite_login.py
2a0d01f6e55c9e13d73aa51f1d642dca6f4cc6ec 11-Mar-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Without this change there was no indication if the test name pattern matched
any tests or not.
>From 7648fd38f5e3057dfbc85280542731270609b318 Mon Sep 17 00:00:00 2001
From: Darin Petkov <petkov@chromium.org>
Date: Wed, 10 Mar 2010 16:33:47 -0800
Subject: [PATCH] Fail setup_job if there're no setup candidates.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4300 592f7852-d20e-0410-864c-8624ca9c26a4
etup_job.py
cf20a62c800b93e5d76325d77a59db26999ed045 11-Mar-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove the analysis directory, i.e. 2170-autotest/yrnx1/analysis/. I have not seen any use for this and the code does not seem to point to it anywhere. If someone uses it speak up otherwise we are removing it.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4298 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
8be4cd7edb0d84197b0f10b6c10f8414ee388e2a 11-Mar-2010 Darin Petkov <petkov@chromium.org> Fail setup_job if there're no setup candidates.

Review URL: http://codereview.chromium.org/792007
etup_job.py
0d2fcb1fb7ee1198a4bf84c8fe79ab980f6418d2 09-Mar-2010 Sean O'Connor <seano@chromium.org> Merge remote branch 'remotes/origin/upstream' into tmpbranch
3649141cea5fda511978483ddf8709221f4c57fd 06-Mar-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Split netperf/netpipe control files out into tests

From:kdlucas@google.com

So I've split the netpipe and netperf control files into separate control files and a .py file for each one, so that it will be easier to add additional tests that use the logic of the python scripts without duplicating code.

I'm also taking advantage of the new added function to get the platform_label, as in my testbed I have assigned a net_server platform label for the machines I want to use as the network side of these tests.

So, the attached patch now adds two methods to client/common_lib/hosts/base_classes.py, and it stores the current state so when you enable IPFiltering it will restore to it's previous state.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4288 592f7852-d20e-0410-864c-8624ca9c26a4
et/net_utils.py
4d03cf61d998e13d4a19a37ad92e4f0f39998322 04-Mar-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add support to the client logging config for optionally reading a log file
prefix from the global config, and change the autotest.py execution code to
make use of this to produce client.0.*, client.1.*, etc log files instead of
just capturing one set of client.* logs.

Also modifies the server-side logging to capture client.N.log files instead
of client.log.N files (to be more in line with the logs from the client) and
retains the file only if the equivalent client.N.DEBUG file cannot be captured
(e.g. in the case of a complete client crash).

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4285 592f7852-d20e-0410-864c-8624ca9c26a4
lient_logging_config.py
81926f6bd1f03b13242a278caaa8ff9868484c74 25-Feb-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> On Wed, Feb 24, 2010 at 3:44 PM, John Admanski <jadmanski@google.com> wrote:

> logging.error("%s: %s" % (test_name, e))
>
>
> should be:
>
> logging.error("%s: %s", test_name, e)
>
> With the logging you don't do the % interpolation yourself, the logging framework does it.
>
>
Sure. Fixed.

>
> Also, don't use the form "string.find(x) >= 0" when trying to see if a string contains x, use "x in string" (or "x not in string" for the opposite case).
>
>
I assume this was an FYI rather than a review comment given that this
statement wasn't part of this patch. Anyway, fixed it so that it actually
works and doesn't match if a test name happens to contain the substring
"all".

New patch attached. PTAL.

Thanks,

Darin

>
>
> -- John
>
>
> On Wed, Feb 24, 2010 at 3:31 PM, Darin Petkov <petkov@google.com> wrote:
>
>> Fix setup_job so that it doesn't fail at load_all_client_tests if a
>> test in the tree is broken. Collect and print the broken tests (if we were
>> to actually build them).
>>
>>
>> _______________________________________________
>> Autotest mailing list
>> Autotest@test.kernel.org
>> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
>>
>>
>
>From 01985433402b69df50934d6050219a8504fe6ab0 Mon Sep 17 00:00:00 2001
From: Darin Petkov <petkov@chromium.org>
Date: Wed, 24 Feb 2010 14:14:21 -0800
Subject: [PATCH] Fix setup_job so that it doesn't fail at load_all_client_tests if a test
in the tree is broken. Collect and print the broken tests (if we were to
actually build them).


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4270 592f7852-d20e-0410-864c-8624ca9c26a4
etup_job.py
f23fd920c08ca1734e2dd2827a494619f53694c2 25-Feb-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make autotest more arm friendly

This is a tiny patch with makes autotest base_util works with arm based
ubuntu linux, and hopefully, chromeos in the near future.

The reason for this change is arm ubuntu /proc/cpuinfo will return upper
case 'Processor' instead of 'processor'.

From: ericli@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4269 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
ed79a1ceaba1741171b7a14eeb854697f569041d 25-Feb-2010 Darin Petkov <petkov@chromium.org> Fix setup_job so that it doesn't fail at load_all_client_tests if a test
in the tree is broken.

Review URL: http://codereview.chromium.org/660031
etup_job.py
666c97cc527890da8495607bc388074b8591780f 16-Feb-2010 Darin Petkov <petkov@chromium.org> Merge remote branch 'remotes/origin/upstream' into master
17ff74ed27092e9636beb9960adfc4926668af74 14-Feb-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Rev4243 will break client/bin/autotest for now. There are some typerr inside and apologize for that.

from: ericli@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4245 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
dc09a6832544a1a0df819eb15ff48ab23097b45b 13-Feb-2010 Sean O'Connor <seano@chromium.org> Merge remote branch 'remotes/origin/upstream' into tempbranch
d780d55f2530491198f51e70613dd95e8a31a8c6 13-Feb-2010 Sean O'Connor <seano@chromium.org> Merge remote branch 'remotes/origin/upstream' into tempbranch
e3a22513ce0a52739f89589c43af9e221e1ada61 12-Feb-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> The new flag will prebuild all autotest client tests/site_tests on the server side, when the dev tool chain is not available on the client, by directly invoke the setup method() on the test.

If this flag is not provided on the command line (default behavior), there should be no regression changes to existing usages.

If provided:
--setup=all will prebuild all client tests/site_tests.
--setup=A,B,C,.. will only build the comma separated list of tests supplied.

This new flag does not work with any control file, instead, it works on test classes.


from:ericli@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4243 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
etup_job.py
etup_job_unittest.py
516c8df89f86c20aa96d05df921e089375cc8dfd 12-Feb-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Moved the duplicate add_to_bootloader code into its own function and
called it from both kernel and rpm_kernel. Changed the behaviour about
the root= when given from both job.config_get('boot.default_args') and
the args kewyword argument to pick the latter. It allows control files
to provide their own root= and override the one set by default. Added
unittest for the new behaviour.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4241 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
ernel_unittest.py
b95c6a7a1eb72f188f3ffe66000abd6bda79f5b6 10-Feb-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add hooks to job.parallel to split out job._record_prefix state into
subtask-local persistent state. This should keep parallel tests from smashing
eachothers status log indentation.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4229 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
d60882f21c28087da2b33aad1670fe717388ba4a 04-Feb-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Client utils: Update utils.unmap_url_cache, added hash_file

Checking hashes for files is a handy utility function for
client side tests, so moving the function hash_file to
autotest_lib.client.bin.utils, and updating the function
unmap_url_cache. Also updated the parts of the code that
reference the previously mentioned functions.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4205 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
5efc03f9dc9444fb8c46846a500eb30989a7cf41 02-Feb-2010 Darin Petkov <petkov@chromium.org> Merge remote branch 'remotes/origin/upstream' into tempb
88f602c1cfa54a0085737817a1a477c833e10837 02-Feb-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This patch adds routines for reading the hardware real-time clock, setting the
RTC-based wake alarm and managing the system power state (standby,
suspend-to-ram, suspend-to-disk).

From: petkov@google.com




git-svn-id: http://test.kernel.org/svn/autotest/trunk@4181 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
8862e7022370975a8e77d4ad1c3e91ecf69fb72f 11-Jan-2010 Darin Petkov <petkov@chromium.org> Merge upstream into master.

Conflicts:
client/tools/make_clean
server/hosts/abstract_ssh.py
12b45582c04b2417036a6f11afc843ac5fddea50 11-Jan-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Massive permission fix

Fix permissions for all the development tree

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4094 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
ase_utils.py
sinfo.py
arness.py
arness_ABAT.py
arness_simple.py
ob.py
ernel.py
ernel_config.py
et/__init__.py
et/basic_machine.py
et/common.py
et/net_tc.py
et/net_utils.py
et/net_utils_mock.py
rofiler.py
rofilers.py
etup_job.py
ysinfo.py
est.py
tils.py
9de6ed7ab19c29b5072d52439f434453df16bec0 11-Jan-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Eliminate the last uses of the public state managment interface for
storing private job state. This does it for the last bits of
client-only state.

It also changes job.record to use a _record_prefix value, instead of
a group level value, for tracking the "current" indentation of status
logging. It's only a minimal change to record, I have more significant
refactoring in mind for getting rid of the massive duplication of
the job.record infrastructure, I just targetted this specific aspect
to get rid of the last of the "old" state management.

Note that unlike the other stateful properties, job._record_prefix is
NOT a single, global value automatically shared between the server
and client job; the client puts the stateful property in the client
namespace to keep its value independent of the server one.

Risk: Medium
Visibility: Clears out the last of the "old-style" use of storing
private job state in the public state area.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4086 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
a11a045e56301bea09f54581c5ec5e08d328d03e 08-Jan-2010 Eric Li <ericli@google.com> 518025 was accidentally checked into chromeos.git, and it should be in autotest.git.

This CL will do the resubmission to the right git. and CL 519088 will delete the wrong ones.

Review URL: http://codereview.chromium.org/518078
ite_job.py
91e3c4d2b650e90c67960080634297a2ec0a1a09 07-Jan-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> move setup_job from server into client

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4078 592f7852-d20e-0410-864c-8624ca9c26a4
etup_job.py
fc3da5bbdcd63840cd224282812c050c5520db11 06-Jan-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> More refactoring of the job state code to try and reduce duplication.
In the process this also refactors a bunch of job.run_test duplication,
specifically the handling of job tags (there's still lots more
duplicate code left).

The main state refactorings are:
* Storing client job steps in __steps and special-casing its removal
in autotest.py is gone. Instead the client job code stores it
directly in the client.steps state, and the autotest.py generically
removes the entire client.* namespace.
* Moving this out of the publicly-visible state and into a private
namespace allows us to drop has_state and discard_state, which
were really only needed so that we could make sure __steps was
not persisted across jobs.
* All of this client-job state managment was moved out of autotest.py
and into server_job.py. All the data this code was getting and
setting was in the job object, so it seemed like a better place
to put it. This also let us drop load_state and save_state, which
were really only there to make it easier to push and pull data
out of the server job object.
* Eliminate get_run_number and set_run_number in favour of a generic
use_sequence_number boolean property (that works on both client
and server automatically). The get_ and set_ code was only being
used to enable and disable an auto-incrementing sequence number to
be tagged to each test run, so we can just make the public
interface a boolean and handle the sequencing under the covers.
* Drop all the test_tag and test_tag_prefix code in favour of a
persistent automatic_test_tag property. Also drops the
show_kernel_in_test_tag flag in favour of just implementing this
in the control file generator using automatic_test_tag.
* Refactor all the test name tagging code into base_job, unifying
the tagging portion of the job.run_test code.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4075 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
d00f182fb4724539a8747712bc277a6c864b5737 29-Dec-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Chrome OS can't figure out init level like this. Assume it's 2 in case
of emergency (please man the exits)

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4061 592f7852-d20e-0410-864c-8624ca9c26a4
arness_standalone.py
b0cb9a008c619e92230ac9645d33f66004e80acc 29-Dec-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This should have been a separate change. Reverting, together with lmr's fix.
Will put them back as a proper change with changelog in a second.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4060 592f7852-d20e-0410-864c-8624ca9c26a4
arness_standalone.py
172ffd27f34e4340219b55dc9280b252de966273 29-Dec-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Whether you use scp -p or not, scp'ing a file with read-only permissions
seems to preserve them, hence a second scp will fail when trying to overwrite.

In order to fix this, we really need to change the general send/get file
routines to fix permissions whilst copying, but for now the main culprit is
sysinfo. We can fix this very easily by not making those file copies readonly
in the first place, until we fix the main send/get routines.

We're using shutil.copy in here, which is defined as:

def copy(src, dst):
"""Copy data and mode bits ("cp src dst").

The destination may be a directory.

"""
if os.path.isdir(dst):
dst = os.path.join(dst, os.path.basename(src))
copyfile(src, dst)
copymode(src, dst)

We already know the destination is a directory, so we don't need that bit.
A straight substitution of copyfile for copy will work fine here.

Tested, and verified to fix the issue.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4059 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
27a3ae0446e476839f9b16992063819129df1016 23-Dec-2009 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Fix client/bin/job_unittest.py, broken by SVN r3976

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4048 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
fbf73aecdd357094ae05e7d1e4ea99b1ecf93ee4 19-Dec-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Refactor all of the persistent state managing code in the client job
class into the common_lib base job class. The major change is that all
the details of the job state implementation are pulled into a class
base_job.job_state. This class handles all the internal details of the
state managment that job.get_state and job.set_state did, and also
provides a mechanism for creating job properties which are automatically
backed by job state.

This also includes a major change to the semantics of state passed
between autoserv and any Autotest clients it ran. Previously the code
was a bit of a hack, with code in server/autotest.py that would
pre-generate a state file with some pre-set values, and code that would
pull back the state file after the client job and extract some values
from it, as well as some more code that would prepend a bunch of
state initialization calls at the start of the client control file.
Instead of all these hacks, autotest.py now just pushes all of the
state out to the client at the start, and pulls it all back at the end
(with a special exception for __steps that's difficult to eliminate at
this time). So any state set on the server is automatically available
on the client, and any state set on the client is automatically
available on the server.

There are a couple of outstanding issues:
* More of the set_state/get_state code needs to be refactored
to either use the automatic properties, or the job-internal state
API (so that all the internal state is not leaked into the "public"
state visible through get_state and set_state).
* The job_state class is perhaps somewhat overengineered. It's really
just a big, automatically persistect dict-of-dicts. But most of it
is actually code that was being used before, it was just scattered
all over server/autotest.py and client/bin/job.py so it was less
obvious how overgrownt he state managment is.

Risk: High
Visibility: Replaces a bunch of get_*+set_*+default_* methods with
persistent properties, refactors all of the state managment
into a single implementation consistently used in both the
server and client.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4022 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
ee87d4dec09bbc7b243d08c20891e97207956cc1 17-Dec-2009 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Make crash handler script executable, remove an end mark from a sentence on test.py

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

git-svn-id: http://test.kernel.org/svn/autotest/trunk@4017 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
da8fb97be0353f54eb7e62e132482d728684f200 01-Dec-2009 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Fix autotest client when checking only client from svn

When the client was made configurable through
global_config.ini (r3956), the scenario "developer
checking out client directory only" wasn't
considered, and an exception will be thrown
due to the lack of a global_config.ini present.

In order to fix this, instead of throwing an
exception, just print a warning on cases that
matter, and make all the values that are
supposed to be grabbed from the config file
to have a sensible default.

2nd try: Now a warning is printed only when
autotest is being run through autoserv, since
it's probably the only case worth printing
a warning.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3981 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
arness_autoserv.py
ob.py
8374340639ac9a54f192f3310197ed9ce9e48062 01-Dec-2009 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Fixing autotest client stand alone runs

A bug introduced by r3962 is breaking stand alone runs
of the autotest client. This patch fixes the issue.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3980 592f7852-d20e-0410-864c-8624ca9c26a4
arness_standalone.py
21a5dce81c162221331949e87aa0553989a3c671 01-Dec-2009 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Adding a KVM profiler to autotest

Create a profiler to bracket test run(s) by loading and unloading the
kvm and kvm_intel or kvm_amd kernel modules. Allows comparison
of other test runs with and without the KVM modules loaded.

Add return codes to the kvm_control utility functions to detect nonzero
return values for modprobe / rmmod.

See http://www.linux-kvm.org/ for description of kernel-assisted VMs.

Motivation: improve coverage for the kernel virtual machine support code.

Risk factor: low, an optional new profiler.

Signed-off-by: Jeffrey S Miller <jsmiller@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3979 592f7852-d20e-0410-864c-8624ca9c26a4
vm_control.py
61b47b440a1755234c63f835572fba76fca01cd6 01-Dec-2009 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Control file for KVM kernel module load/unload

This is the first of several steps that will add autotest control files
that are tailored to KVM testing. In these tests we simply load the
kvm module, run existing tests, then unload the kvm module. The
purpose of these tests is to show that there is no negative impact to
a machine when the KVM modules are loaded.

Signed-off-by: Anthony Vallone <avallone@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3978 592f7852-d20e-0410-864c-8624ca9c26a4
vm_control.py
d65ad8bfeb59536bb9f451a89ee62a2ea0a4f398 25-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> From: Gustavo Rahal<grahal@linux.vnet.ibm.com>

We are facing problems with some kernel builds that disable swap after
boot. This makes the job fail because before boot, swap partition was
not counted (since it was active) and after boot, since swap is
inactive, swap partition appears in the partitions list, raising job
error with msg "mounted partitions are different after reboot (old
entries: %s, new entries: %s)"

So, the practical result is that if swap is off after new kernel boot a
job error is triggered. If this is desirable we should at least make
that explicit and raise a job error specific for the swap status
change.

In short, since I don't see why in general we should care about swap on
or off.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3976 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
dfdd45c4bb2e68cb3892eac073907655195d6b4a 21-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added per boot sysinfo logging of /proc/mounts as "proc_mounts"
filename. This is needed to be able to debug when the post reboot
mounted partititions check fails.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3967 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
ef0ac74491f22827ab1359a06c7af867794dbffd 21-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> A script to start and stop programs as daemons.
Creates pidfile
Can redirect stderr/stdout to a log file
Option to chdir to a directory before starting the process


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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3962 592f7852-d20e-0410-864c-8624ca9c26a4
arness_standalone.py
3d1b0b65a895c4c68d4903274ad11ca64fd7b170 18-Nov-2009 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Make client behavior configurable

Right now autotest will drop caches between:

* Test executions
* Same test iterations

This change turns those into configurable options on
global_config.ini. The default values were added on the
previous patch.

2nd attempt: Now global config support for stand alone client
runs was added. Everything should work now.


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3956 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ob.py
1104cd1729215e9f9447ae8a3f335f2ebd6e64d2 13-Nov-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Fix kernel_unittest breakage from SVN rev 3905.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3944 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_unittest.py
6f6afd1b5df8a75f5be00483ca13018e81f12db7 12-Nov-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Reverting revision 3917. This introduces problems since the global config
is currently not supported on standalone clients.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3939 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ob.py
38b2a85e36ae2ca0670c8da1347adc7715e98816 06-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Right now autotest will drop caches between:
* Test executions
* Same test iterations

This change turns those into configurable options on
global_config.ini. Default configuration:

[CLIENT]
drop_caches: True
drop_caches_between_iterations: True

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3917 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ob.py
0d0f67d6abcf6599ad626042d3236020e093558f 06-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Create a base_job class in the common library as a location to
refactor common code from client/bin/job.py and server/server_job.py
into.

Initially this just creates the base class and attempts to refactor
some of the __init__ code into it. It also tries to refactor the
code somewhat so that it's easier to test without mocking out large
amounts of external dependencies.

It also tries to standardize on what all the official publicly usable
attributes are, mostly on the basis of looking at what the existing
code actually does. In general my approach was:
* If used outside of the job class, assume it's public. If it makes
sense make it a requirement of the base class, but in some cases
(e.g. serverdir) it really only makes sense for one of the
concrete classes. In that case I define it as "OPTIONAL", which
means it can be None (but must still be defined).
* If only used within the job class, make it "private", which means
it gets a name starting with _. Code outside of the job modules
shouldn't be touching these. This includes the "constants" that
we define with all-caps in the class.
* I added unit tests which try to actually validate this, by
checking that all the correct properties are defined after
__init__. The test cases are still limited (all the test_init
cases) because of the pain of stubbing out __init__, but I will
be adding more in the future as I refactor to reduce the amount
of mocking/stubbing needed.

Overall, I don't know that this change by itself makes the code
simpler or easier to understand, but I don't think it makes things
any worse in that regard, while adding a lot more testing and
finally giving us a well-defined interface. I have more changes
planned, but as new improvements kept creeping into this change I
decided to mail it out for some review instead of letting it grow
even bigger. Some ideas of what I still intend to do in followup
patches:
* Refactor more of the directory management code into job_directory, to
get the rest of the mkdir/makedirs code into there. That way all
of the directory management is concentrated in one place.
* Refactor all the of get_state/set_state code into something that
automatically handles this with properties without a lot of
boilerplate getter and setter methods.
* Refactor the job.record related code that's duplicated into the
base class.

Risk: High
Visibility: Mostly code changes to standardize the job class interface.
A lot of the visible changes just involve privatizing attributes
that aren't used outside of job anyway, or adding in attributes
that were only defined on the client or server.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3916 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ob.py
ob_unittest.py
e6bc5b9ab0fdd65f131948143ee2eb97e1352d74 06-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Yet another grep adjustment for process_is_alive()
Allow case of no args.
Compare name to entire basename of command's pathname.
Allow match name to be a grep pattern.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3914 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
eaa75e594adc241b99522e57354e9efc8ba30808 06-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed support for source kernels in generated control files (using the
generate_control_file() RPC) by adding a build() method call.
Implemented a dummy do nothing build() version in rpm_kernel (also
inherited by suse_rpm_kernel). Updated unittests.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3909 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
3c0ea96b0dbd2115fa2057c21635173eaf461f31 06-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added common_lib.hosts.Host.cleanup_kernels and some functions it's using.
Implemented a fast local version of those functions in LocalHost to not
go through the run() abstraction. Added call to cleanup_kernels() from
generated control file code so it will cleanup unused kernels (not
referenced by the bootloader) each time it's installing a new kernel.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3907 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
ob.py
ob_unittest.py
ocal_host.py
ocal_host_unittest.py
508cbf68612a4aa6f44b364fd08e015a9649de00 06-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Recent improvements to kbuild infrastructure included in linux-next tree moves
some of the dynamically generated kernel headers(like compile.h, utsrelease.h)
to include/generated directory. This breaks autotest client as Kernel build and
boot fails with :

- complete: END - ABORT ---- ---- kernel has no identity --

Include the new directories in the search path to be in sync with kernel
changes.

Signed-off-by: Sachin Sant <sachinp@in.ibm.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3905 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
55e2d63686fd44cc45f134550116fbb37ae94958 06-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Speed up drop_caches() by eliminating unnecessary 2nd sync.
This superstitious practice was never needed in any Unix or Linux kernel.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3898 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
8e62be188b4e07ff3be8ab2f515e76a94037963d 14-Oct-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> This changes LocalHost and ParamikoHost to handle command timeouts
in a manner consistent with that of utils and SSHHost, the latter
two being the "original" implementations of run().

In this case, consistent means:
- they raise the same type of exception for both command failures
(i.e. non-zero exit status) and a command timeout
- the exception for the command timeout is always raised on a
timeout even if ignore_status=True

I'm reluctant to make more far-reaching changes after seeing at a
lot of code where a standard pattern seems to be to use
ignore_status when you don't care about the exit code, and to use
a try-except when you don't care about failure at all.

Risk: Low
Visibility: ParamikoHost.run and LocalHost.run should behave more like
utils.run and SSHHost.run wrt exception timeouts.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3849 592f7852-d20e-0410-864c-8624ca9c26a4
ocal_host.py
8904d6f41c99d44b01bcd60eab70f2ac5ef25337 14-Oct-2009 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Use shutil.move to move result files in job.py

Since os.rename requires that the file is in the same partition with
the dest directory, we would get a python OSError if the result
directory is mounted to a nfs server (or different partition or
something else alike).

the traceback would be like:

Traceback (most recent call last):
File "/usr/local/kvm/kvm-test/bin/autotest", line 52, in ?
options.log)
File "/usr/local/kvm/kvm-test/bin/job.py", line 1274, in runjob
myjob.complete(0)
File "/usr/local/kvm/kvm-test/bin/job.py", line 798, in complete
os.rename(self.state_file, dest)
OSError: [Errno 18] Invalid cross-device link

Signed-off-by: Cao, Chen <kcao@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3844 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
fb11887e50185985519cecac0af93c60d1d280bd 13-Oct-2009 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Crash handling system: Move it to client side code

It's undesirable to have crash handling setup on server
side testing, hence make the methods that do the actual
work as empty stubs in the common test code, and move
these methods to the client test definition, this way
setup will happen only on client side tests.

Thanks for jadmanski for helping me to figure out how
to do this properly.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3841 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
f7368c5f18a04f5af828223c3d1ae3c379f06938 13-Oct-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Added safe arguments support to hosts.run() abstractions and stdin run()
(only string at this time) support to ParamikoHost.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3840 592f7852-d20e-0410-864c-8624ca9c26a4
ocal_host.py
ocal_host_unittest.py
07e27af54bd841e9a7b8d6d189fec3dd4ae2a92b 12-Oct-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> I realized that my initial addition of the default_profile_only
property was missing proper persistent state support on the client.
It won't be preserved across reboots, and changes to it on the
client won't be pulled back to the server. This change fixes that.

It also goes back to the setter approach for setting this property.
When I fixed this it occured to me that this was the real reason
we've used setters in the past for properties like this. I have
some refactoring in mind to clean up the handling of these stateful
properties, but that's rather substantial and I don't want to block
these changes on that so for now I just put in an implementatation
that's consistent with the "standard" handling we already have.

Risk: Medium
Visibility: Properly preserves the state of default_profile_only
across reboots and after client jobs.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3826 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
a6082efeb30cd86d09fcf25d55cde15dedd60fce 12-Oct-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Add a global mechanism to the job object to allow users to change
the behaviour of profile_only, so that all tests default to

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3818 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
a536dbfc5e5a92a32520d31f856db8f4df4980d0 06-Oct-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Fix client/bin/job_unittest, broken by SVN rev 3662 by mbligh.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3800 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
c2ebea01c0f3ecf4847eb13f3228118f36be124a 02-Oct-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Merged the contents of client.bin.boottool and server.hosts.Bootloader
into a common_lib.boottool API. Added unittest for it. Updated users.

Visibility: this changes the client and server job.bootloader API
slightly and while I've tried to make sure that all users of the old
API are updated to the new one it's possible that there is code ouside
the Autotest source tree that may rely on the old API.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3785 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
arness_ABAT.py
ernel.py
ernel_unittest.py
en.py
0758c82ce9ef641b746b5b9a2d0ce409ba6169c7 18-Sep-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> this patch add POWER7 flag in get_cpu_arch method.

From: halves@linux.vnet.ibm.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3749 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
8b30a6c6dac81063d7799154e632b1eab3100ada 18-Sep-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make drop_caches_between_iterations default for all tests except
kernbench.

Signed-off-by: Divyesh Shah <dpshah@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3741 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ea0405c4f0129ede9f0078b780014eafd7a7fde2 05-Sep-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Pass the user autoserv is running as through to the client.
This can be used to su back to the running user on the remote
end for file access, etc

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3662 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ob.py
22f160e1f689ee0391fc2b5ae5927551614e1428 03-Sep-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Improved error reporting in case job.__init__ fails by trying to record
an ABORT message. In order to do so I had to split client.bin.job.__init__
into a "pre record init" part containing the required initialization
for job.record() to work and the rest of the initialization into a
"post record init" function. Also moved some of the initialization code
into their own functions where it was logically separated. Updated unittest.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3648 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.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
arness_unittest.py
ob_unittest.py
ocal_host_unittest.py
ackage_unittest.py
artition_unittest.py
a3c17fc206d34ae196e8d3df4eb99a3ccd249136 25-Aug-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add process_is_alive() to client/bin/base_utils. Use a smart pgrep command which finds the python processes not found by plain pgrep.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3617 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
4e2dd02a95e88a099dbe07635a38b8c7d9fe9ecd 25-Aug-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> While working on the 0.11.0 branch, discovered a small bug on
client/bin/fsdev_disks.py: on the prepare_disks method, a check to see
if one of the parameters is instance of a invalid TestFlags object.
Reading the code, it became clear that the author meant to check if
fs_desc is an instance of partition.FsOptions. This patch fixes that and
the fix is identical for both 0.11.0 and trunk.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3601 592f7852-d20e-0410-864c-8624ca9c26a4
sdev_disks.py
8ec6f0e5c4a6dc6b7549daaba164c795a894c6c6 25-Aug-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added /proc/partitions in the list of sysinfo per reboot files. This
should help debug issues with code that depends on /proc/partitions
(like the recently added check for mounts to match between reboots).

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3597 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
ce955fcf58207d795ff1fe0001851b8b3728452c 24-Aug-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Created a common_lib host object hierarchy (with site specific override
support) and moved *some* non server specific code from server/hosts to
the common_lib version. Created a client.bin LocalHost host object
inheriting from the common_lib Host and implemented a run() method based
on utils.run() (ie a host object for the local machine). Modified
client/bin/autotest to receive a new --hostname argument to tell it the
hostname to use for the LocalHost.hostname instance attribute and
updated server/autotest.py to send use this argument. Modified
client.bin.job to set a self.host instance attribute with an instance of
LocalHost and updated the unittest. Added an AutotestHostRunError class
(raised on LocalHost.run() failures).

Risk: high (there are modifications in the core server side support code
and some core client code).

Tested with verify/repair and client/server sleeptest jobs.

To be able for SVN to remember code history (that most of the new
client/common_lib/hosts/base_classes.py is based on the old
server/hosts/base_classes.py) then the following steps are probably needed
to apply this patch:
$ svn mkdir client/common_lib/hosts
$ svn copy server/hosts/base_classes.py client/common_lib/hosts
$ patch -p1 ...
$ svn add client/bin/local_host.py client/bin/local_host_unittest.py client/common_lib/hosts/__init__.py client/common_lib/hosts/base_classes_unittest.py

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3594 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ob.py
ob_unittest.py
ocal_host.py
ocal_host_unittest.py
42ebd80aae9f801b6fc0a1da3cd84bc2b70d0121 21-Aug-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up the imports in harness_unittest. This...actually can break the
unit test.

Risk: Low
Visibility: Unittest fix.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3587 592f7852-d20e-0410-864c-8624ca9c26a4
arness_unittest.py
ede7e248313e4670e69b2c9c28583cbc91d6f6bc 10-Aug-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for autotest clients run by autoserv to request packages
from the server when no other repositories are available. The
autoserv process will automatically bundle up a tarball and push it
out to the client when a package is requested from it.

Risk: Medium
Visibility: Allows tests, profilers and deps to ALWAYS be installed
via the packaging system so long as autoserv is in use, even if
package server haven't been set up.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3522 592f7852-d20e-0410-864c-8624ca9c26a4
arness_autoserv.py
b1a5113d43c8f0a8b115c541d3e590d280e75565 07-Aug-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Next step in the PackageManager restructure, replace the static list
of repo urls with a list of RepositoryFetcher instances. Drops
PackageManager.fetch_pkg_file and just calls the
RepositoryFetcher.fetch_pkg_file on each repo directly in fetch_pkg.

Also adds an explicit add_repository method as a "clean" way for
other classes (specifically client/job.py) to add repositories.

Risk: Medium
Visibility: Switches over to the polymorphic RepositoryFetcher model
of fetching repo packages.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3512 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
c27c231ee840e8ce97012477ba1f917674375a1e 05-Aug-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> A very large first-pass refactoring of the packaging code. Ultimately
my goal is to replace the if-elif-elif-else type method calls in
the package manager that fetches a file with a more OO-style method
that tries to fetch the files from a variety of RepositoryFetcher
instances. My primary motivation for doing that is so that I can
add a more specialized RepositoryFetcher instance that's closesly
tied to the code in harness_autoserv.py and I feel it would be a bad
idea to try and intergrate that into packages.py itself.

However some other refactoring and cleanup ended up being required
so as a first pass I left the if-elif-elif-else style of
fetch_pkg_file, except now it just creates and instance of the
RepositoryFetcher on the fly and asks it to fetch a package.

The major changes that I did make were:
- moved the fetch_pkg_file_* methods into RepositoryFetcher classes
- moved the bulk of the packages.py into a base_packages.py file
and just left a base+site stub in packages.py since I was running
into some circular dependency troubles with packages and
site_packages
- moved the package error classes out of packages.py and into
error.py, and added an extra abstract error class so that all
the package error classes inherit from a common class
- cleaned up some of the fetch_pkg_file_* code while moving it around
such as removing a bunch of dead code from fetch_pkg_file_http
- fixed up all the utilities, tests and infrastructure that
referenced the packages module to use the error module instead
(or in a few cases base_packages)

Functionally these rather large changes should actually have very
little impact on Autotest as a whole, since this is mostly just moving
code around. I plan to follow it up with another patch later on that
replaces the fetch_pkg_file code with something that uses a set of
long-lived RepositoryFetcher instances, along with factory methods
for constructing those fetchers, and then later on with a patch that
adds support for retriving packages directly from autoserv (using
harness_autoserv).

Risk: High
Visibility: Mostly refactoring, moved error classes into error.py,
an a few bits and pieces of code cleanup in the moved
code.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3511 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
rofilers.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
ernel.py
ernel_config.py
et/net_utils.py
et/net_utils_unittest.py
tils.py
b87c238086e8f03b7b70e97116dffa0f239c26ae 03-Aug-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This patch just change -t to come first in args string.
This can be a mkfs.xfs bug, but it should cause no harm to other fs types.

Signed-off-by: Lucio Correia <ljhc@br.ibm.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3484 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
cc8ca8235667576fb100412fe95ab2a4b1894922 29-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Does some refactoring of the harness_autoserv class so that later when
I need to create a packaging tie in I can reuse some of the server
signalling code.

Risk: Low
Visibility: Mostly just extracts a bunch of code out into a separate
helper method.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3474 592f7852-d20e-0410-864c-8624ca9c26a4
arness_autoserv.py
0308cc8d469e4346a03bd5cc4b77c9b71ae86a90 29-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make the partition code a bit more general by providing a method for
translating the name of a partition to the device associated with that
partition.

Signed-off-by: Ricky Benitez <rickyb@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3472 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
8ef4e007158fe7f367823fcc6fd3b678e7613121 29-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove deprecated filter_non_linux() from base_partition.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3471 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
artition_unittest.py
2e7749bfd92476ff0453f4ab539115134d380de6 29-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Teach run_test_on_partition about a 'suffix' key in the test arguments,
use that to communicate a tag uniqueifier so we can run a given test
(e.g. iozone) more than once in a test suite.

Signed-off-by: Frank Mayhar <fmayhar@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3468 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
bb1dce34b865f0a004b9b56b6609ad739178d917 29-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed partition.get_mountpoint() to deal with the case where the root
partition is not reported properly in /proc/mounts (ex. reported as
"/dev/root") and instead look it up in /etc/mtab.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3466 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
19426eaae93dcd1b5928da6285a38e4b977c1b24 28-Jul-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Changed kernel.auto_kernel() to use the package manager to fetch kernel
URLs instead of giving them to the rpm_kernel instances. Cleaned up the
package manager a bit and added --connection-timeout parameter to the
executed wget to help in case of failed hosts when the hostanme resolves
to more than one IP.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3463 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
72817bb477fc262a86e777c4072332a96673ed1b 28-Jul-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Added support for proper subprocess killing to parallel.py, as parallel.fork_nuke_subprocess(). This involved a simple refactoring of parallel.fork_waitfor().

I also fixed a bug in parallel.fork_start() with the writing of exception pickles.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3450 592f7852-d20e-0410-864c-8624ca9c26a4
arallel.py
e1ea01512194478fea9fd5ddf56497352cdb32a3 11-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Signed-off-by: Jesse Keating <jkeating@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3408 592f7852-d20e-0410-864c-8624ca9c26a4
ernelexpand.py
3abbceee9421805bed8f5c2c6c6abb9299b32cbf 11-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> For files that won't be directly executed, the #! is unneccessary and can
confuse some tools that attempt to detect what the file is. Best to just
not have them there.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3407 592f7852-d20e-0410-864c-8624ca9c26a4
sdev_mgr.py
ernelexpand.py
s_dep.py
79ceb5bcb3fd02e2c2c8d5a8a0cf8b7db725aefb 11-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make base_partition to use logging:
* All prints were turned into debug statements
* Command string printing was supressed since we are going to
execute that string anyway, and that will be recorded on utils.run
and friends
* Pruned the file with utils/reindent.py to avoid trailing
whitespaces, and that revealed some incorrect indentation of the
original code

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3390 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
548e661da9ee4e330ac0f2262ba65f1cfe7bea01 11-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make docstrings on module base_partition to comply with
the recently agreed project's docstring standard.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3389 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
ad787c2557e90d91fd7069e8061d6e55e108ac56 06-Jul-2009 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> All test failure related exception types are not supposed to print
exception traces. Recent changes on parallel.py made all exceptions
that can happen inside a test to print the exception trace, which
is very inconvenient. This patch restores previous behavior using
logging.error() instead of logging.exception() on the fork process
code.

Risk: Small
Visibility: High Users will have previous behavior back

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3377 592f7852-d20e-0410-864c-8624ca9c26a4
arallel.py
0179c1d39d6d15298cbf6d1f3f4b18b488ee8a7b 02-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Somehow we missed this bugfix from Mihai. However, the actual patch has
to be a little different from Mihai's, as cont is an attribute from
options:

My original patch introduced a fairly serious bug, we need to apply this bugfix as soon as possible.

On Fri, 2009-05-29 at 18:55 -0700, Mihai Rusu wrote:
> On Monday 04 May 2009 13:42:18 Lucas Meneghel Rodrigues wrote:
> > Summary: If autotest is not running with the --continue flag,
> > delete the state file transparently
> >
> > For quite a while, people developing tests had problems when they
> > had to interrupt a given test before it ends: it's not possible to
> > guarantee the consistency of the state file, hence the next time
> > the test is executed, an exception is thrown. The workaround is, of
> > course, remove the state file allways. However, as Martin pointed
> > out, when autotest is not running with the flag -c or --continue,
> > we can just remove the previously left state file to make this
> > process transparent to the test developer.
> >
> > Signed-off-by: Lucas Meneghel Rodrigues <lookkas@gmail.com>
> >
> Unfortunately the patch misses any check if continuation has been
> requested thus current SVN is unable to execute any jobs that require
> continuation (for example kernel tests that reboot the machine).
> Please apply the following patch to fix it:
>
> --- autotest/client/bin/job.py
> +++ autotest/client/bin/job.py
> @@ -1251,7 +1251,7 @@
> state = control + '.state'
> # Ensure state file is cleaned up before the job starts to run if
> autotest
> # is not running with the --continue flag
> - if os.path.isfile(state):
> + if not cont and os.path.isfile(state):
> logging.debug('Cleaning up previously found state file')
> os.remove(state)

diff --git a/client/bin/job.py b/client/bin/job.py
index 437b729..6f8f650 100755


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3361 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
e7d9c605bacd7b1816987994ae18a68c63306a16 02-Jul-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make the job executiontag available in both the server and client side job
objects as job.tag.

This is useful if your job would like to copy its data off directly to a
results repository on its own from the client machine.

Mostly small changes to pass the data down, though I did some docstring
cleanup near code that I touched which makes the diff larger.

The execution tag is taken from the autoserv -P parameter if supplied
and no explicit --execution-tag parameter is supplied. This prevents
the need to change monitor_db.py to pass yet another autoserv parameter.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3359 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
1cd1f03a6698adcae033c4d5476580744962f8a2 01-Jul-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fixes a bug in the autoserv harness that was introduced when the
client was converted from using autotest to autotestd. Instead of
writing logs directly to the ssh connection we write them to files
on disk instead to enable re-connects; but the files are opened in
ordinary write mode, which means that parallel writes to them can
now stomp on one another.

If the files are opened in append mode and we write individual lines
then the writes should be safely atomic.

Risk: Low
Visibility: Stops parallel client output from stomping on one another.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3348 592f7852-d20e-0410-864c-8624ca9c26a4
utotestd
arness_autoserv.py
263313e224d61cf8c6053f9dd520de8af0b75b26 01-Jul-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a race in autotestd_monitor that occasionally comes up during
termination. It's possible for the initial SIGTERM -> std* tails
to lead to a SIGCHLD to the original autotestd_monitor before it
cleanly exits. Once it's ready to terminate the monitor should instead
clear the SIGCHLD handler before SIGTERMing its children.

Risk: Low
Visibility: Fix a race in autotestd_monitor that occasionally
caused spurious autotest client failures.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3347 592f7852-d20e-0410-864c-8624ca9c26a4
utotestd_monitor
9c12f77f7eff3cfa90fdfa19d33f82645f43dcb5 22-Jun-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed the mis-spelling of rendezvous.

Signed-off-by: Travis Miller <raphtee@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3320 592f7852-d20e-0410-864c-8624ca9c26a4
elf-test/tests/100-barrier-2x-master-first
elf-test/tests/101-barrier-2x-slave-first
elf-test/tests/102-barrier-2x-master-only
elf-test/tests/103-barrier-2x-slave-only
elf-test/tests/105-barrier-5x-master-middle
elf-test/tests/110-barrier-unordered-10x
elf-test/tests/111-barrier-unordered-20x
elf-test/tests/112-barrier-unordered-40x
elf-test/tests/113-barrier-unordered-100x
753362d363fb183f32b4403d13ccc051438641e1 22-Jun-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move client/bin/kernel_versions to common_lib; it is used by tko.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3316 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_config.py
ed887b9372eb1bd6b061869b57426b96739507f0 22-Jun-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up the handling of child process exceptions to be more robust
around failure. And fix up a crappy logging.exception call.

Risk: Low
Visibility: Fix up a problem that was causing client test errors to
get dropped on the floor with no error message.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3315 592f7852-d20e-0410-864c-8624ca9c26a4
arallel.py
c3f3d6161da50f37fd3e62980ac916f36bc2be59 22-Jun-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Save in the persistent client job state a list of (device, mount-point)
information of the current mounted partitions on the system before
rebooting and compare it to match after reboot, if not abort the job.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3312 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
10d8417b8c3576e1ba80ce00b6ae2e9cea826bc0 19-Jun-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> add two logging-related options to autoserv:
--verbose sets the console to DEBUG level output (this is added to autotest client as well)
--no_console_prefix disables the logging prefix entirely on the console

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3301 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
lient_logging_config.py
ob.py
ob_unittest.py
d3e3ac94941f88ceac69834bea39c8dbe0c9d851 16-Jun-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Re-write the fork handling code in parallel.py and
logging_manager.py so that in the child process we can be absolutely
certain that no matter what ends up happening, the child process will
never travel back up the call stack past the local function which
is forking.

As things are currently written exceptions being thrown at bad times
can lead to the os._exit call being bypassed. We need to use
try-except and try-finally appropriately to make this impossible.

Risk: Low
Visibility: fork() calls should no longer have edge cases where the
child fails to os._exit properly.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3288 592f7852-d20e-0410-864c-8624ca9c26a4
arallel.py
a25e8c31d5b27f77a1811e508d0fd1b3c1819b63 15-Jun-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add install_vmlinux flag to rpm_kernel class in client/bin/kernels.py

Copied functionality from server/rpm_kernel.py. If this flag
is set, it installs a vmlinux image from the RPM. This allows oprofile
to collect kernel stats during the test.

>From ncrao@google.com


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3276 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
4cfdce15cca1bc4988ee4531e49f3da4d18848ea 15-Jun-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> change client-side logging to split files by severity and move them to the debug dir. this is quite a bit more involved than the server-side change because of some buggy directory clearing code and various places that depended on the old configuration.

This also changes the TKO autoserv log viewers to point to the new .DEBUG and .ERROR autoserv logs.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3266 592f7852-d20e-0410-864c-8624ca9c26a4
lient_logging_config.py
ob.py
ob_unittest.py
ernel.py
ernel_unittest.py
75cdfee87bfaa3cf3f9860832b228a6d32aaed2f 10-Jun-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Make autoserv and autotest client use the new logging_manager system. I'd like to split them into separate changes, but the change in common_lib.test means it all has to change at once.

this replaces the old ini-style logging configurations with code-based configurations. i know the ini files were easier to read, but we're doing a lot more fancy stuff with logging and these give us much more power and less duplication. as one example, we'll probably move very soon to having separate .DEBUG, .INFO, .WARNING, and .ERROR logs. This will allow us to make a centralized change to make that happen, rather than duplicating a whole bunch of information across .ini files, and it'll make the information much more concise.

Risk: Gravely high

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3243 592f7852-d20e-0410-864c-8624ca9c26a4
lient_logging_config.py
d_stack.py
ob.py
ob_unittest.py
ernel.py
ernel_unittest.py
en.py
b923fc2a01db6e4548ffd541d86f9be49bc5805a 08-Jun-2009 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Improve the utility function unload_module

In some cases, a simple 'modprobe -r' won't remove a kernel module with
dependencies. This patch makes module removal more robust, handling
cases that simple 'modprobe -r' won't cut it.

Impact: Low (users of the function unload_module will notice it handles
better removal of modules with dependencies).

Signed-off-by: Mike Burns <mburns@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3219 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
a99594de85d8f794c2e210ad98fa4effd9b00987 01-Jun-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up a print that was incorrectly converted into a logging call.

Risk: Low
Visibility: Fix up a bad logging call.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3189 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
1a4992d10279ab0350c49b53cab0104e03b5a2f1 26-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Basic stats data for the machine always used to be logged per test,
and is extremely useful for debugging. At some point, this got broken,
put it back ...

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

Autotest@test.kernel.org
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3173 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
85f29dd2bf180895ec0fdf2810d1e9936423a8cb 21-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Hi Team,

I wrote some methods that extends the test_config.py. These methods are
to check the parameters in a config file.

Today we did not had this functionality in autotest and need write some
functions inside our test to check if the test got a valid ip address
from config file or if the parameter got was a string or int.

To use this proposal, we will use a new format to describe the
parameters, this format is type.parameter, example:

ib.server = 192.168.1.1
str.password = mypass
int.mtu = 2048

This method can be extended to support new types, helping in the test
development, because the developer only needs use the method
test_cfg.check() to validate the config file, example:

test_cfg.check('test config section')

Regards,


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3155 592f7852-d20e-0410-864c-8624ca9c26a4
est_config.py
9bfef382c7abd3737e9abe10c958de6b04e290b9 21-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Moved partition.py to base_partition.py and created a partition.py
that imports all symbols of base_partition.py and those of
site_partition.py if such a file exists (it actually uses execfile() on
these files so the names are created in partition.py and it's
possible to properly unittest and stub them). Modified
partition_unittest.py to test base_partition.py and also partition.py
(ie after it applies overriding, to make sure that the overrides do
not break functionality of the non site specific code).

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3153 592f7852-d20e-0410-864c-8624ca9c26a4
ase_partition.py
artition.py
artition_unittest.py
1b160a0e5f3ce9877aefd143cd39327303916afe 21-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> On SUSE, the kernel is split into several RPMs (vmlinuz + most basic modules,
common modules, extra modules, and optionally third-party kernel module
packages).

This patch allows a file with a list of RPMs to install to be specified when
creating a job. The file has to have .list extension.

Signed-off-by: Jiri Benc <jbenc@suse.cz>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3152 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
ernel.py
68a4291ad1a0257c873fd98c43ea62842ad8f1ac 13-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove the get_system_nodes() method from base_utils as it does not work in all cases. Moreover the numa_nodes() method instead gets accurate information about the numa nodes on the machine and should be used instead of get_system_nodes()

Risk: Low
Visibility: None

Signed-off-by: Ashwin Ganti <aganti@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3130 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
4bacefa158060706dbb21ed15682edd441e9ed75 13-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Summary: Converting the remaining print statements on job.py to
logging statements

Signed-off-by: Lucas Meneghel Rodrigues <lookkas@gmail.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3128 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
cc6093bf8be665840d53ae2b3c4de9c248494e01 13-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Summary: Simple conversion of one print statement on base_sysinfo

Signed-off-by: Lucas Meneghel Rodrigues <lookkas@gmail.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3127 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
ea772c1ca2376f82ec5f5bfd4baa7f46b2fad847 13-May-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Collect per-iteration sysinfo into the test sysinfo directory, not the
job sysinfo directory.

Risk: Low
Visibility: Moves the per-iteration sysinfo results

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3121 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
90e82ba277e36b0e2d026a497c0036a0d35418ae 12-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> partition is in the autotest tree so the import should reflect that.

Signed-off-by: Travis Miller <raphtee@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3113 592f7852-d20e-0410-864c-8624ca9c26a4
sdev_disks.py
205977943b2ca1489538f67701e15ea3deda279b 12-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Summary: If autotest is not running with the --continue flag, delete
the state file transparently

For quite a while, people developing tests had problems when they had
to interrupt a given test before it ends: it's not possible to
guarantee the consistency of the state file, hence the next time the
test is executed, an exception is thrown. The workaround is, of
course, remove the state file allways. However, as Martin pointed out,
when autotest is not running with the flag -c or --continue, we can
just remove the previously left state file to make this process
transparent to the test developer.

Signed-off-by: Lucas Meneghel Rodrigues <lookkas@gmail.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3112 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
9e4dbb186aa1dd6dff47f0ee5bc9632f64bb61da 11-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Break out filesystem setup and cleanup code. Add a utility
function for running a test that requires multiple partitions.

Signed-off-by: Chad Talbott <ctalbott@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3105 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
4556178ac97dc6160a31ac105f5d987b6c9933d8 11-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added utils.get_relative_path() to compute the path of an absolute path
as relative to a given directory path and used it when creating the
test results sysinfo/current_reboot symlink to create a relative symlink
that would still be valid when relocated.

Added a "preserve_symlinks" default False keyword argument to
AbstractSSHHost.get_file/send_file to tell rsync to try to preserve the
original symlink and not transform them into the referenced
file/directory when copied (only for rsync as scp has no way to do
this). Used the new flag when fetching the test result directory to
preserve symlinks. Along with the previous change this should fix an
issue of >100k sysinfo bloat because of duplicated content instead of
preserving the client symlink.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3104 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
0a8c33262cb48723ef6ce5b0a6e1efec51f19914 28-Apr-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Modified import_site_class() to not wrap baseclass with a local dummy
class when the site specific class does not exist (thus hopefully fixing
an issue in SVN about not being able to run server side tests because
sysinfo cannot be pickle dumped), instead have import_site_class return
the baseclass when the site specific class does not exist. Also, have it
perform automatically the mixin of baseclass and the site specific class
when the site specific one is not inherited already from baseclass and
removed the mixin that was done in some of the users.

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

Autotest@test.kernel.org
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3050 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
9e33f275b86d24aabc7f09586f62f94a1d876c6f 23-Apr-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> New (and much more complex) version of the collect rpm -qa patch.
This adds a list_all function to the package management library that
supports both rpm and dpkg, and instead of logging a list of all
installed packages on every test we instead log this on every reboot
and then just log the added and removed packages during each test.

Risk: Medium
Visibility: Adds nicer logging of installed packages from tests.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3034 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
ackage.py
1116ea6b2ab281babed17e1851e665c1a37f8e85 08-Apr-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove duplicate kernel boot parameters given to boottool.add_kernel.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@2974 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
d948bfb7729e94b457bafca91a13c963d7edcba6 08-Apr-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added support in client.bin.base_job.__init__ to copy kernel boot
parameters of the running kernel and have it by default copy "console="
parameters. Updated site specific code.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@2973 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
c641fd7b36c2c65f15ab4d1dbe09a304817d7110 03-Apr-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> If any of the autotestd_monitor child processes die, the monitor
itself should also die, or else the server may never notice it has
stopped sending it client output and will sit around waiting for the
client to finish forever. If one of the tail processes dies the
monitor is effecively dead, so it should just terminate itself and
give the server a chance to restart it.

Risk: Low
Visibility: Fixes a potential server <-> client deadlock.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2960 592f7852-d20e-0410-864c-8624ca9c26a4
utotestd_monitor
16a7ff7af7fe2ae3093c5ad7452c516257184ffc 01-Apr-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> The enabling and disabling of warning messages unfortunately seems to
be rather racy. Unfortunately, since warnings and test status messages
are being pulled asynchronously from two different sources there can
be a skew of a few seconds between when the event actually occurs
and when the server thinks it does.

Ideally we could fix this by forcing some kind of sync but there
doesn't seem to be any way of doing that; we have no way of flushing
conmux output, and /var/log monitoring is even worse since we may
also have client filesystem buffering getting in the way.

I was able to fix all the cases I could reproduce by adding a five
second sleep before and after disabling and enabling warnings. This is
an...unfortunate way to fix it, but in practice it works rather well.
I'm not actually certain we can do a lot better, at least not without
completely restructuring the way we do warnings. And even then, we
still have network latency that can kill any approach that doesn't
use a "sleep for a moments while the buffers flush" anyway.

Hopefully this fixes things well enough; if this problems comes up
again thanks to > 5s skews then we may have to revisit this.

Risk: Low
Visibility: Adds some sleep to hack around warning monitor and
client status log time skew.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2950 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
7629f148feee19efa11bc041d49943aacc43c482 27-Mar-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Couple fixes for Lucas and Rodrigo's logging changes
* fix client.bin.job_unittest
* fix a couple prints that slipped into monitor_db during the review of the logging patch

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2945 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
18c11407ce6c1299ead97565ae0dc43891ed57c0 27-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Summary: Add a new VirtualPartition class to client/bin/partition.py to handle block device emulation trough image files.

Motivation: Sometimes we can't rely on a particular partitioning schema
of a given test machine to perform filesystem tests (think machines of a
test grid). In order to enable machines with enough free space on their
root partitions to run filesystem tests on "block devices", a
VirtualPartiton class was created.

VirtualPartition handles all the process of:
* Creating a disk image (using dd),
* Attach it to a loopback device (using losetup),
* Creating a single partition on this device (using sfdisk),
* Making the newly created partition available under /dev/mapper

The new device behaves exactly as a disk partition, therefore the code
was put under client/bin/partition.py. We are finding this code useful
to test filesystems transparently even when we don't have a particular
partitioning schema on the target machine. The following control file
exemplifies how to use this new API:

import os
from autotest_lib.client.bin import partition

bonnie_part_size = int(2.5 * 1000 * 1024)
bonnie_file = os.path.join('/tmp', 'bonnie.img')
bonnie_partition = partition.virtual_partition(bonnie_file, bonnie_part_size)

test_device = bonnie_partition.device
mountpoint = os.path.join('/media', 'bonnie')
if not os.path.exists(mountpoint):
os.makedirs(mountpoint)

fs = job.filesystem(test_device, mountpoint)
fs.mkfs('ext4')
fs.mount(mountpoint)

job.run_test('bonnie', dir=mountpoint)

fs.unmount(mountpoint)

bonnie_partition.destroy()

As the logging patch is still not ready (probably coming today or
tomorrow), the class implementation still uses prints. But once we get
logging straightened out, I am going to change this.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>

Updated version of the patch, adding a sanity check before starting to
create the 'virtual partition'. Martin, let me know if that addresses
your concerns.




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2942 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
54705a0d9dbe23800f14e785edbd6d3f5eebaff3 25-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> job_unittest.py wont be making no mo noise.

Signed-off-by: Travis Miller <raphtee@google.com>

Autotest@test.kernel.org
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2937 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
f40c02cf27e3765326e937a0a59a38e13365fb97 25-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Strip from the kernel version the '::<timestamp>' if present when
logging reboot END GOOD. This fixes grouping tests by source kernel
versions in the results database.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2932 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
4395bbd96ed53aec5fad87d6c169a47dfdb8c9dd 25-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added sysinfo support to log pre and post iteration (currently it logs
the contents of /proc/schedstat). Added client.common_lib.test hooks to
call pre and post iteration. Used the hooks in client.bin.test.runtest()
for client tests. Refactored server.test and added wrappers for the
pre/post iteration logging and used them on the new pre/post iteration
hooks.

For each iteration there will be a
resultsdir/sysinfo/iteration.N/schedstat.after and schedstat.before.

If there are tests that override execute() and implement their own
iteration logic they need to be changed over to override run_once()
instead and take advantage of the default execute() that supports the
pre/post iteration hooks and other things.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2929 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
ob.py
est.py
dabe63e56a236b8f726de5f7b9a42bc6a4b7b14d 21-Mar-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Don't remove the "started" file from autotestd_monitor. We use this
to indicate that autotestd has been started; autotestd_monitor starting
doesn't change that fact, so we should leave it around.

This fixes a problem with the reconnect code where autotestd_monitor
would fail to restart because after running once the file was no longer
in place and the restarted monitor didn't understand that autotestd
was still started.

Risk: Low
Visibility: Fixes a bug in autotestd_monitor that occurs when you need
to restart it

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2916 592f7852-d20e-0410-864c-8624ca9c26a4
utotestd_monitor
b18134f8faa7c5b4623760bc88650a65e70b2cac 20-Mar-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> As discussed on the mailing list, we implemented logging with a single
root logger and logging configurations per entry points. The entry
points affected are:

* Autotest client
* Autoserv
* Scheduler

We are sending patches for each one of those entry points. Now we don't
need to 'grab' loggers anymore to log messages, only need to use the
utility functions:

logging.info('msg')
logging.debug('msg')
logging.warning('msg')
logging.error('msg')
logging.critical('msg')

Which reduces complexity of the log system, and makes it easier for
developers to log messages, just select the level, make sure the
standard logging module is loaded, and profit!

From: Lucas Meneghel Rodrigues <lmr@linux.vnet.ibm.com>
Signed-off-by: Steve Howard <showard@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2915 592f7852-d20e-0410-864c-8624ca9c26a4
arness_standalone.py
ob.py
e7785cc37c2081ebd3815673ef73750f7f10dfe0 17-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Allow a vendor-specific kernel RPM installation and add a SUSE-specific one.

In openSUSE/SLE, the kernel is added to the bootloader by a RPM postinstall
script (and it works more reliably than the autotest's boottool), thus the work
for autotest is reduced to finding the new entry and adding arguments to it.

Signed-off-by: Jiri Benc <jbenc@suse.cz>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2882 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
ernel.py
e8e73c6c1160fbd238172820ed5cb87da278e7ba 17-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> make client/bin/autotestd_monitor executable



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2881 592f7852-d20e-0410-864c-8624ca9c26a4
utotestd_monitor
b1887c8f23ab66690cf872837fed39947c3bc183 12-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> [PATCH] More reliable kernel version detection when using RPM

On some distributions (openSUSE, for example), RPM version and kernel version
do not exactly match. Use the version from /boot/vmlinuz-* if such file is
present in one of RPMs, and fallback to a RPM version number otherwise.

Also, prefer /boot/vmlinuz-* and /boot/initrd-* files when updating bootloader
before the /boot/vmlinuz and /boot/initrd symlinks.

Signed-off-by: Jiri Benc <jbenc@suse.cz>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2872 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
33dd8eb8ca2fcb4b40f3a34307cd2eadfd6c4446 11-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add a new get_title_for_kernel method to boottool. It returns corresponding
title for the passed vmlinuz path.

The function is used in the next patch.

Signed-off-by: Jiri Benc <jbenc@suse.cz>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2870 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
0cae535574b8183a3649368a0616f23f2444b70a 11-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> boottool.get_entries is terribly ineffective: it calls boottool.pl to get all
kernel indexes and then calls it again for each index to get details. This means
the bootloader configuration is parsed n+1 times (where n is a number of items
in bootloader config).

Change that to parse the configuration just once.

Signed-off-by: Jiri Benc <jbenc@suse.cz>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2869 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
90b97ff1834d2c65df82d9b830be7ebb1dbf2167 10-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Detect openSUSE/SLES systems more reliably.

Signed-off-by: Jiri Benc <jbenc@suse.cz>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2864 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
f3fbce8b9aba2038f34c4dc60890eef3c3686dfd 18-Feb-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a race condition between autotestd and autotestd_monitor. If for
some reason the monitor starts up faster than autotestd, it can grab
the exit_code file before it exists (or theoretically it could lock it
after autotestd creates it but before it locks it).

To resolve this, have autotestd touch a "started" file after it creates
and locks the exit_code file, and have autotestd_monitor perform a
thirty second wait for it to exist before going ahead and trying to
grab the log files. In practice a wait of a couple of seconds is
sufficient to avoid the race.

Risk: Low
Visibility: Fixes a race condition between autotestd and
autotestd_monitor during client startup.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2816 592f7852-d20e-0410-864c-8624ca9c26a4
utotestd
utotestd_monitor
e1cd1d156c0dcd1f977592f7887d25982fbb9f9f 17-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> [PATCH] Use indexes in boottool.get_entries() and avoid bug with grub

If entry is "fallback" and bootloader is grub
get_entry("fallback") will not return the entry.
Need to use index instead
To reproduce:
./boottool --info="fallback"
./boottool --info="2" # assuming that fallback entry is 2

While here, pythonize parsing of boottool --info output

Signed-off-by: Gustavo Rahal <grahal@linux.vnet.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2808 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
ad1b11c9b2eecc8d7e7a68096e6ed9f4c94b744c 17-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> [PATCH] Use indexes in boottool.get_entries() and avoid bug with grub

If entry is "fallback" and bootloader is grub
get_entry("fallback") will not return the entry.
Need to use index instead
To reproduce:
./boottool --info="fallback"
./boottool --info="2" # assuming that fallback entry is 2

While here, pythonize parsing of boottool --info output

Signed-off-by: Gustavo Rahal <grahal@linux.vnet.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2806 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
a1b2af2b1e3edef3a2db38321acf8454eac7e0db 17-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added client.bin.partition.get_unmounted_partition_list() function and
moved server.hosts.Host.check_partitions() logic into it. Exposed the
internal open()-like functor from check_partitions() in the public API.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2800 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
f37df84b97538540185f91e2e5b62890ca407b3b 11-Feb-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add job.enable_warnings and job.disable_warnings methods to the job
classes, to allow you to disable and enable specific types of console
warnings from being logged. Whenever these messages are called an
INFO line is written to the status log.

I added three categories to the patterns, based off of suggestions
from Martin: BUG, OOM, and LOCKDEP.

There are some limitations to this capability; it the warnings are
basically disabled globally, there's no easy way to disable them for
specific hosts or tests. It could probably be extended to host-specifc
controls if a need arises, but extending it to specific tests isn't
really possible, there's simply no way for the console monitoring to
determine what test the warning is actually associated with. Note that
this is only a problem for tests run in parallel; if you are just
running a series of tests obviously the warnings can be turned off at
the start of the test and then turned back on after it is finished.

Risk: Medium
Visbility: Adds categories to the console warning patterns, and a
mechanism for enabling+disabling specific categories of warnings.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2771 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
73abdb2150869545359528216f22924a0c02256a 10-Feb-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix the ordering of the flush+unlock+close operations on the exit
status file in autotestd. We need to unlock before we close, and we
also need to make sure the exit status is written out before we
unlock.

Risk: Low
Visibility: Eliminate a race condition + flock breakage.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2768 592f7852-d20e-0410-864c-8624ca9c26a4
utotestd
1e295d89caae9af73cc6585dbd8fa7c09d5e4343 06-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Open unbuffered files when using fd_stack.redirect. Buffering can lead to interleaving problems with stdout, and tee_redirect already uses an unbuffered file so I think it ought to be this way anyway.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2759 592f7852-d20e-0410-864c-8624ca9c26a4
d_stack.py
c1525b96adbc145c6a1c16af9f563a32b42f106e 06-Feb-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a typo in autotestd. In practice this bug was not a problem
because the failure happens after the process has already written
out an exit code and the termination of autotestd releases the
file lock anyway.

Risk: Low
Visibility: No more post-termination crash in autotestd

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2754 592f7852-d20e-0410-864c-8624ca9c26a4
utotestd
6dadd8360710eb88fb80a9ce85433e13e8dcabe9 06-Feb-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Adds an autotestd and autotestd_monitor script to the Autotest client
to allow us to run clients from autoserv in a disconnected fashion,
and adds support to autoserv to make use of this when running clients.

The basic idea is that instead of running the client via SSH and
sending output & status info back to the server via the connection,
we kick off autotestd to run the client and write output & status info
into temp files, and then run autotestd_monitor from the server to
feed that information back to the server over SSH. Since the monitor
is completely detached from the running of the client itself, if
anything happens to the connection we can simply restart the monitor.

I also had to fix a bug in ParamikoHost that came up while working on
this. Sudden disconnects from the client-side would lead to the
commands exiting with a SIGHUP; the SSHHost implementation would
throw an exception is this case since this is a connection failure
rather than a command failure. I added an explicit SIGHUP check to
ParamikoHost.

Risk: High
Visibility: If the network connection gets killed for any reason but
we can reconnect to the remote machine we now do that.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2752 592f7852-d20e-0410-864c-8624ca9c26a4
utotestd
utotestd_monitor
cc038643478d1c4629b43964618da63f19fc5a93 05-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make site_utils import conditional on file's existance

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2749 592f7852-d20e-0410-864c-8624ca9c26a4
tils.py
d0d77a896aa6ccaffce8eb5b81783dbc23120934 03-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove trailing whitespace from client/bin/job.py

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2741 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
9fcb38bfed9416dfa22b0da199f4556ffff19724 03-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Need to relax the constraints on rtt_min and rtt_max in the machine files, since it's very
easy to fail these constraints, and the distribution of these values (especially rtt_max)
is still too large to allow a meaningful constraint.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2738 592f7852-d20e-0410-864c-8624ca9c26a4
et/basic_machine.py
bc05809e84cd6a5916e8b7313446542e4af82381 03-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> - overall improvement of documentation
- get_entry, remove_args, add_args accept title or index
- added get_entries
- marked print_entry as deprecated (IMO get_entry does the job
better)

Signed-off-by: Gustavo Rahal <grahal@linux.vnet.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2729 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
2bca3ff7483de2a58d9c1fe412dd11acd7c85845 03-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add code to mkfs handling to skip adding a '-t <fstype' option if one
is already present in the arguments. Allows testing of ext2 file systems
running as ext4 by judicious use of a "-t ext2" mkfs option.

Signed-off-by: Frank Mayhar <fmayhar@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2728 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
e7693bae7cbaf18d5dd693620db4618f25f5d633 30-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Cleanup.
Remove site-specific containers 'initialize' arg from host.create_host().
Remove site-specific containers code from client/bin/autotest_client.

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




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2712 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_client
f76e69974c81b69902f19c9700d8209ffe7ad3c7 30-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed partition unit test and added one more test using
keyword arguments and assuming the new default arguments.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2710 592f7852-d20e-0410-864c-8624ca9c26a4
artition_unittest.py
812631ca7622d457304cfbd9d7d5096129bbbe9d 30-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move job.py package timeout to an hour, good for slow connections and large files.


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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2709 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
b0b58a2ae3eee9cac2b36cce70ba4b1483d6b442 30-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Cleanup: Remove site-specific container code from client/bin/job.py.

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




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2708 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
7aeda67c1743ff85e34facb565e6c358c37c655a 30-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix kernel rpm imports to handle local paths properly

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2705 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
84f3e0a224bbac609453fd7c86dd37d4a638fa7b 29-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Delete cpuset code

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2694 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
bc0914b942f6257d3b75cf6e75025e3003f37e9b 26-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> forward mountpoint passed to job.partition to partition lib

Signed-off-by: Gustavo Rahal <grahal@linux.vnet.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2689 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
artition.py
56325de82bf7551025c972f5d14a621206a5663b 23-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> doc updates to partition.py,
deprecate filter_non_linux, FsOptions __init__ signature change

Signed-off-by: Gustavo Rahal <grahal@linux.vnet.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2682 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
efa61a44f32407e4adebbaee2ffeb517d16b7e1d 23-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> remove the nway stuff, was not meant to be in external tree

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2680 592f7852-d20e-0410-864c-8624ca9c26a4
way.py
way_unittest.py
a106d4d2ffaad75b831504f80d34613421f2df4c 23-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add umount_partition, is_valid_disk and is_valid_partition to base_utils

Signed-off-by: Gustavo Rahal <grahal@linux.vnet.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2679 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
f6de1337b47ec31bd3b0469cb8ef24a6dc315502 21-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Job object should be more consistent to current naming in autotest
and technically more accurate so deprecate "filesystem" method
and create "partition" method.

Signed-off-by: Gustavo Rahal <grahal@linux.vnet.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2668 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
aece77e0d7093df8347895b1f7686db3ec842d4f 21-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> turn utils into a simple mix-in

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2667 592f7852-d20e-0410-864c-8624ca9c26a4
tils.py
2da4d885be334f7db795c3f017daa06ff8ea703d 21-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move utils to base_utils

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2666 592f7852-d20e-0410-864c-8624ca9c26a4
ase_utils.py
tils.py
3bf79ca4d5490f9af09e1ddc39b8df5343b34d06 21-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Allow site_utils to override utils, for version control

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




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2665 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
et/net_utils.py
et/net_utils_unittest.py
artition.py
tils.py
d544a35a0377414f4413227284ff9d642f02cf44 15-Jan-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> When performing a reboot, do a sync before starting the shutdown.
A really long sync can cause what should otherwise be a fairly
short operation to take a long time. Raising the timeout on the
wait_down command could potentially mask other real issues, so
instead lets just do an explicit sync as a seperate operation.

Risk: Low
Visibility: Having a ton of data to be sync'd shouldn't lead to
wait_down timeout on a reboot.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2654 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
59a1675118f28f058fad3a522a3cad90f8583d45 14-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Renamed a test only default argument of partition.get_partition_list so
it could be used by non unit_test code too and updated users. Specified
that partition.partition() job parameter could be None and nobody should
assume it isn't so in partition.partition.__init__

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2638 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
artition_unittest.py
062ed15b8f7d4de6da101348bd33bb7b25f7aaef 13-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added a function to import site specific functions. Modified code to use it.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2628 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
a700772e70548b10721ba709c7ec5194bb6d7597 13-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Created a client/common_lib/utils/import_site_class function to take
care of site specific importing of classes. Modified code to use it.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2626 592f7852-d20e-0410-864c-8624ca9c26a4
sdev_mgr.py
ob.py
ysinfo.py
2f29c19882287b5533312b1c4367819bf3a53f91 12-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This patch update the vendor name "Fedora Core" to "Fedora". Which was
used by last Fedora releases.

From: Higor Aparecido Vieira Alves <halves@linux.vnet.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2622 592f7852-d20e-0410-864c-8624ca9c26a4
tils.py
b88d6dc723de628c0da22513c59997eab29ab1f3 10-Jan-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Remove the reason logging from END messages when running a group
for "standard" failures (e.g. TestFail, TestError, etc.). The reason
should already be logged at the point of failure, so the duplicate
message is just noise.

Risk: High
Visibility: END reasons for normal failures should be empty

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2619 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
53da18eddf69243ca175d9a4603cba5b55300726 05-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Rename autotest_utils to utils

Fixes longstanding hangover ugliness from the original change away
from doing "from autotest_utils import *".

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2595 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ase_sysinfo.py
puset.py
sdev_disks.py
arness_ABAT.py
ob.py
ob_unittest.py
ernel.py
ernel_config.py
ernel_unittest.py
et/net_tc.py
et/net_tc_unittest.py
et/net_utils.py
et/net_utils_unittest.py
ackage.py
ackage_unittest.py
artition.py
elf-test/extract_tarball_to_dir
elf-test/test_redirect
tils.py
en.py
1f7173b2162f134f10e949756d68cd7556760318 18-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Reinstate accidentally removed partition handling code

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2575 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
fd5f687e0076972c0cdac05222e0310d3328c511 15-Dec-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Change autotest_client to only use -H simple if you don't specify
any other -H args. Otherwise when autoserv calls this you end up
with "-H simple -H autoserv", which technically works, but isn't
really the right thing to do.

Risk: Low
Visibility: No more duplicate -H args on the autotest commandline.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2564 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_client
34347afacc14a014a301ee3c738b33203824a717 11-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> client.bin.job.filesystem passes an extra mountpoint
argument to construct partition.partition.

Signed-off-by: Kazuo Ito <ito.kazuo@oss.ntt.co.jp>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2561 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
27b111e9efeba6e1cf38c962300aa3f7a5d3c87a 10-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Setting of stale_page_age fails on newer kernels.
Enumeration of all numa mem nodes must avoid new non-nodeNN filenames
that are now below /sys/devices/system/node/.
Assigning of non-avail mem nodes to a cpuset raises a different
error than before.
Risk: low, still runs on all container-supporting kernels.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2555 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
c39fa9ada24f773079d6162383013827e4bc4292 06-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Catch and categorize errors raised directly from the controlfile top
level itself. This takes care of runs using a single non-stepped
control file that raise any of the Test exceptions.

Removes the recently added JobNAError. It and TestNAError are
identical, there is never a case where one would be caught and the
other wouldn't.

This is hopefully the final nail in the error handling coffin.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2549 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
0496582a29fbaead3bda41f7b88549f1455ab7ab 06-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Some style and documentation cleanup. The change to the run_group tag
parameter logic is a similification of what the old code already did.

no logic changes.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2548 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
5f8eb9d907fbf0af11d64178527468ed5ba897ef 03-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed the bogus return in fsck fixup code.
Turned the mountpoint parameter into a function

Signed-off-by: Michael Rubin <mrubin@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2537 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
c452a51bed4a69b97233e5c36c3dd489127f8b14 03-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Removed the mountpoint data member of the
partition class. It turns out that a partition can have many
mount points and they can change over time. Since it can lead
to confusion it has been removed.

This means that mount requires a mountpoint argument, which
means that we changed how some of the code passes args to mount.

Also comments were added to earlier code.

Signed-off-by: Michael Rubin <mrubin@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2536 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
4f407467b805dfef38c886364f575581775105f3 03-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Adds an UnhandledJobError exception and JobNAError exception.

When executing steps in the step engine, catch JobNAError and record it
as a TEST_NA and continue on to the next step. Turn all other
non-SystemExit exceptions into an UnhandledJobError wrapping the
original.

This allows control files and othe common code to raise
error.JobNAError to indicate that a particular thing in a multi-test
(step) control file cannot be run but should not cause the entire job
to abort.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2534 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
d876f459fff6cc4994cab329b1f80c99a86edcbd 03-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> gps pointed out that "== and != work in most cases but its better to use is
and is not as you'll never run into a case where someone's __eq__ or __ne__
method do the wrong thing."

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2533 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
ernel.py
et/net_utils.py
artition.py
en.py
9894be804bd5b0d3b389305af80f25e69ec8a317 03-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Can't merge kswapd processes on all kernels.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2530 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
91cd58c610340d03ca828ef6406deca86570f41d 02-Dec-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> If you reboot during a server-side test while using a profiler, we
need to log a WARN message so that the user is aware that their
profiling data may be corrupt. Add a supports_reboot flag to the
profilers interface that allows profilers to disable this warning
if we know they're reboot-safe.

Risk: Low
Visibility: Adds feedback so that users don't blindly trust profiler
data when they reboot their machines during a test.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2528 592f7852-d20e-0410-864c-8624ca9c26a4
rofiler.py
021679f1803cf6c95b5a9ab57550179d5da2a183 27-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Document job exception handling machinations in comments and remove an
except Exception: case in job.run_test() that was impossible to reach.

Allow error.JobError raised from a test (run via run_test or run_group)
to be recorded as an ABORT and passed on up to actually ABORT things.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2522 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
e2a68ac3727cb561a64b310b4e2a50148490b968 27-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed some pylint warnings and also added the ability to specify
partitions in a control file.

Signed-off-by: Michael Rubin <mrubin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2519 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
b5dac4323ac5dca003da7e8114e80ab99612ac73 27-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Provide the ability to drop caches between benchmark iteration runs

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2518 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
7afc3a678bdf39549f6397a9b8d5d181a628e992 27-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Increase pkgmgr fetch timeout to 30 minutes (from 10)
Throw a warning when run_command's timeout fires

Signed-off-by: Rachel Kroll <rkroll@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2515 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
c1848461f590dbc5623b518503111285de815164 21-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> - Add a get_entry method that return entries of a boot entry as a dictionary
- add_kernel should accepts force param as that makes a different for boottool
- add install method to be able to run bootloader install outside a boot loader
config change context

Signed-off-by: Gustavo Rahal <grahal@linux.vnet.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2486 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
7c1280acc21a349405b53c8e946ca448a1763dba 20-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add networking code

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2480 592f7852-d20e-0410-864c-8624ca9c26a4
et/__init__.py
et/basic_machine.py
et/common.py
et/net_tc.py
et/net_tc_unittest.py
et/net_utils.py
et/net_utils_mock.py
et/net_utils_unittest.py
874f19f7805ce4ca6e11f4e2d4ab6ab3dcf4650a 20-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> A few misc changes to job.py

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2472 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
f561ad00c5d439dc31bc9d1ac9d49f331ec3c1ed 20-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add missing nway.py

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2470 592f7852-d20e-0410-864c-8624ca9c26a4
way.py
f23cf4fec3d85b8e49145872b7235985bd9eef45 20-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> unittests for nway.py

From: Travis Miller <raphtee@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2469 592f7852-d20e-0410-864c-8624ca9c26a4
way_unittest.py
8493be44f65668c6ebad5d1bee3b97b76abdebbd 20-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move routine rounded_memtotal() from client/bin/cpuset.py to autotest_utils.py.

From: Duane Sand <duanes@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2455 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ase_sysinfo.py
puset.py
043e1132d1af7969a8f67871188ef34e050c2186 19-Nov-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> This depends on Martin's "run autoserv without a results dir" patch
to be applied cleanly.


A rather large refactoring and stubbing change working towards
client-side profilers from the server side. This makes a few major
changes:
- refactors almost all of client/bin/profilers.py into a common lib
profiler_manager class; except for the code for actually loading
a profiler object, all of that code is already completely generic
- add a server-side profiler_proxy class that will act as a proxy
on the server for using a client-side profiler, this doesn't
actually do anything useful right now but it basically just a
stub for later changes
- add a server-side profiler_manager implementation that creates a
profiler_proxy class instead of actually loading a real profiler

The intended changes still in the pipeline that will build on this are:
- add code to the profiler_proxy for actually making sure the
profiler is set up and installed on the remote host(s)
- add a mechanism for client-side profilers to deal with reboots

Risk: Medium
Visibility: Adds a bunch of stubs that don't actually do anything yet
but will do things soon.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2447 592f7852-d20e-0410-864c-8624ca9c26a4
rofiler.py
rofilers.py
rofilers_unittest.py
5b2844f8306994a5bb09ef4f618910cc3c5d3427 19-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2446 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
83fd1c51f7196f78bcc8356d7bf0601651d167e9 19-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> umount shouldn't attempt to unmount unless the device is actually
mounted - it just produces a lot of confusing garbage in the output

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2442 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
f38f8cc3c69dbd98504e6b53b19ac4d3fb51a16f 19-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Give umount a bigger hammer (and better logging)

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2438 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
e39c3c0dbe16caed55f4538af78dbf057deb7fad 18-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Adds the ability for the client.bin.base_job class to keep track of run
numbers and include them in the output directory / test tag.

Adds the ability for the client.bin.base_job class to insert the
running kernel version (uname -r) into the test tag at run_test() time.

Enabled both of the above in the generated control file when multiple
kernels are given via the AFE.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2433 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
61cf6e7a4102ad86dc1ec4d2068232253c47a769 15-Nov-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Looking at the client/profilers.py code to start making it useable from the
server-side, it was in serious need of some refactoring (moving comments into
doc strings, fixing the completely broken delete method, adding some unit
tests).

Risk: Low
Visibility: A bunch of cosmetic changes, some renaming, extract method, and
fixing the completely broken profilers.delete method.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2423 592f7852-d20e-0410-864c-8624ca9c26a4
rofilers.py
rofilers_unittest.py
87529d121ba0db95743098e016ad934094f816cf 11-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Adds support for excluding swap partitions and non linux (type 83) partitions.

Fixes bugs in kernel_qual_filesystem where it would use odd partitions
like tiny swap partitions found on some disks in our machines.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2401 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
artition_unittest.py
228591ccc4398a447de328314e6774031641f5ba 07-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up out of scope output variable, whilst retaining the
ability to only print output on error

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2391 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
67b8fbd9d2dd684e0d735c87b479b5bd55776cb5 07-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up broken unittests, etc.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2389 592f7852-d20e-0410-864c-8624ca9c26a4
sdev_disks.py
sinfo.py
sinfo_unittest.py
8b71d016e46af3e08b1f467f989c87d9b10631c6 06-Nov-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed a unit test broken by 2383.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2384 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_unittest.py
b3400e0299fc42b6834351f2927cc87048b14f17 06-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Currently when using the make options. (i.e. make allyesconfig,allnoconfig,
randconfig) while building the kernel, the .config file for these options
are not recorded as done for the normal kernel build.

This patch adds the option for recording the .config. The naming convention
used is config + <make option> (i.e. config.allyesconfig) and in cases, where
we run more than once the same make command, it records the as
config.<make option>.<n> (This is usefull when we do more than one randconfig).

Signed-off-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2383 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
ernel_config.py
12eafffaf869570a62025f4dc1f3d0908285998c 06-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for running a test over a sequence of multiple kernels.
The kernel version is appended to the test name before the tag when
making directories for test output.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2382 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
d0b22967689b222d0a1654fb8a211c776f24c51e 05-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix the group tag to include the test name, so results in backend
will come out properly

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2380 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
49d39f67c3168ee0ed3bcec43db0f8e47c318ce1 04-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Clean up partition.py

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2373 592f7852-d20e-0410-864c-8624ca9c26a4
artition.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
ase_sysinfo.py
b600a99136c7ee1e12408d62fd245135825cd40d 04-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix run_group. There's no point in it creating a directory,
as the only real user for it is the filesystems code, and the run_test
inside the group will fail as the dir already exists. Somehow this
used to work, but I have no idea how - right now it's useless.

Also fixed the error handling from _rungroup not to be so ... odd.
I can't see any reason why it can't do the normal thing and just
re-raise the exception

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2369 592f7852-d20e-0410-864c-8624ca9c26a4
sdev_disks.py
sdev_disks_unittest.py
ob.py
artition_unittest.py
326b9c39ba7a15e0baeced844ec161a1a6d4c855 30-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add changes to support more filesystem testing

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2363 592f7852-d20e-0410-864c-8624ca9c26a4
artition.py
9c62752e0199e41c8472e5105c5be08c7a5172ac 27-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Some code clean up, speed up (cPickle vs pickle) and proper error
handling done while reviewing the code.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2346 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
8a17e7caeb8ae95e41b239c009b32de183fccd56 27-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Some changes I recently made to the handling of client job state files
so that autoserv could push some pre-set state out to the client
broke the handling of client state on standalone clients. This adds
in a check to make sure that either if the job is not a continuation
then the state file should only be used if it looks like "fresh"
state (i.e. it's never been initialized).

This patch also includes some cleanup that Martin Bligh was working
on in order to try and make autotest+autoserv usable in #! lines
for shell scripts.

Risk: Low
Visibility: Prevents state-state problems when using a standalone
client.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2335 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ob.py
a1992f97e10cc02d0758c60a6b6df981b0c464f3 23-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move the new FsOptions class from fsdev_disks into partition.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2327 592f7852-d20e-0410-864c-8624ca9c26a4
sdev_disks.py
sdev_disks_unittest.py
artition.py
artition_unittest.py
4ec32c1fa3ca4453f2d1efc8d182ef4430190829 22-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Rename the client.bin.filesystem module to client.bin.partition.
mbligh and I are refactoring this code. It should have been called
partition from the beginning.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2324 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
sdev_disks.py
arness_ABAT.py
ob.py
artition.py
02c0e4514f86ab3027ff46bd8a32b5e0564b910c 21-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Pull the reboot START logging out of job.reboot; the reboot END logging is
queued up by methods external to job.reboot (i.e. kernel.boot) and so the
START logging should be run from there as well; otherwise it's not possible
to call job.reboot properly without having to first queue up your own END
logging. The default should just work.

Risk: Low
Visibility: Code changes only; should have the same user-visible behaviour.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2316 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ernel.py
ernel_unittest.py
957338feaf96ef3a6be0b5b48f18c52be4fd29a9 18-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Adds a fsdev_disks.TestFlags container class to be used place of the
old multi-section parsed string that appearred in FS_LIST.

Backwards compatible, falls back to parsing the strings when supplied instead
of TestFlags instances to allow cleanup to happen at its own pace.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2306 592f7852-d20e-0410-864c-8624ca9c26a4
sdev_disks.py
8403711c9a81052ac0ad42c85bd42237ea3df942 18-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add uptime to base sysinfo collection
Risk(Low): Adding additional output to sysinfo
Visibility(Low): No behavior will be altered

Signed-off-by: Ryan Kubiak <rkubiak@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2302 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
fb311f2ec921c681d63061ca23e2eadcd9562781 15-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up some unittests that were broken by the drop_caches changes.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2290 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
c09fc1543a3f77026bab728770aa0191feaddd07 15-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Make sysinfo more configurable. This adds some methods to the job
classes, job.add_sysinfo_command and job.add_sysinfo_logfile, that
can be used to add more commands and/or logfiles to the standard
sysinfo collection for the job.

Risk: High
Visiblity: You can add code to control files to customize sysinfo
collection.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2289 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
ob.py
ob_unittest.py
ysinfo.py
238b5f1c016a0f3bedc0a5489f450fdb491a17e4 15-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Allow boot_once title argument to be optional

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2288 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
0910844396c68a8747dc1ab580fb898ecff2469e 15-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Keep track of the last kernel we explicitly 'reboot'ed into. This
should be the default for any subsequent reboots.

Fix a bug where we would set the default label on a platform when
host.rebooting() from the server side (when only a boot_once was
called for). Also fixed a bug where label=None would NOT reboot
into what was supposed to be the default kernel.

Fix a bug in the state engine which made it impossible for None to be
the default of a state variable.

Risk: High
Visibility: High (this tweaks the semantics a bit; most people would
have called the behavior a bug, but some may have
depended on it)

Signed-off-by: Jeremy Orlow <jorlow@google.com>


Make boottool handle the None case on boot_once and sanity check
it for set_default (since it takes an index, and Null is not a valid
use).

Risk: Medium
Visibility: Medium

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2287 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
ob.py
ob_unittest.py
d33fa27cbfedf8207f1835ac19172f7d07713efe 14-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Dropping caches before each test can disrupt other tests if
we're doing multiple things in parallel. At John's suggestion,
do it in _run_test_complete_on_exit instead.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2280 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
76a42932939e6cb95ab63a131695ad6e7ab3b70c 09-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> recommit logging changes - was just spare pyc file




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2266 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
b931b687e09cec9b25f37d437f33be73b6de20f3 09-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> back out logging changes for now




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2265 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
6bb78731b0bc1d4bdd14e565effd72bea74c1c65 09-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a try-except-finally to be compatible with python 2.4.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2264 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
681b6a05a596fb0bf379979e11bb620b58a5707f 09-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Configuring main autotest classes to use the new debug infrastructure,
converting 2 of the major verbosity sources on autotest and autoserv
executions. Logs with timestamps as a bonus :). The patch should apply
cleanly against svn trunk.

Visibility: Users and developers of the command line programs (autotest
and autoserv) will perceive a reduced verbosity, that can be increased
on the debug configuration file if needed.

Risk: Low (small number of changes, all tested and things were done
trying to isolate sources of failure as much as possible).

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2261 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
cefe2653333168a08c891f72a708b66855f07853 08-Oct-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Refactor all the sysinfo collection code into something a bit less
ad-hoc than the original code. In particular:
- move all the code into base_sysinfo and site_sysinfo classes, and
use inheritance to hook the site-specific code rather that having
to add explicit hooks to the base code
- get rid of all the magic state created in client/bin/test.py so
that we can pass data between the sysinfo code run before and
after each test; instead, just have a single sysinfo instance
associated with a job and store state there
- change all the code to work with paths taken from job and test
objects (i.e. job.resultdir and test.outputdir) instead of just
magically changing the working directory and implicitly doing all
logging in place
- change the reboot in the job sysinfo dir to call them boot.0,
boot.1, etc. to be more in line with the names we use in TKO
- replace some code that used shell commands with functions from
the python standard library (e.g. os.symlink instead of "ln -s")

Risk: Medium
Visibility: reboot.N -> boot.(N-1) in sysinfo; all other changes
should not be user visible

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2257 592f7852-d20e-0410-864c-8624ca9c26a4
ase_sysinfo.py
ob.py
ob_unittest.py
ysinfo.py
est.py
8face6129bff795bb65fee11cc524511a9e77a04 07-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Update kernel to ignore whitespace in the kernel path.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2253 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
25e60e6e63203acc4fcefd8f4c00e8fb6b7c3495 03-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Enhancement 1240629: Add same tag to series of run_tests by single job.set_test_tag() call.
Facilitates re-running any test or arbitrary existing collection of tests under many
combinations of kernel options such as numa node size, stale page age, sched_idle class,
etc, and keeping those runs distinct without modifying many individual job.run_test calls.
Low risk.

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




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2239 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
7f9cada6433cea96f4a5f83c4db6c835526d1ea1 02-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for running multi-machine fsdev tests.

Signed-off-by: Peter Kukol <pkukol@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2225 592f7852-d20e-0410-864c-8624ca9c26a4
sdev_disks.py
30e9b59979e1b787744a29a7c0ffc3815ace7ff9 25-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add a sysinfo hook that gets called before a test so that we can do
some pre-test examining of /var/log/messages. This allows us to
remember how large /var/log/messages was at the test start so that
we can then just grab new logs.

The /var/log/messages handling basically does two things before the
test:
- it remembers how large the file is
- it remembers the inode of the file
We then use the remembered size and skip over that many bytes when
grabbing the logs after the test. The inode is remembered so that we
can do a quick check to see if the final /var/log/messages is really
the "same" file; if the log gets rotated during the test we just
grab everything from the start. We still don't really handle that case
properly since the rotated logs that happened during the test still
won't be grabbed, but it's not easy to grab rotated logs in a
standard way.

Risk: Low
Visibility: Grab any new /var/log/messages that happen during the test.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2198 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
est.py
067b26c1f0db3592e788b748ccb7ee5710161fa2 25-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> If ident=False in the kernel.boot methods, we still need to add a
step to the job to finish up the reboot logging. So I changed
kernel_check_ident to end_reboot_and_verify, and added a basic
end_reboot method that just does the reboot end logging without
doing a reboot.verify check.

Risk: Medium
Visibility: ident=False should now work

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2196 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
ernel.py
ernel_unittest.py
3cc04ee32e329ea228d33368bff679e05b2692c8 25-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed a reference to logging that was missed by rev 2193.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2194 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
1b3b376d94edee8f235f8669a047dc00751bf97a 25-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Rename client/common_lib/logging.py to client/common_lib/log.py in order to be able to use the standard python logging module

Python has a standard module used to perform logging operations
(http://docs.python.org/lib/module-logging.html) that could be used
inside autotest, however we have a common_lib module named logging as
well, that makes difficult to import the python logging module in all
other parts of autotest (including tests).

So this patch basically renames logging to log and fixes all references
to it. All the files touched were pylinted and basic sanity testing was
made (running autotest with different control files).

About the risks, in my opinion it's worth the effort, since we gain the
ability to use a powerful logging library, that would help us to
implement a better logging system inside all autotest modules.

Risk: Medium/High - Even though care was taken to ensure all references
to logging were changed, it touches a fair bit of the code and something
might have passed unaudited.

Visibility: Low - Should be invisible for all users, and developers must
just remember that now logging is called log.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2193 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
ernel.py
ff416a293b6bcdc6e9d95e208ac34e6ef60e7fe6 24-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Flush caches between tests under fsdev.

Signed-off-by: Peter Kukol <pkukol@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2192 592f7852-d20e-0410-864c-8624ca9c26a4
sdev_disks.py
b96dbe3c79016d4b921612f23a2ad292cc951a77 23-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a bug where outer containers are never released, when a single
job process created both an inner container and outer container.
This gave container allocation errors on later job steps, or
a fatal rmdir error on parallel job's final release_container.

When releasing a job tasks' current container, step back to the
parent container that the job was executing within before the
current container was created.

Portions of class function cpuset.release() were used to destroy
old orphaned containers. These steps should not modify the
job.container cpuset object. They are now factored out as
non-class function cpuset.release_container().

Risk: low.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2190 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
ob.py
554f23f40a0896d00b456b657f2345233cf2a767 23-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Grab /proc/interrupts in sysinfo.

Risk: Low
Visibility: Grabs an extra file.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2188 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
192e5549c21f3f07ae48f09b99257ad343872f62 23-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add kernel option vma_max_shift to twoway container tests.
Risk: low.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2187 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
23afbec41f6275bef4e80c36726916b0be564204 17-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add a standard run_cleanup option to test.run_test that can be used
to enable/disable the running of test.cleanup after the test
completes. This also adds some global state on the job objects
that can change to default for tests from enabled to disabled.

Risk: Low
Visbility: Adds ways to disable test cleanup at both the job and test
level.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2167 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
a1f3c20cb943bd56c6aaee16b2b21dca83a5177d 15-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Refactor the results collection code to run out of a separate class
that we can reuse in different places, and change the mkfifo code
to use a filename created on the fly, rather than hardcoding a fixed
filename.

Risk: Medium
Visibility: Mostly just a refactoring.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2159 592f7852-d20e-0410-864c-8624ca9c26a4
arness_autoserv.py
13423d0d3b7c10dc41f3d5f38b7f3e4c4ea7a652 15-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add fsdev - infra-structure for testing / benchmarking file systems.

Signed-off-by: Peter Kukol <pkukol@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2156 592f7852-d20e-0410-864c-8624ca9c26a4
sdev_disks.py
sdev_mgr.py
a543fb0c516a4c15400f073301fa3f9ad3186453 15-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add unittests form client/bin/kernel.py

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2145 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_unittest.py
3fc9f444cc6187250619c266f168d1f10ae85124 15-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Kernel config should inherit from object.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2144 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_config.py
d524b0e4d6a90b27e2f1c715a6014726fcc8d6bf 15-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Clean up formatting in client/bin/kernel.py.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2143 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
b6eb2f19e1225b14dee3839c2945caf6bc90fa73 12-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> First pass at pulling back test results during a client job, as each
test completes. Definitely needs some testing, cleanup and refactoring
before this can be considered complete, but this is a good, working
start point.

Risk: High
Visbility: Test results should now be pull off of client machines as
the tests finish.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2139 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
arness_autoserv.py
ob.py
ob_unittest.py
f2fa471f5306887847024a50ebfca57dd0c6bd71 10-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix grep command. It was raising an exception if the grep did
not succeed. This was caused by passing the ignore_status argument
only by position to utils.system, which was broken when somebody
added timeout=

>>> autotest_utils.grep ('Linux', '/etc/motd')
True
>>> autotest_utils.grep ('ffffffffff', '/etc/motd')
Traceback (most recent call last):
...

Now (and should be)

>>> autotest_utils.grep('Linux', '/etc/motd')
True
>>> autotest_utils.grep('Linuxs', '/etc/motd')
False

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2129 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
20ac0240233bf3d1d4e98e5ded906226a6139ee9 09-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add a bunch of functionality needed by 'fsdev'.

Signed-off-by: Peter Kukol <pkukol@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2121 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
12e8b89ac5a26bf29bc89c4d19f2771fa715f52d 08-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Replace the Opteron and Genuine Intel checks in get_cpu_arch with checks to see if 'lm' CPU extension is specified in cpuinfo.
Risk: Medium
Visibility: Any code trying to check for the architecture of the system.

Signed-off-by: Ashwin Ganti <aganti@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2116 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
52fa69285dbeb9e9a0d49de4b1e12b52cda39fc6 05-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Parsed output to generate keyvals for specific netperf tests. Additionally
made this test as well as the iperf test use the new scheme for 3 storing
three dimensional data in the keyval files. Which is to use multiple iterations
and to use attributes.

Signed-off-by: Bryce Boe <bboe@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2113 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
d593345304d4565688470057927779e1d58659e6 04-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Have the step/state engine print out a message any time a state var
is updated to aid in debugging of complex control files.

Risk: Low
Visibility: Medium

Signed-off-by: Jeremy Orlow <jorlow@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@2108 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
56fa9b7ce11c050d0949454e75c09f23b0afec85 04-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Rollback accidental commits from previous change

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2103 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
8dd5c6c179275d9c3687ad2ab9eb89651628825d 04-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> The cli should take new tko style where arguments.

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2102 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
c533bd1773ea45b2bfcbab767b620918d5aea368 03-Sep-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add netconsole support to the console logging, as a backup when
serial console is unavailable.

Risk: Low
Visibility: If serial console support is unavailable, we can at least
pull console logs from netconsole.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2092 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
c3758585e3457b7e2ae9c6f7a5645dc801b46475 02-Sep-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Provide absolute path to init on client/bin/harness_standalone.py

Description: On distros that have an /etc/event.d directory, if we
execute autotest with a non-root user, /sbin usually won't be on the
PATH environment variable, so autotest won't be able to find init hence
throwing a CmdError. We can fix that by just adding /sbin to the command
line. Since init is under /sbin on pretty much all linux distros, it's a
fairly safe change to make.

Risk: Low - See description
Visibility: Low - Only users executing autotest with a non-root user.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2081 592f7852-d20e-0410-864c-8624ca9c26a4
arness_standalone.py
5974b373dd69562204bf03f56b0af2a49b5acb13 29-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Introduce the concept of profiler activity on the base profiler class.

Useful to determine if a profiler is active or not, in case we want to
stop them.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2079 592f7852-d20e-0410-864c-8624ca9c26a4
rofilers.py
77ff92ba5c956679f39e3d37cd04ec99d74c278f 27-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Silence defconfig

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2056 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_config.py
7dc0619598d4415e40bc75e7969c5c53806bfec8 22-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Update profilers to look for packages are profiler and not prof

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2031 592f7852-d20e-0410-864c-8624ca9c26a4
rofilers.py
121f56935120f71b53b1541e042dde2718be70e4 22-Aug-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add some extra code to sysinfo to grab some of the machine data
after each test and add it to the test keyval.

Risk: Low
Visibility: Some new data (besides version) will start showing up
in test keyvals (and thus test attributes).

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2030 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
est.py
aee19fc0e6f543920ef5223bf2cf01beb16fb9ea 22-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add new_container() kswapd_merge option, for consolidating the active
kswapd and kstaled processes which manage memory nodes of that container.
Option can be used only with kernels 2.6.18-230.0_rc6 and later.
Low risk.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2025 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
ob.py
ob_unittest.py
8079ceeb536b330a8de3515f5281e01b1d11ebb1 21-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move initialize up ahead of setup in profilers code to match test code

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2019 592f7852-d20e-0410-864c-8624ca9c26a4
rofilers.py
d6ae085db471961c1c4783921931943f0e133bf2 18-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Edited job.py to add toolsdir
Added proc_wrapper.py to the tools directory for my tests.
Updated iperf test to properly write the keyval file.

Signed-off-by: Bryce Boe <bboe@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1999 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
9a3717f664b62231dafbcd1dec24ffd7eb743b5c 15-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix profilers to inherit job object properly

add gcc dependencies to profilers where necessary

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1993 592f7852-d20e-0410-864c-8624ca9c26a4
rofilers.py
63291579752394a5cf9d43ebdffefc62e03e97d6 14-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> strip out carriage returns from status log messages

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1990 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
1a43a8cd72c9c572b255e2b316c553a5d5aac19a 14-Aug-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> When a kernel identity check fails, the method doing the checking
should log the reboot.verify failure.

Risk: Low
Visibility: Changes how reboot verify failures get logged on the
client side.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1987 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
0c286ac95ff176061c400ebdd144c6b06690fea9 12-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> The variable exc_info is currently None when test raises any exception
under TestBaseException. But, it (exc_info) should also be assigned
correctly to sys.exc_info(), so run_test() gets the right returned status.

Signed-off-by: Rafael Xavier <rxaviers@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1972 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
c5ddfd1f71caef9ec0c84c53ef7db42fcdc33e1c 04-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> I have attached the patch for the packaging system.
The documentation is available at : http://test.kernel.org/autotest/PackagingSystem

Signed-off-by: Ashwin Ganti <aganti@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1953 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
ernel.py
rofilers.py
est.py
849b11526149b9f94a52126d72bf0aba7fab03fb 31-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Un-reverting the rev 1827 changes that were reverted in rev 1840 and 1841
since the problem caused by them no longer occurs.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1929 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
rofilers.py
5c7135935ef16c630df5bab4d137d469145ebcda 30-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> If cpusets are not available on a machine, raise a specific error. Also, change
job.run_test to catch this error and mark the test as an ERROR instead of
just letting the exception through.

This has two advantages:
1) We don't stop running other tests that may not depend on cpusets just
because cpuset tests won't work.
2) When the problem does occur, we now see status logs that indicate the
test that failed due to the lack of cpusets. As things are now, the failure
occurs before starting the test and so the test that actually caused the
problem never even appears in the status logs (or the results).

Risk: High
Visibility: It should now actually be much easier to tell when you get a
"/dev/cpuset is missing" error that the problem was due to running a test that
requires cpusets without actually having them available on the test machine.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1927 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
ob.py
719f260bc8e04333122ce0da091b484b54124e23 30-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> This file unit tests code that doesn't exist. Removing.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1926 592f7852-d20e-0410-864c-8624ca9c26a4
et_utils_unittest.py
ca7c6fe8e064d422986c633db16123b4e628a532 28-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up the job unit tests. We changed UnhandledError to be treated as an
ERROR and not a FAIL, but the unit test was not updated an so was failing.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1906 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
c218083b6b96257788364ef8b7fa0fad5087fcbd 25-Jul-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Smarter way that tests handle default exceptions (unhandled errors) and also a cleanup on test exception classes.

From: rxaviers@br.ibm.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1899 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
arallel.py
b44238c32df92765d4655f6937253f0148311fc6 24-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Get rid of that import * of site_utils into autotest_utils. It seems to
constantly cause breakage, where the site_utils silently fails (and nobody
notices until you try tests that actually use it), causes problems with
circular references (site function can't build on top of the autotest_utils
functions).

Risk: High
Visibility: You can't use site_utils stuff via autotest_utils, you explicitly
need to use site_utils

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1885 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
115feb2fee75e8cb75873905f07763fbfafc8f6e 23-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add a drop_caches function to autotest_utils.

Signed-off-by: Divyesh Shah <dpshah@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1883 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
9f9c10cbc380f312e5339de47b884df61ca4a994 17-Jul-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Unittest for net_utils.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1868 592f7852-d20e-0410-864c-8624ca9c26a4
et_utils_unittest.py
745fdd9a4a9837d45724c945b2d64121907c39fc 16-Jul-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Changing the name of this unittest file to comform to out naming convention.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1853 592f7852-d20e-0410-864c-8624ca9c26a4
ernelexpand-test.py
ernelexpand_unittest.py
dbde0aabe6287430b5055b49370d660ab8ad37de 16-Jul-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Updated version of last fix

From: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1842 592f7852-d20e-0410-864c-8624ca9c26a4
rofilers.py
2bfe2d245ad37759cdd5a66e8305456f839005be 16-Jul-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Summary: Reverting some changes made on r1827 that were breaking svn trunk.

Revision 1827 (http://test.kernel.org/trac-autotest/changeset/1827)
introduced some bugs (see previous patch on circular reference to
common.py). I found other problems that came with the attempt to make
import usage consistent troughout the code. I tried what I could to
figure out how to make this work the way it was supposed to, but I
couldn't. So I just ended up reverting the 2 changes that were breaking
the harness.

WARNING: Please apply this inside client/bin. It's not a -p1 patch.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1841 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
rofilers.py
276c9ba968e34e2735e350eb9f37bc4afe9edc4b 15-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> When rpm_kernel adds a check_ident to the reboot steps, it shouldn't
pass in its own subdir since the reboot won't be running as part of
the rpm_kernel install (and thus won't share its subdir).

Risk: Low
Visibility: reboot.verify logs from rpm kernel installs won't show
up with an erroneous subdir in the status logs.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1834 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
d5b1c1b98ef7c999679eb76b0259439732a5fc08 14-Jul-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix the import problem with profilers.

Visibility: High (makes it work!)
Risk: Medium

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1828 592f7852-d20e-0410-864c-8624ca9c26a4
rofilers.py
4205d8965f7fdda6a9c24100be912f36f04a3fc9 14-Jul-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix the unittest to make it pass and avoid relying on a fragile parser:
- Use the __import__ and import coherently
- Use the standard unittest framework

Rewrite of the barrier unittest as using fork() completely messed up
the overall test suite and ran it 8 times.

Visibility: Medium/High - some import changes
Risk: Medium

Tests:
- Ran unittest_suite.py for all and individual directories
- Ran coverage_suite.py for all and individual directories
- Ran manage.py test from frontend directory.

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1827 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
rofilers.py
a9a87a6c8fcb01a63590e9ee97c769c4b2bc8aa5 09-Jul-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed job_unittest failures to account for new argumnets that are being passed to created containers.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1794 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
f3d9b0473505296a4673c83c7babbce4c27a6f00 07-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix some circular dependency issues in the job<->site_job setup in client/bin.
If we have site_job inherit from base_job, then we can run into import issues
due to the circular dependency between site_job and job. Since we never create
an instance of site_job directly, it's better to just have it inherit from
object and then make job multiply inherit from both base_job and site_job,
with site_job overriding base_job.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1773 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
75c0b71a91a741d5ca94db22aead029be335e2f0 03-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for running tests using some disk I/O containment through cpusets.

Risk: Medium (hooks into some core code, but it shouldn't change
existing behaviour)

Risk: Low
Visibility: Adds more optional parameters to the code for creating cpusets, to
allow you to specify I/O prioritization.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1772 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
ob.py
9e722984cea169afec7b6515f7178a131a22bb0b 01-Jul-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for running tests using some network containment through cpusets.
This currently relies on a binary tool that I can't mail out right now, but
that should change in the future (and this new code won't impact anyone who
doesn't explicitly use it).

Risk: Medium (hooks into some core code, but it shouldn't change
existing behaviour)

Visibility: Adds some new optional parameters when creating
containers/cpusets for controlling the network containment.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1755 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
ob.py
ob_unittest.py
edf89f375fedf2eb7a9e843a21a7953248f2b425 01-Jul-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Changed some internal methods of package to start with a single '_' rather
than '__'. And wrote some unittest code for package.py as well.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1753 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
ackage_unittest.py
6ca37b61b4701964caf9af73bc988114cae663ef 30-Jun-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Added more tests to job_unittest. Had to ensure that some of the classes that
I needed to mock were derived from object so that i could use my stub_class
method on mock_god.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1751 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
ob_unittest.py
ernel.py
ba46b27c2473669a3d36d583298bf50da6831c3b 23-Jun-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Drop some information that was included in a JobError exception since
there's no way for us to actually make use of it, and it just leads
to misleading messages in the status log later on.

Risk: Low
Visibility: Eliminates an error message that isn't useful anyway.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1735 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
b48fa5697850e04c0a5eb0abc094b9dff3c806e9 23-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add other test exit status according to the spec in:
http://test.kernel.org/autotest/ResultsSpecification

TestNAError -> TEST_NA (clean msg)
TestError -> ERROR (clean msg)
TestFail -> FAIL (clean msg)
default -> FAIL (traceback)

Risk: Low, since the default behavior is still the same (FAIL)
Signed-off-by: Rafael Xavier <rxaviers@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1732 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
a75b90e69047e38b69f9eb75baa37b840fffd850 20-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Convert subdir_tag to string when concatenating. Fixes a problem when
using integers for subdir_tag. Tested.
Did the same for testname_tag.

Risk: Medium (Very minor change affecting subdir_tag and testname_tag usage)
Visibility: Users who use subdir_tag or tag in control files.

Signed-off-by: Ryan Kubiak <rkubiak@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1728 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
3aa22dac3d7d81074f1504dc2103fdc3677b2cfa 18-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add in from autotest_lib.client.common_lib.utils import * to the job preamble

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




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1718 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
6f731364e6207c198ac8de748a043eba1e9223b3 17-Jun-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Changes the semantics of UnhandledError. First, it takes in a root
exception to wrap, rather than implicitly grabbing the last caught
exception. Second, it displays the root exception message instead
of wrapping it in a new message and only displaying the root cause
in a pre-collected traceback.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1710 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
arallel.py
c1f8cedaa425fa57813e4e8ce6db2b84676816ba 13-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added a bit more coverage in the client/bin/job unittest.

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1705 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ob_unittest.py
7076b192936caad193898cff194e82f83dd13d63 13-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> fix syntax error in locate



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1700 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
987071e1fba830910658ce987bb803d142480c03 13-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Clean up locate

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1698 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
e3f2f7164041a92f715c060aa2785eb9f4ca16df 12-Jun-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Remove an 80-char line violation.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1691 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
925e1b1743eb4ee1cf18ea94e686913f23c0f365 12-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Medium
Visibility: None

Clean up kernel.py. There's 2 changes in here that aren't strictly
necessary, but make pylint shut up and are probably good ideas.

1) I'm not entirely sure why it's so evil, but PyLint says you
shouldn't return in the middle of an __init__. It seems to work,
but it's fairly easy to get rid of it, so I did.
2) A function dealing with cross-compiling seems to be broken. It has
several comments to this effect and the function returns before
hitting some code which is (documented) broken. I replaced the
comment with code which has the same implication but will fail a
bit more gracefully.

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1690 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
1c9b1d21cf4d7e1e6ad2111aaa817caa38c1b088 12-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove custom basename implementation unearthed by jorlow

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1689 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ernel.py
23955fc5e7fcd8f12fcc73176f1e9f4d2b055db4 12-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> I ran PyLint on our client/bin/ files and looked at only the errors.
All of these changes are to lines that were obviously broken or are
new imports. I'm pretty confident this can't break anything and will
fix things. Most of the problems seem to have come from when we
removed import *'s from the code base.

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1688 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ernel_config.py
rofilers.py
est.py
en.py
24e66a2bd3df43fe4e4f1265553962729eada508 12-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix uses of non-existant variables in test_config.py

From: lmr@linux.vnet.ibm.com

Ably assisted by jorlow



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1687 592f7852-d20e-0410-864c-8624ca9c26a4
est_config.py
4046d5c5493e70406963fb29f69cca8c789fb095 12-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Cleanup harness so that we don't use exec to make pylint happy (and
because it's the right thing to do). I included a unittest that proves
the change doesn't break anything.

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1685 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
arness_unittest.py
539d876afd496c68aa7771534e2d530bc412682c 12-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed another woops. The path laid out in the preamble is wrong.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1684 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
6aab8cd4c230567947e41b53906eb5fa0e1e8fef 11-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Delete grub.py which has since been replaced by boottool, which hasn't
been modified since the SVN repo was created, and which has errors in
it that probably imply no one uses it. :-)

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1682 592f7852-d20e-0410-864c-8624ca9c26a4
rub.py
4700d94d00de058d6af738d56c300a7458d67c05 11-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> the line "import common" is used to setup the absolute paths so that after that we can say things like
"from autotest_lib.client.common_lib import error". However we still have some left over imports that
look like "from common import error" that when mixed with the above are breaking our ability to automate
the running of the unittests. This file created a preamble that is inserted into every control file. It is being cleaned up since we are moving towards closing this
error.

In short, currently calling "import common" in an entry point, performs the magic of creating the autotest_lib root, and then goes on to set common as a shortcut for autotest_lib.client.common_lib. This created havoc for our unittest runner. So this change is replacing the common with the full path since we are planning on getting rid of the use of common as a shortcut.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1681 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
b4ea9d29bef6413ea6cfe55e4910d1489c6acd52 11-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Have to call import optparse after the call to import common, since
optparse is a somewhat recent feature of python
and we need the import common since it calls check_version.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1680 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
d356bae634864a24c7bd1af26433380a29f4661e 11-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> kernel_versions_unittest was performing a "from blah import *" import which is against our style usage.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1679 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_versions_unittest.py
70feeee434c33ac2b5efbb56ddf66967259ba351 11-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Needed to fix problems caused by the use of the old import usage which has
been replaced with the newer absolute path imports. This is needed to fix problems that were occuring in running our unittests.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1676 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
5bba5ca127e99428a3cc6c823b51a8b3062d06bd 10-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add missing file from last commit

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1669 592f7852-d20e-0410-864c-8624ca9c26a4
ob_unittest.py
6e83b6f6f33845f700de049f5f64fa448b667ed5 10-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Had to change a few classes to be new style python classes. This is done since
I am having to mock out these classes and they need to be new style for that
to work in our mock framework. The other change was to allow mock_god to
unstub a specific method. The bulk of the new code is in job_unittest.py
which tests job.py. had to make a couple of changes to job.py that involve
changing __ to _.

Signed-off-by: Travis Miller <raphtee@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1668 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
onfig.py
arness.py
ob.py
f20b9cd8a026723ff11204281d281eac7b06c81d 09-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed the imports for the profilers.

Signed-off-by: Colby Ranger <cranger@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1666 592f7852-d20e-0410-864c-8624ca9c26a4
rofilers.py
8b352856e457518fde6bab947d8fcdb3f53a39ad 07-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Manual whitespace cleanups and coding style fixes

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1665 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
arness_ABAT.py
arness_standalone.py
ernel_versions.py
ernel_versions_unittest.py
ernelexpand-test.py
ernelexpand.py
en.py
bd8f99817d7b694eb8ee682e0081cf25aa07df0a 07-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> more manual whitespace cleanups



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1663 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
oottool.py
puset.py
3cbb2db02073d13395f893c556d76f20ce580ab5 07-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> remove old autotest.py



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1662 592f7852-d20e-0410-864c-8624ca9c26a4
utotest.py
1544080ecbc33092f6e674f6df9831be49f29d3e 07-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Whitespace changes to job.py



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1661 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
9e6a4f14811ecab952d38c265149b32672ea9cdb 06-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> whitespace cleanups to kernel.py



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1659 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.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
utotest
utotest.py
utotest_client
utotest_utils.py
oottool.py
ommon.py
onfig.py
puset.py
d_stack.py
ilesystem.py
rub.py
arness.py
arness_ABAT.py
arness_simple.py
arness_standalone.py
ob.py
ernel.py
ernel_config.py
ernel_versions.py
ernel_versions_unittest.py
ernelexpand-test.py
ernelexpand.py
s_dep.py
ackage.py
arallel.py
rofiler.py
rofilers.py
ysinfo.py
est.py
est_config.py
en.py
6e66c07529cd3a498cf5512ab3b51ee4cdb8ebb9 06-Jun-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add in a variety of files that were mistakenly not commited from the patches
that were originally applied.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1643 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_versions_unittest.py
b0605d9c7bb7e60ee7441a5f59bd89039f3c811d 06-Jun-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up a few bits of whitespace silliness, unnecessary/missing newlines, etc.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1642 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
2b7974ba01456a9a217e69908704684f29a5d1ad 06-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Low
Visibilty: Several methods on the client filesystem class won't work
without it.
Fix a small import error on filesystem.py

From: lmr@linux.vnet.ibm.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1630 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
ba07f6d66c21d33d2cebe499874da7a32960a572 06-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> kernel_versions.version_encode mis-sorts _rcNN suffix in redhat-style kernel names.
Plus 4 other bugs in this function.
Risk: low, affects only presentation order in graphs.

Also added functions is_released_kernel() and is_release_candidate() .

Tested by new unittest for this module, and by visual review of output of perf_graphs.cgi, and by visual review of manual dump of version_encode results for all kernel names now in our main Autotest tko database.

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




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1621 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_versions.py
d660afe45d87270b509e069a44834d0244ae2090 06-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for tagging subdirs independently of the testname tags.
This allows you to group multiple test runs under the same name
while still storing their results in unique directories.

From: Duane Sand <duanes@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1620 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
c8aaf5ee748b60abd5326e5fc7a9562a50a7da81 05-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Misspelling minor fix.

Signed-off-by: Rafael Xavier <rxaviers@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1611 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
34d0117395947490dbeed9bb1368bb360919266d 05-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Required
Visibility: Minimal
Second pass on clean up.
I tested all test to make sure they at least run correctly, adding a few control
file stubs here and there.
Most of the fixes are import os fixes along with a few incorrect references

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1607 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
puset.py
ernel.py
en.py
c61fb369260af3f57084510e02468ebb3953ecae 05-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Medium
Visibility: Low
Fix reference from common.test to autotest_lib....
The original reference in test.py has now grown to a lot more files yet again
All are just run of the mill import cleanups

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1606 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ob.py
ernel.py
en.py
beb4b4290302a9502821d2f56a4fb1f6e91eeec1 03-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> A previous patch altered client/bin/test.py and broke every test. The reason
is that there were references to common.test left over from the conversion to
the new absolute paths. Fixed this and the consequent namespace pollution
created by everything in the universe being named "test".

Signed-off-by: Travis Miller <raphtee@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1594 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
8cd6ab39894d8a87e00c1038d5b6318245dfa4e8 03-Jun-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Low
Visibility: Fixes a source of autotest_client crashes

This clears a now-unnecessary check_python_version call in the
sysinfo module, and fixes up the site_sysinfo import to use the
much more robust try-and-catch-ImportError idiom.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1593 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
0e6192aa2853fb4dd98cbad705471b3fb135e70e 03-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: High
Visibility: Any test run using client/bin/autotest would not go ahead.

Fix up the the core files to explicitly import common_lib/utils and bin/autotest_utils instead of using 'import *'. Prevents the showstopper where tests were not being run through client/bin/autotest

Signed-off-by: Ashwin Ganti <aganti@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1592 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
utotest.py
ilesystem.py
arness.py
arness_ABAT.py
arness_simple.py
arness_standalone.py
ernel_config.py
ackage.py
arallel.py
rofilers.py
elf-test/extract_tarball_to_dir
elf-test/test_redirect
est.py
e829ba5bdd5062038af60dbd35d7c466ba0b834c 03-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Medium to high (Touches a lot of code)
Visibility: Under the hood code cleanup
from autotest_utils import * fixes and other import issues throughout the code base

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1591 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
ob.py
ysinfo.py
02ff2d5ee0d687923ab0caf2355f89cae0fa7177 03-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Medium - Hits quite a bit of different areas
Visibility: Low
utils.py
Create a wrapper for urlopen and urlretrieve to enforce a timeout
using the socket module and setsockettimeout.

- All additional files outside of utils.py are using urllib/urllib2 in
one way or another and are being changed to use our wrapper

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1590 592f7852-d20e-0410-864c-8624ca9c26a4
est_config.py
en.py
33dbc91bc607995467ae83324e97196e82a012ef 03-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Cleanups for kernel.py from Scottz

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1589 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
9fb37cba7a49579cf484350b9b1e1a1135d6af0e 03-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Cleanups for autotest_utils.py from Scottz

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1588 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
8f4d043ea111fdd90580b90d30f12839dc3bcdc6 02-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Creates job.next_step_append whose behavior matches that of the current
job.next_step and then change the semantics of job.next_step so that
the step engine's behavior is more like a depth first search than a
breadth first search.

I believe that it's more intuitive to users to have the steps most
recently added be run first, but be run in the order they were added
within the function. Here's an example of what I mean:

def step_init():
job.next_step('a')
job.next_step('b')
def a():
print "a"
job.next_step('a1')
def a1():
print "a1"
def b():
print "b"

With the old behavior, you'd see "a b a1"
With the new behavior, you'd see "a a1 b"

You'll notice that the old behavior is like a BFS in that it processes
things exactly in the order that they're added (i.e. a queue). The
new behavior processes things as a stack. This could be acomplished
via job.next_step_prepend except for the fact that you have to add
steps in the reverse order you intend for them to run. For example,
to get 1, 2, 3, you'd write the following code:

def step_init():
job.next_step_prepend('c')
job.next_step_prepend('b')
job.next_step_prepend('a')
def a():
print "1"
def b():
print "2"
def c():
print "3"

With the new code, job.next_step will place it after all steps added
in this step already but before any steps added in other steps.


Signed-off-by: Jeremy Orlow <jorlow@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1583 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
b274ef5eedd5b577b2ef63999e338a327975febd 02-Jun-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This change allows steps (think 'step engine') to be composed with a
tiny bit of magic added. This allows tests that reboot the system
to be composed via the autotest web frontend.

Here's an example of a job with composed steps:

def step_init():
job.next_step(step1)
job.next_step(step2)
def step1():
def step_init():
job.next_step(step1)
# do something that reboots the system
def step1():
# do something that runs after a reboot
return locals() # the only 'magic' required to make it all work
def step2():
job.run_test("sleeptest")


Signed-off-by: Jeremy Orlow <jorlow@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1582 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
8d6295d175d51431725ee0cbd8d4a606dd96f95d 29-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Low
Visibility: Code cleanup

Fixes some "bad" importing in the autotest_client script.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1573 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_client
cf8c4d68b8c3def2a5ebb00b3ccbf83ce3e8f6f0 28-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Low
Visibility: Changes the error/reason associated with unhandled
exceptions during tests.

This fixes up the error message associated with UnhandledError
exceptions to actually tell you that the failure was due to an
unhandled exception, and what the unhandled exception was. It drops
the testname from the exception, since the status lines that log the
exception already include the testname anyway.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1557 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
c1cbc9948f5ddaf360853afa1994d942ffd5fe09 27-May-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> 1. Enable job tags to be passed from the server side (basically use the -t option available on the client side to be passed in from the server)
2. Add code to help run multiple jobs on the same machine starting at the same time (using jobs tags so that the results don't get clobbered up and barriers for synchronization)
3. Add a sample server side control file to demonstrate the usage of running multiple tests on the same client starting at the same time by running two "sleeptests".

Signed-off-by: Ashwin Ganti <aganti@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1549 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
106629745de3326eb20efbd3d8d2f2928258fc00 20-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Low
Visibitility: Adds another file for users to read in sysinfo
Add mount output to sysinfo directory

The mount option gives us an idea of what filesystems are mounted
and the options they are mounted with.

yes I know I am supporting my own format here :)

From: Scott Zawalski <scottz@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1530 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
a859f26a0644ff5b41b4731165de5b7b9c5d98fe 20-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Low
Visibility: Allows the autotest_client to run on systems where
/dev/cpuset/tasks exists but is not writable to the autotest process.

If we're running as a non-root user on a system then we shouldn't
try to tinker with /dev/cpuset/tasks, and the fact that we can't
access that file is not an error that should trigger failure.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1529 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_client
68009c88acc00408d6545e61a157dc24a114725a 14-May-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Tested with unit test and control file. Checked that the container
had the correct cpus.

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1512 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
5182e169ea058e481acb3591503c4d034fbdf92b 13-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Risk: Low

Move read_one_line and write_one_line from the client utils into the
common utils.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1509 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
87cbc7fe4f0fef49c74c9647cc42c50088622449 13-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Nested calls to job.new_container fail. Change default for root arg to be
current process's current container, rather than the superroot container.

Undeleted old containers tie up resources. Add routine
cpuset.release_dead_containers() to clean out all idle test* containers
left over from failed prior jobs. Is not automatically called;
should explicitly add to top of container-specific test scripts.

Bugfix: default mem size and cpu cores should depend on the chosen parent container,
not on the superroot container.

Add cpuset.my_cpus() routine to support N-way container test scripts.

Tested via client/tests/container_twoway/control and via sleeptest.

From: Duane Sand <duanes@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1506 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
ob.py
916d60018e018109987e21b2113ee5e8786a34d4 13-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Default memory size for new containers is too large. The default container
size obtained by job.new_container() tries to get all of the machine's memory nodes,
but 2 memory nodes are now exclusively reserved for the permanent /dev/cpuset/sys container.

Add container_twoway test framework. This framework requires a new
routine cpuset.my_available_exclusive_mem_nodes(), to discover how much memory is available
for temporary half-machine containers.

Add new routines available_exclusive_mem_nodes() and my_available_exclusive_mem_nodes()
to cpuset module. Rename existing routine cpuset.get_mems() as cpuset.get_mem_nodes().

Tested via container_twoway tests (will be a separate CL).

From: Duane Sand <duanes@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1505 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
8ea61e2f9f55bd9f646735069e1f029e86d08320 09-May-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> 1. Removed the system() and system_output() implementations from client/bin/autotest_utils.py so that the ones in common_lib/utils.py are used throughout.
2. Add an optional parameter to system_output() in client/common_lib/utils.py to retain stdout and not throw it away.
3. Renamed ignorestatus to ignore_status to make it consistent with the rest of the code.
4. Modified the tests to use the renamed ignore_status option
5. Modifed the CmdError() implementation in client/common_lib/error.py and made sure all the places on the server side, that expect a AutoservRunError exception are changed to expect and handle a CmdError exception instead.

Signed-off-by: Ashwin Ganti <aganti@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1499 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ob.py
ernel.py
ernel_config.py
ackage.py
ysinfo.py
8415f966acaaa3aa3ca6a651d9a190081edbb0ee 06-May-2008 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add disk usage monitoring to tests. This triggers a WARN if, during
the running of a test the rate of disk space usage on / exceeds a
fixed threshold.

The monitoring defaults to off, but you can turn it on for
subsequent tests by calling job.monitor_disk_usage.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1487 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ob.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
ob.py
ernel.py
302482ea9ed9407ce1ac736ac9adcac814ad5a7d 01-May-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add a new status field called TEST_NA (in addition to PASS and FAIL).

From: Travis Miller



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1476 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
f1ae0a475b3c6a5190539e9773869af069c9312d 25-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Rename the step engine's steps variable to __steps so that no one
accidentally overwrites it.

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1467 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
366ff1b0d8597d0f646606198be3fe449031e63c 25-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make the step engine more powerful and add a soft-reboot test that uses it

This patch abstracts out the state maintained for the step engine. This allows control files and autotest itself can save variables between reboots. This will allow testing that involves reboots to be much more robust and will allow it to still play nicely with the autotest web frontend. Attached is a soft-reboot test that takes advantage of this functionality.

From: jorlow@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1466 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
12a04cbc9c9812232e1a44ccaae7511d0f2eb063 25-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make the step engine more powerful and add a soft-reboot test that uses it

This patch changes the usage of job.next_step while maintaining backwards compatibility. You can now pass named parameters and you no longer need to wrap everything in an array. What used to be job.next_step(['some_function', 'some_param', 'another param']) can now be job.next_step('some_function', 'some_param', 'another_param'). Like before, the function passed in can be the actual function or a string representation of that function. Also like before, the function must be in the global namespace fo the control file. For backward compatibility, if the first parameter is a list, the first item in the list is assumed to be the function and the rest are assumed to be arguments. In other words, this change should not break anything and should make the next step syntax cleaner.

From: jorlow@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1465 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
fddfae78bc2a35bc893c087570f7e9a98a8d9af0 21-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make sysctl_kernel() take integers as input & output.

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1454 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
5d423cae7b239a4e507d95482f49d2081f2895bd 17-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> More fixes for extract_tarball

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

Make sure we only look at top level directories, and abort if we get 2



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1438 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
337bb763364d5b09140790e1caeb41c3c9c64d46 16-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Clean up a bunch of cpuset code (e.g. move some methods out into
functions, add some more sensible defaults, fix up some variable
names).

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1436 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
ob.py
87019f135f596817730a02b5ae816d520e2d2f04 16-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix extract_tarball to work correctly and return the first created dir,
never '.'

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1435 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
76005f98519a4e7f84e23d42235178aa5d0511e0 15-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add routines cpuset.my_mem_nodes(), mbytes_per_mem_node(), and my_container_name().

cpuset.mbytes_per_mem_node() is analogous to autotest_utils.node_size(), but is more accurate and deals in physical memory, not 'available memory'.

cpuset.my_mem_nodes() returns a list of the memory nodes now assigned to this process's cpuset. It can be called when a job is still running within an inherited cpuset, before it has explicitly set up its own temporary cpuset.

cpuset.my_container_name() returns the name (relative to /dev/cpuset) of the process's cpuset.

From: Duane Sand <duanes@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1431 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
88b45367a71eed1bb518fb3164171d5db86efa83 15-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add missing __init__.py. Doh!

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1426 592f7852-d20e-0410-864c-8624ca9c26a4
_init__.py
0ccc1b09ed496c2543994ce29dbb2468c558e5b4 11-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This patch also requires adding an empty client/bin/__init__.py file.

Add some code to autotest_client so that when autotest is run
remotely by autoserv via ssh we ensure that the process is always
going to end up in the root cpuset by default (if cpusets are being
used).

Tested with python 1.5, it parses without error and jumps to python2.4
correctly. Also tested by running several long-running client-side
tests with autoserv and then examining by hand what cpusets the
autotest processes were ending up in.

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

The check_python_version stuff now happens as part of the module setup
that common does automatically. It was actually sort of happening that
way anyway, so I just made it more explicit. As long as an executable
does an "import common" everything works.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1425 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_client
caa62c2a72c0300254998f21f4aca4579f251da4 07-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Implemented hooks for external logging infrastructure for storing both server-side and client-side logs.

Signed-off-by: Svitlana Tumanova <stumanova@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1408 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
ob.py
530204b24b47e9763cb33f4e9ed20ae15ef664ce 07-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Change extract_tarball to return directory correctly using regex

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1407 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
1b87bc53ddf0a18e85df7a862df9d559c8bec438 04-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Modify all the common.py to set up an autotest_lib.* namespace as well
as all the common.* module setup that it normally does.

This should make it easier to replace any funky sys.path code with
code that actually does the right thing, and imports modules using
absolute paths; as long as our entry points import common, code should
be able to count on imports like "import autotest_lib.tko.parse" or
"import autotest_lib.server.autotest" working, without having to
fiddle with sys.path themselves.

The client/bin/common.py is an exception; we can't assume anything
other than the client/ directory is present, so it only adds the
autotest_lib.client.* namespace. So code within the client
itself should only do absolute imports from the client directory
downward, not from the top-level dir downward.

We'll probably need to add __init__.py files to some directories to
allow us to import from them as packages, but that can be done on
an as-needed basis when we write import statements that require them.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1397 592f7852-d20e-0410-864c-8624ca9c26a4
ommon.py
6e0afbbbcd4f2e89c2f82616253053796aa4623c 03-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make package.convert() on package.py to actually return the absolute path for the converted package.

Description
Even though the LSB debian support was fixed, the package.convert
function was still not returning the absolute path of the converted
package. This patch fixes this mistake. Also, makes the convertion
function to print the operation summary (Package xxx.rpm was
successfully converted to xxx.deb or the similar)

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1394 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
9eacabac3427c1da3d26428270841a0aa5c8d116 02-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixing debian support for LSB testing

Investigating the problem Martin reported about the LSB test support for
debian, I found 3 bugs I left when we took the decision of installing a
newer version of the LSB test manager, different from the original LTP
bundle. This patch fixes 2 bugs:

package.py fixes:
* ignoring dpkg errors when querying for package status
* making conversion function return the absolute path of the package
converted.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1392 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
9ea52602ddddfdd3fe83cbd79160bd3173541406 02-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> If someone calls run_test with a container arg but no root specified,
default to '', not None.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1391 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
558885e290e3fa847b6a77b6dd66cac33ec6f65c 01-Apr-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Partial implementation of a sysctl_kernel() to get the free and total
memory

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1388 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
1fc7ba1254d07f04e8d02294399bf7a19f3fd105 31-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Change job.new_container to just use root='' as the default.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1385 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
de0d47ea6cc505de034a8b420336c75260cb6b0d 28-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move read_keyval from the client utils to the common utils.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1376 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
96ffb9b32b43b3e8e0a31d0969125abeca44e6c9 28-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added output option to pipe command function.
Now check for a directory in the extracted files. Needed to do this
so a exception was not raised when the directory already existed.

Signed-off-by: Colby Ranger <cranger@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1375 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
61432f475d594548a6d6959766396fed777c85b4 28-Mar-2008 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> client: kernelexpand: test for exceptions on failure to map

When we fail to expand a kernel name, we expect an exception. Test this.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1372 592f7852-d20e-0410-864c-8624ca9c26a4
ernelexpand-test.py
374516923855ee8774e3c6a85b4d915c6d14e458 28-Mar-2008 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> client: kernelexpand -- handle no mirrors being defined

If neither of the mirror specifiers are defined we will incorrectly
attempt to concatenate a string with None, resulting in an exception. We
should simply leave the mirrors list undefined.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1371 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
12c0d3085da8f39b3d7f3bd5007c22c5fa2972c2 28-Mar-2008 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> client: kernelexpand -- minor fix to map a.b.c.d versions

kernelexpand does not return the url for the version of format a.b.c.d
Added relevant pattern in mappings.

Signed-off-by: Gowrishankar <gomuthuk@linux.vnet.ibm.com>
Signed-off-by: Andy Whitcroft <apw@shadowen.org>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1370 592f7852-d20e-0410-864c-8624ca9c26a4
ernelexpand.py
c9b353f202dd998ebbed8e7588baa3d0787edae2 28-Mar-2008 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> client: kernelexpand -- ensure we error if we cannot convert the name

Ensure we correctly error when we cannot convert the name.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1369 592f7852-d20e-0410-864c-8624ca9c26a4
ernelexpand.py
6e6847467f0c2c9a17cc48f5418df7524410ea5b 26-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Allow someone to specify a root container of ''.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1368 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
b7fd270f6ff4806468085065aa489c712fd8a9f8 25-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add kernel information to reboot.verify logging, and add support to
the parser to use it as a source of kernel version information.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1359 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
6f05d8947dba831fb1e47c65e032e3475dcd1959 22-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixes several more cpuset issues.

1. Fix race condition in per-job container memory setup.
Avoid assigning the same memory nodes to two or more sibling
containers of concurrent test jobs, even when the jobs execute
cpuset.__init__() in parallel.

2. Turn on the mem_exclusive flag for all temporary containers.

3. Verify that the chosen mem nodes were indeed exclusive and successfully
allocated to just this one container, by measuring the container size
afterwards. If any nodes were overlapping, they are rejected by
the kernel, and the final total size will be too small.
In that case, free any allocated nodes and retry/repeatthe
entire process, including rescanning all sibling containers to locate
other available nodes.

4. Cpuset does not override inactive containers left over
from prior steps. If the named cpuset already exists, do not
simply add the current task to the old container with its old
cpu/mem resources. Instead, vacate the old container by promoting
its remaining tasks to the parent container, remove the old container,
and create a new container with the specific cores and mem nodes
selected for the current job step.

5. When any container is released, do not kill off any tasks
that remain bound to that container, but instead promote them
to the parent container.

Additional changes:
The cleanup=1 argument to cpuset.cpuset() is now ignored.
The job_pid argument to cpuset.release() is now useless.
Long source lines are split to fit in 80 columns.

From: Duane Sand <duanes@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1356 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
5bb3e26440ff4e62777a7bf847aa77f54e8cd11f 21-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Changed error messages tested by running container tests on virgin machines
that had never run containers or Autotest before.

From: Duane Sand <duanes@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1355 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
38a4a1137cfc66546efcaf2038ecbb427a8ce579 19-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove some Perforce references that in practice we never use, and that
shouldn't be used externally regardless.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1352 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ernel.py
4bc5f6c766901ea1ab62cf327edb794df871143a 13-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove the check generates a warning if more than 5MB of disk is used
up on / during the job. This check doesn't really enforce what we want,
it pretty much just generates a bunch of false-positive warnings
whenever a kernel is installed. I'll write a more fine-grained warning
based around tests instead of jobs in a separate patch.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1344 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
5285a2dc3c5edbc010825e6d64ecdb219b3ad52c 10-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Change the client-side exit status handling to be consistent with the
server-side handling, and to not throw away codes indicating that a
signal was sent.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1321 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
6dee37f2c32e614c3643d1e251fb36fbf5aefa50 10-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> The kernelexpand method sometimes returns a list, and sometimes
returns a string. Since the code that calls it currently assumes it
will always return a list, we need to either fix that caller to look
at the return type (messy) or always return a list (which is what this
change does).

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1320 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
e9901bd07fb080b93e71df4414b16acc217fc448 08-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Take out the diskspace warning in job.__init__, it just duplicates
work that should be done by verify.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1318 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
0144e5aacc671764d1cdb6817362e629d78dfeb6 07-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move the free-space-on-root check up so that it occurs "inside" the
job, not after the end of the job has already been logged.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1316 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
45fd7c69f7f7378556a3f87f500fd973ff8c846a 05-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> If we don't use df -P, we can get line breaks on long device names,
which confuses the parser. Thanks to jburke for pointing this out,
and Andy for the solution ;-)

$ df -m /
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/mapper/VGR5X86-LVRootX86
106693 3524 97663 4% /

$ df -mP /
Filesystem 1048576-blocks Used Available Capacity Mounted on
/dev/mapper/VGR5X86-LVRootX86 106693 3524 97663 4% /

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1303 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ysinfo.py
7deae8fae7dd94059c48e357a768590e73aab945 05-Mar-2008 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> autotest: add tests for kernelexpand python library

Add some basic tests for the kernel expand python library.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1297 592f7852-d20e-0410-864c-8624ca9c26a4
ernelexpand-test.py
7bae90e31f8e2e139488ccc38de07a55cf084f62 05-Mar-2008 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> autotest: bring kernelexpand into a python library

The kernel object allows the user to specify a human name for releases.
The kernel object applied kernelexpand to that name and uses the list
of tarballs and patches to form the kernel source directory.

The current kernelexpand has a number of issues:

1) its a lump of perl in python world,
2) some patches are available from different locations over time and
once they move we cannot get them,
3) although it allows a mirror to be specified it will not fall back
to the origin if the mirror fails, and
4) it only can handle a single source and mirror for that source, which
with things like -rt living elsewhere will be a problem.

This change brings a replacement kernelexpand, as a python library.
Internally it converts the kernel into a sequence of components, for each
there is an ordered list of alternative urls to try in order to locate
it, typically one or two. A list of local mirror locations is then used
to augment the list for each component with any possible local copies.
Finally, this list is then validated, the first valid entry from each
component is then used. This means that we will try all locations on any
mirror, then all locations on the master until the component is found.
This means that even if a local mirror is specified, if it is not available
at the time the job runs we will fall back to the master.

This change introduces a new job configuration option mirror.mirrors
which is a list of mirror mappings and the prefix to local image:

[
[ 'http://www.kernel.org/pub/linux/kernel/v2.4',
'http://www.example.com/mirror/v2.4' ],
[ 'http://www.kernel.org/pub/linux/kernel/v2.6',
'http://www.example.com/mirror/v2.6' ],
[ 'http://www.kernel.org/pub/linux/kernel/people/akpm/patches',
'http://www.example.com/mirror/akpm' ],
]

For backwards compatibility, if the mirror.ftp_kernel_org is specified this
is used to generate the mirror mappings based on the "current" flattened
mirror.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Acked-by: Gustavo Rahal <grahal@br.ibm.com>
Acked-by: Tiago Santos <tsantos@br.ibm.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1296 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ernel.py
ernelexpand.py
9cdf3093f6bd0ee3d2d47004b4efe3d3e096ea8f 05-Mar-2008 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> ABAT: test_status missed when tag added

The ABAT harness was only half updated when the tag was added. Fix this.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1295 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
6ca0d6a3ce219019bfb512aa9c612dd7571374da 03-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix the container check.

From: Jean-Marc Eurin <jmeurin@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1290 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
4d349ca0e1a6eee125011aba134b46b6b59d5b87 03-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> The disk usage warning shouldn't be using a subdir of "Check disk
usage".

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

diff -up a/client/bin/job.py b/client/bin/job.py
--- a/client/bin/job.py 2008-02-28 14:40:58.000000000 -0800
+++ b/client/bin/job.py 2008-03-03 07:50:24.000000000 -0800
@@ -722,5 +722,6 @@ def runjob(control, cont = False, tag =
df_root = system_output('df -m / | tail -1').split()
free_space_mb_root_after = int(df_root[3])
if myjob.free_space_mb_root_before - free_space_mb_root_after > 5:
- myjob.record('WARN', 'Check disk usage', 'disk usage on root is
greater than 5Mb')
+ myjob.record('WARN', None, 'disk_usage',
+ 'disk usage on root is greater than 5Mb')
myjob.complete(0)



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1289 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
c0b10d36b442c8688f7e3ad8735700236d1673b1 03-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a spelling mistake, remove control.fs regardless of control.state's existenc
e.

From: Jiqing Tang <jiqingtang@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1288 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
f4ca14ff114fd92821e374bdf8e30f5ab90f9e24 03-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Save free_space_root_mb_before in a file and load it in following steps.
This will fix the bug introduced by my previous cl for multi-step jobs.

From: Jiqing Tang <jiqingtang@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1287 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
bf79bbabf2575b12872b199aba192efdde2c2ae3 03-Mar-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Check / has at least 10% or 100Mb free space before client tests run.
Make sure the (log) files generated on / during the tests does not exceed 5Mb.

From: Jiqing Tang <jiqingtang@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1286 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
8375088a4ed43357a7abe1b6cab83c0e5ce79cfa 28-Feb-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a few misses in the global_config patch
global_config.py import sys
common.py change import from top_level_dir to client

From: Scott Zawalski <scottz@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1276 592f7852-d20e-0410-864c-8624ca9c26a4
ommon.py
70c50ad0eec36f4678374040031da84150a75997 12-Feb-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add a ping_default_gateway function to the client utils.

From: Jorge Lucangeli Obes <jorgelo@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1235 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
547dccacecd649e296f344da083815925f8a99e9 07-Feb-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Delete old check_version.py

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1218 592f7852-d20e-0410-864c-8624ca9c26a4
heck_version.py
ea397bbc85f1a3eda39c9f2ef4fc209b4ff336f4 02-Feb-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Refactor the server and client side test classes into a the common lib

Big change here. Pull all of the common code in the server and client
versions of test into the common lib. This also requires pulling
chunks of the client and server utility functions into the common lib
as well.

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




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1215 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
est.py
0c3548d838c50decb2d48ed20648f6a84d5dd4c5 01-Feb-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move check_version into the common utils and make sure we run it for any
autotest binaries which require 2.4.

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1214 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
utotest_client
heck_version.py
ommon.py
ysinfo.py
3c70e530e5b96ede815cc51cfc5c4e8703a1c37c 01-Feb-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> In order to make test_config.config_loader() more flexible, implemented
a mechanism that allows us to choose between the following options:
* Specify the configuration as a remote file (http or ftp);
* Specify the configuration as a filesystem path to a file (the only
method previously supported
* Specify the configuration file as a string object that will be later
transformed in a file like object. So it's possible to use a config
string inside the control file like this (config file trimmed down):

config = '''
[dacapo]
tarball_url =
http://easynews.dl.sourceforge.net/sourceforge/dacapobench/dacapo-2006-10-MR2.jar
tarball_url_alt =
http://myhost.foo.com/packages/dacapobench/dacapo-2006-10-MR2.jar
override_default_url = no
package_md5 = 35cf23b26ac1b4fb83f11445300f492f
'''

This way, we still can use a config file format, keeping configuration
data organized and separated from test logic and still use one control
file.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1212 592f7852-d20e-0410-864c-8624ca9c26a4
est_config.py
84bafdba08b02b883ab23fcc7e915b2453f26c03 26-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> As discussed previously regarding support for proprietary/internal
tests, support for a site_tests directory was implemented. Tests
contained on site_tests are executed over eventual versions that are
located on the standard tests dir.

This way, it's possible to separate proprietary/internal tests. I know
that this can possibly be a controversial change, so let me know if
there are any problems.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1203 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
est.py
681195896bfcea90a4896e52720005bb5bc51615 25-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Adapt Autotest for running benchmarks in pairs under separate containers.

From: Duane Sand <duanes@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1202 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
ob.py
d5a388390e2dfb07c3c742352d57a2e7193f66b4 25-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add a libdir to allow tests to share common libraries.

From: Michael Rubin <mrubin@google.com>
Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1201 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
est.py
603f7ac31041edede98a0489faa7cd1e4ba35eb9 25-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> In order to accomodate LSB wrapper, package functions were extended:

* A new os_support() function was added, that returns the host support
for the known (implemented) package managers, as well as the host
ability in converting packages
* A new convert() function was added, that converts a package using
alien if it's present
* Support for ignore dependencies install on install() added
* Now the implemented package managers is a global variable to avoid
code repetition inside the package functions.

[non patch related note] The LSB wrapper 'shell script free' will follow
after it's more tested and revised.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1196 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
af4efc23471265a3bfa7fef0146fbc0cbb54515b 25-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> system_output() needs to shift the return code by 8

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1192 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
5af020379aa4be4f46c28a02814aebec708aa700 24-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> autotest_utils.py:get_file() has a bug in processing the optional
"permissions" parameter. It needs a filename.

Pointed out by pc@us.ibm.com

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1190 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
adff6ca0cb1fd0eb9d715fb45ec33708a02579ba 22-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add a check to see if the temporary results directory exists, if it doesn't
create it. Further up in the code we delete this directory but don't create
it anywhere.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1187 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
7471c6ce9282ff808b7973e7357e9f77dda9881b 22-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Raise a better (non-Autotest) error class. This code probably shouldn't
depend on Autotest, and raise a test-related exception.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1183 592f7852-d20e-0410-864c-8624ca9c26a4
s_dep.py
63fcd166095e62f2b524e6890f7274fe3a95f40c 17-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Made functions rpm_info() and dpkg_info() private, since they're not
supposed to be called explicitely. This simplified a bit the code of the
functions and allowed some cleanups. Also, while I was there, I've
noticed that on install() I wasn't handling the case where the client
doesn't have installed a proper package manager for the package, fixed
that.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1177 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
0cd51493d9c31b1ed1b4b433c7e16284e57cf74e 17-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Revert broken exception handling change

Can we revert this part of the change? We were not raising a string exception
here. pickle.load() deserializes the exception raised on the client side. This
change effectively converts all exceptions thrown at the client into an
AutotestError.

For me, this breaks the case where a TestError is raised. job.run_test()
won't re-raise a TestError:

if exc_info and isinstance(exc_info[1], TestError):
return False
elif exc_info:
raise exc_info[0], exc_info[1], exc_info[2]
else:
return True

I have control files that call the same test many times with different
parameters used for each iteration. If there is a test error for one iteration,
the next test is run immediately. After this change, the entire control
file gets aborted after the first TestError gets raised. I reverted
the change in my local copy and confirm that the original behavior
returns.

Below is a patch to revert the change.

Signed-off-by: Mandeep Singh Baines <msb@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1174 592f7852-d20e-0410-864c-8624ca9c26a4
arallel.py
67c5f9253ba3febc677849a185a223e06b337cc9 16-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This original assert_ patch doesn't do exactly what I wanted it to. I don't
want to force the user to have to provide an error message. Below is a patch
to fix this.

Signed-off-by: Mandeep Singh Baines <msb@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1167 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
d4ecd202574a7a9655baf85d7063a8708ae527c2 15-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> I thought it would be handy to have a write_keyval() API call inside test.
That way, code like this:

f = open(os.path.join(self.resultdir, 'keyval'), 'a')
f.write(results_dictionary)
f.close()

Could be replaced by this:

self.write_keyval(results_dictionary)

Other benefits:
* keynames can be validated (no whitespace check, etc)
* Guarantee that all tests write keyval to resultdir/keyval and not
somehwere else by accident

Signed-off-by: Mandeep Singh Baines <msb@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1165 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
est.py
3177be4c5acc138d22bda7bf49ee3db5b1c0c07a 15-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up a couple places where autotest errors are referenced but
haven't been properly imported (via common.error or autotest_utils).

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1164 592f7852-d20e-0410-864c-8624ca9c26a4
s_dep.py
71ea249d32e5f2a1d5f601a6b6fe286df5f0b54e 15-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Revert one of the raise changes that was made by r1158 to convert a
large set of raises to the one-argument form. The original code was
deliberately using the three-argument form to re-raise the original
exception instead of wiping out the original traceback by raising a
new exception.

While looking at this, I also noticed a logic bug in the related code
in test.run_group; the code which is supposed to be wrapping
non-TestError exceptions in a TestError is actually doing the
opposite and wrapping TestError exceptions. The patch fixes this as
well.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1163 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
d509b71f612ccfc97dd723f24fa74d3275b73f6f 14-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> job.parallel should accumulate any exceptions that are thrown during
its calls to fork_waitfor and then raise them in a single JobError
after all the tasks are complete.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1161 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ecf55f408768b6c55957c916f066d227eb727eff 14-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Pre-emptively check if a test has already been run with the same tag
and raise a more informative failure message, instead of just failing
with a "file already exists" error during a mkdir call.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1159 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
642b03e401142565a8109ac6e8495eda1dead577 14-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Now fixing the places where we're raising string exceptions on the
client code. The patch also fixes identation errors in the iostat
profiler and error.py'>error.py.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1158 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
oottool.py
puset.py
ilesystem.py
ob.py
s_dep.py
ackage.py
arallel.py
est_config.py
en.py
6b34c4cc34bebd20def94c0191ef1e46dd6a1cde 10-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add some modules and CPU handling functions to autotest_utils.py

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1137 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ae3bf21a1d40ae624ddee20bd744a4e4964ad86d 10-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Reduce failure of linking init scripts to a warning, to make
testing as non-root possible. Whilst this isn't technically supported,
it's useful

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1136 592f7852-d20e-0410-864c-8624ca9c26a4
arness_standalone.py
0fb83977415f02b821f17c89056f37e7179554e0 10-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add missing part of sysinfo change

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1135 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
est.py
afb304fc0f9c32a50baab35c29cc9519a4817417 10-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Symlink current reboot in test sysinfo

Cloned from adrianbg's 4025905

Here's a patch that makes a symbolic link to the current reboot in
test sysinfo. I never mailed it before because the current version of
SSHHost.send_file() doesn't preserve symbolic links. Rsync can do it if
you pass a -l or something but scp can't do it at all as far as I can
tell.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1132 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
49e8d50f7b8753bb1610dd696d45f9bd38b7ac4d 07-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Shift the result of os.system eight bits so that we get the actual exit
code of the command.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1111 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
971178e612a3e2b78f4078ea3af350b3774e0f0f 03-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> I have a lot of client tests which have code that looks like this:

if (result != expected_result):
raise TestError('Foo returned incorrect result')

Instead, I'd like to write this as:

self.assert_(result == expected_result, 'Foo returned incorrect result')

I've attached a patch which allows me to do just that. It is inspired by
the assert_ method in unittest.TestCase.

From: msb@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1101 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
75f161ac96565cb1ae13dd3f7bf0002c003da66f 03-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> sysinfo: never interfere with test errors

Signed-off-by: Adrian Bauer <adrianbg@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1099 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
60418bb82d1734a7f73a5e4c8870d06799795397 03-Jan-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> In order to cache large files located on remote repositories, we need to
make sure the downloaded files don't get corrupted. This patch adds a
function to get md5sums for files and an extension to unmap_url(),
unmap_url_cache() that will download the file located on a URL only if
it can't find the file on the cache directory or it detects a md5sum
mismatch (corrupted package file).

These functions were added to make it easier for other tests to cache
files and to allow the dacapo test to be accepted upstream.

Also, original unmap_url() now uses os.path.join() and a line filled
with whitespaces inside autotest utils was removed.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1096 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
a1cd0c9a64f5ba010dfc04f02122dde32c7e3d73 20-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Adding package.info() function

RPM source packages report the exact same version string as their binary
counterparts, therefore current package.install() implementation will
skip installing source rpms due to this fact.

Since we needed a way to differentiate between source and binary
packages, I've decided to implement a package.info() function that grabs
information from a package file and returns it in a dictionary. Package
install would just use this information to install packages, allowing us
to install source rpm packages correctly.

Also, all functions that grab info with package managers were grouped
and have their stderr redirected to /dev/null, making the code easier to
read and resolving all the problems with rpm/dpkg giving warnings about
missing signatures and such.

New package.info() tries to get as much information about a package as
possible, even when the native package manager is not installed (using
file). Here are some examples of the function usage:



Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1094 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
0e520502481ecb2e0939b57571e81b71b855025f 20-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> fix check_version

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1093 592f7852-d20e-0410-864c-8624ca9c26a4
heck_version.py
430b3e46c1ade1ed5d603fada28882c637b767d5 20-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix check_version for REALLY old versions of Python

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1092 592f7852-d20e-0410-864c-8624ca9c26a4
heck_version.py
d528d30ade9c0ea04777555908053f324f5ca56d 19-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Extend the status logging mechanism to handled multiple tests in
parallel on a single machine without interleaving the status logs from
each test. This introduces some delay into the processing of these
logs since the status logging has to delay writing out the status
logs until it can impose a serial order on them.

However, it does NOT delay the writing of the logs to stdout; since
stdout is intended for human consumption and not machine processing it
is much more convenient for the logging to be visible in the logs at
the point in time where the event occured.

This implementation tries to avoid introducing a sitation where logs
are dropped on the floor because their being held back from the status
log. In the worst case on the client side the logs if autotest fails
before accumulating the logs in status then the intermediate logs will
still be available in individual status.* files, and on the server side
the server will automatically write out whatever logs it has
accumulated so far in the case of a failure (under the assumption that
it is still possible to write to status.log).

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1089 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
arness_ABAT.py
arness_simple.py
ob.py
7c5a2c9ea8f638cb6d92a77076d34f0637a1fcaf 19-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> check_python_version: change to be more readable

Taking a quick look at the code I saw that a minor change in the
check_python_version function would let the code more readable.
This patch only changes sys.version call to sys.version_info, that
returns the needed data for this verification more directly.

Signed-off-by: Ursula Junque <ursinha@gmail.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1083 592f7852-d20e-0410-864c-8624ca9c26a4
heck_version.py
d9be00e31f734acfbecae61c45683cd666b55dab 17-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix autotest to understand systems that use event.d, instead of inittab

From: Ryan Harper <ryanh@us.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1073 592f7852-d20e-0410-864c-8624ca9c26a4
arness_standalone.py
bcb30d18abbaeedc4eed4df5e50e0161e9222cdf 13-Dec-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> autotest: boottool -- interface should show error output

When setting up a new entry and the like we should be outputting the
output returned by boottool for logging purposes.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1067 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
e895612f26a9a3297e918345d511f70a89418d43 13-Dec-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel: handle s390 as make target

We need to "make image" to build a bootable s390/s390x kernel.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1066 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
f3e7844e73b403eb1e72a091aef5be3c6dcbeb9d 13-Dec-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> abat: update harness to send the raw status information

We would like the server side status file to mirror as closly as possible
the client side one. To this end use the raw message to form the ABAT
summary.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1063 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
6b504ff04e21af766da0cfbcde8e1e352a474dfa 12-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed the barriers to exit rendevous when there are no members specied.

Signed-off-by: Colby Ranger <cranger@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1061 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
0e9b0190e61e082acc5a6ec4aa22aa43280ec760 12-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Serialize calls to test.initialize and test.setup when running tests
in parallel. These calls may be modifying the "common"
directories (e.g. bindir and srcdir) and so for simplicity we should
avoid running them at the same time.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1060 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
38114885943f33b22710655fb22bb10fe8513f2a 10-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Use the tagged name of a test to create the temp directory to avoid
collisions when running multiple instances of the same test.

From: John Admanski <jadmanski@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@1050 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
65938a2747786d9efb5fe8f4ef28bcc2899afcf9 10-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Create a sample of running parallel tasks on one machine through containers.
Does the necessary modifications to kernbench and sleeptest classes so that they
can run under container.

From: Masoud Asgharifard Sharbiani <masouds@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1049 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
ob.py
e1417fa0334ac4e2ab6064e42de0bb891e561057 10-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> * Added support for barriers to the server.
* Allow slaves to run HTTP servers and let the master connect to them.
This is for networks where some connections to machines can only be
initiated in one direction.
* Added a client test that would kick off profilers and run them in sync with th
e server.
* Added a server sample test that uses the client test.

From: Colby Ranger <cranger@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1048 592f7852-d20e-0410-864c-8624ca9c26a4
arrier.py
ob.py
8539cfe4660c93f3ed00dffed0fc1b61a3f82c64 07-Dec-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel_config: fix up kernel overrides

It seems kernel overrides do not work. The parameter is supposed
to be a url but no attempt is made to fetch it. The code which
applies the changes raises exceptions, and would not support
disabling parameter. Fix all this up.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1042 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_config.py
dbdbd0e1807583a9aacf63ef983392c100716058 05-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Probably the class name was modified but the __all__ was not changed.

At the current code it'll give an error when trying to import * from
the test_config file.

Signed-off-by: Ricardo Salveti de Araujo <rsalvetidev@gmail.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1038 592f7852-d20e-0410-864c-8624ca9c26a4
est_config.py
523a19b532a778dd9e752e507ac75d3ffc5c701a 04-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add locate() function to autotest_utils. Acts much like:
find . -name 'pattern' and returns a list of files matching
the pattern.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1034 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
0b9ba27aa48b431de41f790e1aa4e2bdc2f34dac 04-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Incomplete change to package.py

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>

Martin, you've forgot to modify the references to the functions inside
the functions code. This finishes the change you've proposed.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1028 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
fd238563bee71ad757fddf208b078fbf60798164 04-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> To avoid hard coding paths and variables inside a test, it's useful to
support standard python INI configuration files. The configuration files
help to make things cleaner and more organized.

Example:

Control file:

{{{
config_file = 'mytest2.cfg'
tests = ['test1', 'test2', 'test3']

for test in tests:
job.run_test('mytest', test, config_file, tag = test)
}}}

Config file mytest.cfg, inside the test class dir
(client/tests/mytest/mytest2.cfg):

{{{
[session1]
parameter1 = foo
parameter2 = bar

[session2]
parameter1 = baz

[session3]
parameter1 = spam
parameter2 = eggs
}}}

Test class file mytest.py (client/tests/mytest/mytest.py)

{{{
import test
from test_config import config_loader

class mytest(test):
def execute(self, test = 'test1', cfg = 'mytest.cfg'):
# Load the test configuration file
config_file = os.path.join(self.bindir, cfg)
my_config = config_loader(filename = config_file)
...
parameter = my_config.get('session2', 'parameter1') # retrieves baz
my_config.set('session3', 'parameter2', 'sausage') # exchanges eggs for sausage
my_config.remove('session1', 'parameter2') # removes bar
my_config.save() # saves the changes made to the file
}}}

This patch adds a wrapper around standard ConfigParser to handle such
files. We're sending the patch because we think it might be useful.

From: Ricardo Salveti de Araujo <rsalveti@br.ibm.com>
Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1026 592f7852-d20e-0410-864c-8624ca9c26a4
est_config.py
ade19b261fb4c55782549029f23e94065539a455 04-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove package_ from names in package class, as they'll end up
prefixed with package. anyway

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1025 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
8d83cdc678ea7dcfc6780a029d39f841f548d859 03-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make autotest interact with manually run jobs properly

Now we use a separate filename for server jobs, we can just restart
any manually run job from the normal initscript method

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1021 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
arness_standalone.py
ob.py
9befd048720cce95c5a472f2e5744529dd2fb4b1 03-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Cleanup in the cpuset file; This should just clean the container after
the test is done.

Fix broken multiline print thing in cpuset.py

From: Masoud Asgharifard Sharbiani <masouds@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1020 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
dec40e2a1d621b606e18e46bd5da78fcfda89af3 03-Dec-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added a profiler that runs mpstat on a specified interval.

Signed-off-by: Colby Ranger <cranger@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1013 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
d1d3a5923a16dfdf2f28d2b29599a015bc1cee0c 29-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> barrier.py: import error.py from the new location

Signed-off-by: Adrian Bauer <adrianbg@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1008 592f7852-d20e-0410-864c-8624ca9c26a4
arrier.py
906b9f7386c58a59a9226556c58bed43eb2e3db9 29-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Oops. Fix missing / not deleted files from last commit

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1005 592f7852-d20e-0410-864c-8624ca9c26a4
rror.py
f31b0c0060dd688c80be3bb97ffdfa193e3d924b 29-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move error.py'>error.py'>error.py out of the client and server and into common_lib.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1003 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
utotest_utils.py
rror.py
ilesystem.py
ob.py
ackage.py
arallel.py
rofilers.py
est.py
dc11c3f0428e8c53758ae489e42c2818d28fa690 29-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Change common.py'>common.py so that it inserts all of the libraries it loads
into sys.modules, so that we can import specific submodules directly
(e.g. "import common.logging") or specific contents of submodules
(e.g. "from common.logging import record") instead of only being able
to import the top-level common module.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@1001 592f7852-d20e-0410-864c-8624ca9c26a4
ommon.py
3e9062e854a920eead8e250c4e79838c30a0657c 29-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add miscellaneous helpers to autotest_utils.py

From: Jiqing Tang <jiqingtang@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@998 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
c37197204032f778275124a7a4cb59038826f7ea 29-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Various fixes for cpuset.py

From: Masoud Sharbiani <masouds@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@997 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
944ee92e610706b91d75c3184bf750b9c590cd9b 29-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Will not load blank keyval value

From: james.puderer@windriver.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@996 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
bbdbfd1ec2fba6a83cd943c9fb7b5fe7a6150aad 28-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> UnhandledError should just pass on its error message to its parent's
__init__ method, instead of (wrongly) assigning a string message to
self.args.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@994 592f7852-d20e-0410-864c-8624ca9c26a4
rror.py
2bf2db6379790645e2ffc45102ee729d271cf3ba 27-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> When sending status logs back through the ssh stderr, we need to
prepend the logs with some sort of indicator that the error came
from autotest and not ssh so that errors generated by ssh itself
don't get mixed in with status information.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@993 592f7852-d20e-0410-864c-8624ca9c26a4
arness_simple.py
a7e5009e788516b2a54daf9271252b8405682ff9 26-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Improve cpuset support on the client side

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@990 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
b832e1b9df377b8debb06dd2ef8d51a19cc0e30c 24-Nov-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> job continuation error handling fixes

It seems that asking for a continue of a job which has actually completed
results in the following blammo:
JOB ERROR: 1
Traceback (most recent call last):
File "/usr/local/autobench/autotest/bin/job.py", line 569, in runjob
sys.exit(1)
SystemExit: 1

Traceback (most recent call last):
File "bin/autotest", line 51, in ?
job.runjob(args[0], options.cont, options.tag, options.harness)
File "/usr/local/autobench/autotest/bin/job.py", line 604, in runjob
myjob.group_level = 0
AttributeError: 'NoneType' object has no attribute 'group_level'

This seems to be caused by a couple of bugs. The first is that we can
bail out before we have a job. In this case we will attempt to exit(1)
to indicate completion. This will trip an exit exception and the
surrounding try will trigger. Here we have the following construction
which when we have a job will lead to our exiting '1':

except Exception, e:
[...]
if myjob:
[...]
myjob.complete(1)

However as we have yet to instantiate myjob we will drop through to
the end of the exception handler and as its not re-raising anything we
continue on as if there was no error. We then fall into this code
and all hell breaks loose:

myjob.group_level = 0
myjob.record('END GOOD', None, None)
myjob.complete(0)

This patch sorts that out by adding explicit exits to ensure we do not drop
out. It also makes the job completion exit much more obvious by making
a JobComplete exception object along the lines of the existing JobContinue.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@977 592f7852-d20e-0410-864c-8624ca9c26a4
rror.py
ob.py
29d9a4222b308941116da7fa4fc4cf55b56ffd35 24-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix autotest_utils to support read and write of keyval files properly

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@976 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
2316e52c84ac8799330c52359bc4dd5e7f7324d5 24-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add a get_disks check to autotest_utils



git-svn-id: http://test.kernel.org/svn/autotest/trunk@972 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
6de9cdfe8ce95c1d87b01aa768526a64755090ca 24-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add a get_cpu_family check, and a hook for site-specific utils

From: Jiqing Tang <jiqingtang@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@969 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
f91efaf53bf840d9545c3c0ceaa928d8fbb6df3b 24-Nov-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> client: job -- job group support broke run start indication

When the job group support went in this broke the run_start harness
indication. The current code only triggers at the start of the job, not
each run within the job. This means that harnesses are only correctly
initialised in the first step of the job.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@956 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
040dcaa2c3b8fb7dba2615afbbfe72bb7b42a73b 21-Nov-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel: pull the actual kernel download and extract into an operation

Pull the actual kernel download and extract into its own operation.
Make this recorded so that we can see failures from it in the job log.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@953 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
001e40a4fc231d0900304508ba33ad625cc852a2 21-Nov-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel: make build phase output recording consistant

We have been recording some but not all of the build output in the
main log, and the rest in the main compile log. This is confusing and
inconsistant. Move to putting all output in the build/std{out,err}
files and in the main log.

This patch adds a new decorator that understands how to redirect both
stdout and stderr to the required files in the objects log_dir. It also
marks those files with the beginning and end of the operation.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@952 592f7852-d20e-0410-864c-8624ca9c26a4
d_stack.py
ernel.py
51144e0e162d43f2474b48535159b190a09a0d49 20-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> When logging an exception during a test group failure, include the
exception string in the error message and not just a traceback.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@950 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
210d624ff451a6feaacae0923bce0f24d5072204 20-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This patch is just to add the /proc/modules file at the
sysinfo 'files' list.

It's good to know when running some device drivers test
cases.

Signed-off-by: Ricardo Salveti de Araujo <rsalvetidev@gmail.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@949 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
0cff60cd9c49b40a9eab17bf1d454daee3015ae7 20-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Improve package.py by adding other package utility functions:
package_type - returns the package type of a file
package_version - returns a version string for a package file

The introduction of package_type simplified the code of the other
functions, making them easier to read and cleaner.

Signed-off-by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@947 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
cfc6dd3f4fa1b68921c785e720574168486e49ff 20-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> When running a test use the test name as the group name, instead of
prepending "test." to it. The subdir actually contains all the
information we want, instead of stripping off the tag.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@945 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
faf0cd4c3c8845010909a15a3c5ff355eb26b24f 19-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Running autotest_client should give the same exit status as running
autotest directly (i.e. non-zero on ABORT, zero otherwise). Also,
running autoserv should produce a non-zero exit code if it runs a
client-side test that is aborted, although this does not actually
abort the server-side job itself.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@944 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_client
476817118a203079fae43a745b2b7ba3e17c8ee0 16-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixes a typo in a job.py exception handler.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@943 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
c343016711f17d8ad4c6bb1239944eee13279f0f 15-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move a lot of the ad hoc logging out of harness_simple and into job.py,
and make sure that multi-line logs (e.g. logs with tracebacks) are
not trucated to a single line in the status.log file.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@941 592f7852-d20e-0410-864c-8624ca9c26a4
arness_simple.py
ob.py
7b7e90781893469f2484a5a8003314a43660990c 14-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up a few spots where CmdError is thrown with only one parameter
when it expects two (a message AND a return code), either by adding
the second parameter, or using a different type of exception.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@940 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
6ee7ee08943eb274d4e286a1f11f9cbcbe4a41d5 14-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Pulls the kernel/rpm_kernel autoselection code out of job.py and into a helper
function in kernel.py, and move the site-specific hook that allows
pre-processing of kernel paths out of rpm_kernel and into this new helper
function.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@939 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ernel.py
7dd510c3d11e5e346542907867d839858b0cb7e7 13-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Rewrite the run_test and run_group code in job so that individual
tests are each run inside of a group. This makes it possible to
determine not only what tests have run, but also what test is
currently running.

The status log parsing in status.py has also been rewritten so that
it can handle the wrapping of jobs in groups.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@938 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
119c12a73ec74ea7f259f7db39d994055db1b609 12-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Extract the logging decorator used in kernel.py into a common library
and add it to Autotest.install to provide logging of autotest
installation failure (and success).

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@937 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
c335c7d100463f7c2732ec0426ab22ac434cc0d8 12-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for a common library area, usable by both server and client code.

This isn't as clean as I would like, but it's the best mechanism I could find. If you have suggestions please send them my way.

To add libraries, add a .py file (e.g. mylib.py) under client/common_lib, and add the module name to __all__ in __init__.py (e.g. __all__ = ['mylib']). Then, from the server or the client, you can use 'from common import mylib'.

From: showard@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@935 592f7852-d20e-0410-864c-8624ca9c26a4
ommon.py
de1f9e32c2409816b24a6201bfed19c8d590eb12 09-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove need for specified package_type in package_installed

The logic of the new patch checks if we have the binary anywhere in the
path, if so, it will query that particular package manager database
looking for the package version.

This won't fall apart if we have different package managers installed.
If a package version is installed on any of the package managers, the
function will return True, the correct result.

In a corner case where the exact same version string of a package is
installed under different package managers (unlikely), it's also very
likely that we have very serious file install conflicts and therefore
bad system administration practices. Not worth considering IMO.

So in my opinion there's no need to check /etc/issue in this particular
case.

From: Lucas Meneghel Rodrigues <lmr@linux.vnet.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@934 592f7852-d20e-0410-864c-8624ca9c26a4
ackage.py
3d515d47b70c0727ef4868031ac41c05427bd4cc 09-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> when args = None in kernel.mkinitrd() then the string 'None' gets leaked
into the platform mkinitrd command. On Ubuntu systems, the resultant
command string looks like:

/usr/sbin/mkinitramfs None /boot/initrd-autotest 2.6.24-rc1-autotest

This results in an initrd which includes modules not from the specified
version (2.6.24-rc1-autotest) but rather modules from the currently
booted kernel. This is beacuse mkinitramfs is reading 'None' as the
kernel version, not finding /lib/modules/None and falling back on the
current kernel version directory.

This problem is solved by settings args to an empty string if
self.job.config_get('kernel.mkinitrd_extra_args') returns None.

From: Ryan Harper <ryanh@us.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@933 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
d73181622b8a47e694fb4164091347e801bb7e33 08-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Change kernel.py to perform rpm package "pre-processing" in an optional
site-specific file. This allows custom site local manipulations of
rpm names without having to hack core autotest.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@932 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
73e82a3de0d7a623459ad5febd15f651e0b76200 08-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix stupid typo.

From: John Admanski <jadmanski@google.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@931 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
f3b7893d4080edbc18c5f55b6905ded0d8745c98 07-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up the reboot logging so that the starts of hardresets are logged
properly, failed soft reboots are logged properly, and a little extra
detail is attached to failure messages to make it easier to determine
exactly what failed.

This also fixes up "reboot over ssh" commands to make sure that all
the associated file descriptors are closed.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@930 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
44da937edd45b58694f52fc37a31bec7df2738fb 06-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed up some fd_stack.redirect calls that really should be calls
to fd_stack.tee_redirect.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@929 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
en.py
667a51c0c8138c9264b8d9130b4716c067fa60f4 06-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Remove blank lines from end of job.py

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@927 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
4851b69167b01382541628a9cd5477bb51eb1987 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up shell wrappers for site_sysinfo

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@921 592f7852-d20e-0410-864c-8624ca9c26a4
ite_sysinfo.py
ysinfo.py
bcf5ca17751e00ef7ffb3012e2d03e2b5137323a 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add missing shell for site_sysinfo file



git-svn-id: http://test.kernel.org/svn/autotest/trunk@920 592f7852-d20e-0410-864c-8624ca9c26a4
ite_sysinfo.py
d79b2b442d0b6e2f8ad16de6006d995e1741f6d0 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed up the old unlogged calls to the kernel and rpm_kernel methods
using the @record decorator. The old unlogged calls were being made
by calling the "internal" versions of the methods, but now we just
have the decorated methods accept an extra "logged" parameter that
can be used to disable logging.

This change also changes the decorator to actually return the result
of the wrapped method, instead of always swallowing it.

From: John Admanski <jadmanski@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@917 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
4681c5474fad1b4fa6d55da2512c372dd2a139e4 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Log free disk space from sysinfo

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@915 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
30270306182f4feb599278ce8a7412fa8526eb68 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Improved the reboot logging to be consistent between client and server
side reboots. Also, removed the "job starting" log that was produced
every time a job moved into a new phase.

Also, timestamp logging was added on the client and server side. Any
logging done in job.record will have timestamp (time since epoch in
UTC) and localtime (human-readable local time) values added to it.

From: John Admanski <jadmanski@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@914 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
b8e0a11101cfb8a80690ebe2e603f60c585598de 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add the same kind of logging that we use in kernel.kernel to
kernel.rpm_kernel.

From: John Admanski <jadmanski@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@913 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
83ac9945652a0e140de4d643b99624ffa0a40118 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> - move all sysinfo logging to client/bin/sysinfo.py
- grab SVS output before each job step and after each test

sysinfo.py handles info logged before each job step and info logged
after each test finishes.

there is now a reboot## directory under sysinfo for each boot after
the first one. the first boot's sysinfo goes to the same place.

added a sysinfo directory under test directories.

job.py and test.py use sysinfo.py as a module now, but it is still
executable for testing or whatever.

From: Adrian Bauer <adrianbg@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@905 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ysinfo.py
est.py
a60795f222715c0c586ba7be9ee988dcf2c68eb5 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix one set of .redirect's to .tee_redirect's. I'll file a bug for
the others. This doesn't fix all the kernel install problems, but
it cleans some things up.

From: Jeremy Orlow <jorlow@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@904 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
241d0176060c8d0ad83d39e4c4f68d69ea5ad2ed 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Use unbuffered I/O in fd_stack. The use of buffered I/O was causing
delays in the writing of logging output to stdout and stderr.

From: John Admanski <jadmanski@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@902 592f7852-d20e-0410-864c-8624ca9c26a4
d_stack.py
669caa195852382f1cb4765e456d0b7c00f1e20e 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix logging directory for rpm kernel install so we can see kernel
failures.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@894 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
6ade6f0cdcc0f7256e0624fb0fddb61e7fc13650 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix logging of tests to log output of setup, initialize as well
as execute

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@892 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
f912c44b8056cb4fdfc93f47c56c8daabf40d10f 05-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add an initial implementation of a install_package() function, that
basically takes as an argument a package file, tries to figure out its
file type, and if it's one file that we know how to handle (only rpm and
dpkg files implemented so far), check if it's installed, if it's not,
try to install it.

I've improved the patch based on previous input. Basically I've created
the file package.py, and added the PackageError definition on error.py.
Not sure if it's worth to make package a class. Any thoughts on that?

About the rpm_installed() function that's used on autotest_utils, I
believe it's better to have a function a little more generic, like
package_installed(), that's also implemented on this patch. My patch
also removes the rpm_installed function.

Signed of by: Lucas Meneghel Rodrigues <lucasmr@br.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@879 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
rror.py
ackage.py
7942d39e39a12340de2b2dd1db33d0459af0c17f 02-Nov-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move the five second sleep that we perform on the client before
rebooting out of the python code and into the system("reboot") call.
This gives the client a chance to exit cleanly before the reboot
command tells the client process to die.

From: John Admanski <jadmanski@google.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@871 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
arness_simple.py
ob.py
27113605becea04a2d32c4f4bb919fd7220f66bd 31-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Ran across this trivial typo: jobtab != jobtag

From: Ryan Harper <ryanh@us.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@865 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
9c5ac32b5f8ca90f46510540cd6c603c9c770669 31-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up error handling of aborts. Make sure we print tracebacks for
unknown exceptions.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@864 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
arness_simple.py
ob.py
da0311eda85e09a031c2aafa6f892e8e8312d797 25-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Checking if the right kernel has been installed after we reboot.

From: jiqingtang@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@847 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ernel.py
29d65039cac088a8da67739070e988bbae416dce 25-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added a cleanup method to the test class that is called in a finally
block after the execute method.

From: John Admanski <jadmanski@google.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@846 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
10a24a73b4efce71212e631cdad9cecfe086aa3e 24-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up rpm_kernel to have a boot method, and provide a sample file

Pull in Steve's fix for the repeated kernel entries, seems to work fine

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@831 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
a5d32f19aaf1896a9ad5b9b261c0321c45a4707b 24-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add site-specific sysinfo extensions

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@830 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
53c4150efdca30f551a58a5e231688a8d75c306d 23-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> There's way too many levels of indirection inbetween job.run_test
and actually excuting the test - makes the code very hard to read.

job.run_test
job.__runtest
test.runtest
test.__runtest
test.run
test.__exec
test.execute

Seven levels seems a bit extreme ;-) Now we're refactored some
bits, we should be able to collapse this down some.

job.run_test
job.__runtest
test.runtest
test._exec
test.execute

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@828 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
est.py
afb6390522c189e2a966185141106e40a08278ef 23-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Ditch errors from dmesg

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@827 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
31f858f0130d78bcedaa5cf33236fedaa91c1f86 23-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> If it fails during the sys.path.insert, we don't want to do the pop at the end.

Only wrap exec in the try/finally.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@825 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
736adc930ee15e5bade91e2cf2c996ccf8bbd3eb 18-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add kernel rpm installation support to the client side.

From: Shawn Lewis <shawnlewis@google.com>
From: Jiqing Tang <jiqingtang@google.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@819 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ernel.py
be82203959d5252cc0504d984662e9267b8f1437 18-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> The test class should now clear out the tmpdir after the test is
executed.

From: John Admanski <jadmanski@google.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@816 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
6c22ddd40626ee2bc2a01caa0b4d2d0ca7e6c9cb 16-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up keyval not to require numbers

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@800 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
2e793a4584ff97eb4ccc23566db71c450450738d 13-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Use the warmup run to log the output, and use /dev/null for redirect during
the main test, per suggestion from apw

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@796 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
25bb1e1fbb67950ac480f6500138c19647472889 13-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> disktest.py should look how much space is available on the target,
there is not always 100GB free :)

From: Patrick Kirsch <pkirsch@suse.de>
Signed-off-by: Martin J. Bligh <mbligh@google.com>

Modified by mbligh



git-svn-id: http://test.kernel.org/svn/autotest/trunk@795 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
30f28c505e44e1c64bc915b9e5c5a96782d9c4c0 11-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Once upon a time, a long long time ago, on a dark and stormy night,
it seemed like a good idea to someone (me) to try to be terribly
clever and pickle the kernel object across runs so kernbench
didn't have to recreate the kernel build dir every time.

Turns out that causes weird and wonderful problems, especially
when the server copies a "used" (or in car dealer-speak "experienced")
copy of the client source code to another machine.

As nowadays the kernel object will take a prebuilt directory
anyway, we can avoid the pickle, and all the complexity, just
by doing "leave=True", and passing back the build directory
instead of a tarball to the newly created object.

Also, redirect the output to a file - it'll slow down the benchmark too much
otherwise if done from a slow console

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@789 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
6a69413f7fe91007b194f70c852b6b1f08c4863b 08-Oct-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> boottool: update the default position to the end of the bootloader config

Allow specification of the location of the boot entry within the
bootloader config. At the same time default this to the end,
which seems wholy more logical.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@782 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
7706ef94dbc5185dc6c3d2249283ba2e7a80eee4 05-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix bug in cat_file_to_cmd

From: Steven Howard <showard@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@756 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
7c406b2a30eee85c723132c086e9326abbb43e1f 04-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add a key-value file at the test level

At the moment, we put key-value pairs in for performance results.
As well as those per-iteration datums, we have some things we'd like
to record about the test itself - most significantly it's version.

Add another keyval file at the test subdirectory level. I used
a generic helper to do this ... will go back and clean up all
the tests to use it.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@749 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
est.py
f47934f64e2989ec6e4020e91ff27c57a7637835 04-Oct-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> ABAT: use set_default boot mode by default

Under deploy we often cannot boot_once even with boot loaders which
can. Switch it off.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@746 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
11985b7d5a48eec489f48f010d0ca3aba296e84f 04-Oct-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> boot: fix up boot_once support and make it optional v2

Currently we offer the option on a kernel.boot() to request boot_once
semantics. However in fact if you ask for once=False you get the default
boot which is boot_once of autotest, if you ask for once=True you get
two boot_once's one for the tag you wanted and a second for autotest.
In all cases you get boot_once semantics for the autotest tag, not the
semantics you asked for nor the tag you asked for.

This patch removes the redundant once= option for kernel.boot(), it ensures
we pass the required tag to job.reboot(), and finally allows the harness
to select boot_once or set_default mode via boot.set_default.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@745 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ernel.py
a730c12bb406067fe11c138e1fa7b69618373572 02-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Revert accidental changes from last commit. Oops

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@741 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
c82f24696c6acb3efe618ce63c7de73185af0e14 02-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This patch gets rid of the last bits db initialization within db.py.
Everything is now done in create_db.

This fixes a bug I ran into where a script with read-only access to
db.py tried to connect to a new database. Things would remain broken
(returning silly errors) until a script with read-write access ran
(and finished initialization). IMHO, this is a cleaner way to do
things anyway.

From: Jeremy Orlow <jorlow@google.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@740 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
b830e28297dca51aed2c4b57469a3e04845e54e7 02-Oct-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add rpm_installed function

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@738 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
25cf55aeb23a1d196d1b1b0f71008fe3fd01da69 01-Oct-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> ABAT: handle even obscurer SLES root specifier

It seems that in SLES images root will be shown mounted on /dev/root
but that /dev/root will not even exist. At this point we have use
the mtab to determine where / is mounted from. Use df -lP to find
the underlying device for passing to the boot loader.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@734 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
87c65c13103af7760ddce3dde13c63393c0f02e0 27-Sep-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel: allow install to be run as a separate phase in combination with boot

Allow the install phase to be run separatly from the boot phase if
required. The tag to which the install is directed is then recorded
so that a subsequent boot will boot the tag to which the install
was directed. Where the boot is called without first installing
boot will install to the default tag 'autotest' and boot that.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@708 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
f8a681430a27b889516864f4fffed4b7c778ecce 27-Sep-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> filesystem: fsck should report to the job log

The fsck success/failure should be reported in the job log.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@707 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
6944c14fee60952a0c1a30bdda2701b5018828bc 27-Sep-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> filesystem: the default fsck check should be non-destructive

We want to be able to check the filesystem was good once it was
unmounted following a test. For that we want to do an 'fsck -n'.
Update the fsck method to default to this usage.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@706 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
1da244b693c3b3d1b2facf2b67e1059f4359639a 27-Sep-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> groups: allow the caller to specify the tag for the group

Allow the group tag to be overridden via a tag= argument.
The default remains the name of the group function.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@705 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
08403caa1b9fd69b2ccb79b0c9fcb6e7e0b1913c 27-Sep-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> groups: allow the run_group function to return a result

If the function called via run_group returns a result return that
to the caller. Note that the 'value' of a void function is None,
so it is valid to not return anything.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@704 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
c7344967748273794063ca222aa60310e1894d8f 27-Sep-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> It seems we have a redundant fsck= assignement. This looks very
much like a miss-merge during fixes for the reiserfs madness.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@696 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
ce73d89d533b822e738c995523fd96818472d369 25-Sep-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> boot: report successful boot to the job status

Report a successful boot to the job status reporting the directory
from which the kernel was installed. Also move the reporting into
the job object so that the status record is within scope; this is
also much more logical.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@688 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ob.py
ernel.py
4b2e4fb2908864de2b29ce1d7e4fcc56990c970b 25-Sep-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> harness: add a status with detail hook

We really could do with getting the status in its raw components to
better generate the required format for the server harness. Add a
test_status_detail() hook which passes the code, subdir, operation, and
message separatly. Use this hook within the ABAT harness to reform the
intermediate status messages into acceptable format.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@687 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
arness_ABAT.py
ob.py
c50374cfc2527b6ecacf60f7d99a8e157e764285 25-Sep-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> ABAT: ensure we squash symbolic links for root device

Some distros use /dev/root as a symbolic link to the real device.
Handle this by always applying os.path.realpath to the lookups.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@686 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
e43a30b87e1757cb37e30343b449e89d29088b91 25-Sep-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel: allow specification of additional initrd arguments

When building the initrd allow the job configuration to offer
up additional initrd arguments. Use this in the ABAT harness to
specify modules for RedHat installs.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@685 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
ernel.py
870988bc6f50c71c8238b6f8957ce460ea3a424a 25-Sep-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> job: cleanup path generation to use os.path.join

Convert remaning manual path concatenation in job object over to
os.path.join(...).

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@684 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
f3d2862106a44635bc9d05778d12aeea8baba720 25-Sep-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> create download directory at job start v2

Ensure that the download directory exists in the tests directory when the
job starts. Remove any existing downloads.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@683 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
b0570adde56686064201ec5aec941582da6d435d 19-Sep-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up subdirectory level logging so it's consistent with the main job
level logging.




git-svn-id: http://test.kernel.org/svn/autotest/trunk@674 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
est.py
c9f67b51b0f133b82dcce3d8d01b2576589107b1 19-Sep-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> fix up spaces vs tabs in harness code




git-svn-id: http://test.kernel.org/svn/autotest/trunk@673 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
arness_simple.py
09f288a122c511f582b627c30ab3513f56ddb4c7 18-Sep-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Standardize the format in the status file to:

<status code>\t<subdir>\t<operation>\t<status>

everywhere. This makes it a lot saner to parse.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@672 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
arness_ABAT.py
arness_simple.py
ob.py
ernel.py
est.py
a18038889fed56f8756f36ad99998224f4909e07 14-Sep-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add missing + sign



git-svn-id: http://test.kernel.org/svn/autotest/trunk@668 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
155351cd9635a897c126180290d857c0ecc42d3e 14-Sep-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> added missing space to FAIL message in kernel:__record

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@666 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
237bed32e0110ccd0db10823df742534dd7dc50d 05-Sep-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> kernel: add a boot validation step post boot

When requesting a boot via a kernel generate a kernel identifier
for that kernel and a command line validator (the time). These
are then checked in a post boot validation stepper "step" which
is inserted before the users next step.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@657 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ob.py
ernel.py
7f7dbd3c32b92729765145bf4243da3d245bf7c3 31-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add missing standalone.py from Andy

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@656 592f7852-d20e-0410-864c-8624ca9c26a4
arness_standalone.py
5925e9644b45e0c2c49e1d36b7c2de7d3946e33b 30-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> We are not recording the kernel build/configure/install phases in
the job log, so when they fail we just get nothing, and when they
work we do not really know they were done.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@647 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
0763e737e8c32a8a924bfb091ba82cd595b89e6e 30-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Copy patches into results dir, if not compressed (hint for large)

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

Also log the local copy and md5 sum of the patch. Example output:

BASE: /usr/local/src/linux-2.6.18.tar.bz2
PATCH: http://mbligh.org/patches/ext2_reservations build/results/ext2_reservations 1b5ad454d9f9e960b56551aada72d132



git-svn-id: http://test.kernel.org/svn/autotest/trunk@646 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
1c250caf38290501e305f3683df90e76efb60ec5 30-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Oops. Have to remove the trailing / during relative_path as well

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@645 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ad0eda281191df9000be669f9ed7abf6e1851a19 30-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> return dest from force_copy

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@644 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
0692e47566bac280871e6a0bf122fbf2aa3e094e 30-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add a function to return relative paths to the results dir

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@643 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
362ab3d050b8b52233c0bb7352f68043cc29dfad 30-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> In standalone mode we want to copy the control file to AUTODIR so
that the standard continuation via init script strategy will work on
reboot. Promote the standalone mode to a full harness which contains
this copy support, allowing other harnesses to not support it.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@641 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
ob.py
e293a06162d9f608a785f5759e58642dab3bb017 29-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add hostname to sysinfo

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@639 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
88ab90fdf1694ac5616cc52b36fb8460edd534d6 29-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> We need to be able to group sets of commands together.
Logically, if we want to format a filesystem, test it, then fsck
it afterwards, that's one "grouped" set of commands.

The new run_group function allows us to do this. There's a START
and END marker, and things within the group are indented in the
status file one tab stop.

START test_fs
GOOD mkfs -t ext2 -F /tmp/looped
GOOD mount -t ext2 -o loop /tmp/looped /usr/local/autotest/tmp
GOOD fsx.ext2 completed successfully
GOOD umount /tmp/looped
END test_fs GOOD
START test_fs
FAIL mkfs -t poo -F /tmp/looped
END test_fs FAIL
START test_fs
GOOD mkfs -t ext3 -F /tmp/looped
GOOD mount -t ext3 -o loop /tmp/looped /usr/local/autotest/tmp
GOOD fsx.ext3 completed successfully
GOOD umount /tmp/looped
END test_fs GOOD

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@637 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
2045bd99eb2bff48a1051404a7e7fb7bde6418e5 29-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Abstract out error backtracing

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@636 592f7852-d20e-0410-864c-8624ca9c26a4
rror.py
eefbd15890c87cfd28185c47f2486877aa2136eb 28-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix exception handling in filesystems class

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@635 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
c2359857b5192f1abbb850954737e126436ece7e 28-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Loopback support for filesystems class

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@634 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
ob.py
526f2b1e4f2e8e58e100a1f2e38a8579b4c8c136 07-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> fix up kernbench



git-svn-id: http://test.kernel.org/svn/autotest/trunk@609 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
c421164e16db7233ef8fcc4ecfd83f2979aec16a 02-Aug-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Enable kernbench to take a dir argument




git-svn-id: http://test.kernel.org/svn/autotest/trunk@608 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
4c3fe4ab3d3099b2d6bab29d5f680a9ba1544316 31-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Older versions of sed don't support inplace editing. This gives
the same effect without requiring the newer version of sed.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@600 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
e21abaf324193f16133822390f09c16335c7088b 26-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add ignorestatus=1 to dmesg traps

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@593 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
est.py
32bcff3382844181eaf3d74e0fb252d88edfc8fb 25-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Moved to_seconds, extract_all_time_results to autotest_utils.py for reuse

Signed-off-by: Ryan Stutsman <stutsman@google.com>

Patch comes as a request from mbligh. This simply moves to_seconds and
the time results extraction to autotest_utils.py and adds a small bit of
documentation.




git-svn-id: http://test.kernel.org/svn/autotest/trunk@582 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ebd74d8496705e9561c10c5185ef0e80798e602f 25-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Print stuff to help debug from filesystem module

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@578 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
dfe8cc61157cc9466fb4d65cd7bff67a42cf094e 23-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This patch fixes the ability to select events for oprofile:

From: Benjamin Poirier <poirier@google.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>

* patch auto-applied to oprofile tarball regarding bug
https://bugs.launchpad.net/ubuntu/+source/oprofile/+bug/69455
* arguments added to setup function to match with call in profilers.py
* 'shutdown' added in start sequence, according to oprofile faq
http://oprofile.sourceforge.net/faq
"Why is OProfile ignoring me when I try to change the events to profile ?"
* random whitespace corrections




git-svn-id: http://test.kernel.org/svn/autotest/trunk@573 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
rofilers.py
b4eef241bfaad677e2455ec61c4b76490fb4329f 23-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Use full abspath for controlfile

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@572 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
da76b21f0e936878c7ae853bd8bd41b4b8f852b5 19-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add boot_once support to bootool

From: Ryan Stutsman <stutsman@google.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>

The INSTALL file from upstream specifies a way to generate a
monolithic script for boottool. Attached is such a monolithic version
of the upstream boottool (client/tools/boottool). This new version
adds support for boot-once in GRUB.

The following patch makes it so that kernels installed by autotest are
boot-once by default.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@568 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
513d4260800e42a96cd1e19368a929098a99973b 18-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Track the dmesg output when we start the job, and incremental
changes after each test run to look for errors we caused and
log them.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@566 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
est.py
0177a2e4305bcc5fdd3c588179fd6369bcad4c7b 18-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Adds support for reading/changing the io scheduler

From: Ryan Stutsman <stutsman@google.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@564 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
b3244ba06818fd8cbc363b2e439778e69bea4764 10-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> template for setup() in profiler.py needs to take an empty shell args list

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

Since we're passing the args to the profiler to both setup and intialize,
we need to take an empty dynamic args list in the template.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@554 592f7852-d20e-0410-864c-8624ca9c26a4
rofiler.py
591ce22810dd53e27829dcac5ad46aa52ecaa8b2 10-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move initialization of preserve_srcdir to the correct place.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@553 592f7852-d20e-0410-864c-8624ca9c26a4
rofiler.py
rofilers.py
0763522bf0dcd6297385a7db965086ed8ba18ada 09-Jul-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add check_kernel_ver to autotest_utils

From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@545 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
9f5113dbff55baa311e1dcfa09bc8311529e0964 26-Jun-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make option to do profiling only runs.

Signed-off-by: Ameya Gujar <ameya@google.com>

For tests that are run with profiling, this patch adds the option of skipping the non-profiling run. Previously we did two runs of the test, one with profiling and the other without. Now, one can do a job.profilers.set_only (True) to run only with profiling.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@543 592f7852-d20e-0410-864c-8624ca9c26a4
rofilers.py
2410253cab0f3147578603075e3b6abd8b083f85 23-Jun-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up the profiler argument passing so that we inherit args and dargs into
both setup and initialize phases properly.

Add a local hook to oprofile to use the local version instead of compiling
our own

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@540 592f7852-d20e-0410-864c-8624ca9c26a4
rofilers.py
e7e1bc2d9ac2791bbb505334bbf2a1bd51529e49 06-Jun-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add ld version to sysinfo (per akpm's request)



git-svn-id: http://test.kernel.org/svn/autotest/trunk@535 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
9b9d51306433ecd89b5e10767609573a491b7593 06-Jun-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add gcc --version to sysinfo



git-svn-id: http://test.kernel.org/svn/autotest/trunk@534 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
cac347a3b1abaa727cb96092dc057857b45e61b6 02-Jun-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> From: Eric Schwartz <eric.schwartz@hp.com>

Set build_target and build_image for ia64

The ia64 makefile doesn't have a bzImage target, so this patch detects
if you're on ia64, and sets the default build_target and build_image.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@530 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
a1bef1f2774b539df11c134d9a9a177304c34f3c 03-Apr-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add check_for_kernel_feature function

From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@522 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
c69530b170d60b913131a2a65cf0e3c8b81bc700 25-Mar-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add a flag to update_version to request preserving srcdir.

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

Add a flag to update_version to request preserving srcdir,
and clean up the codeflow in there. Alter all callers to
pass the new flag (can't be optional param, due to the
var args).

Rationale is so that we can more easily use small tests
without a tarball, and diff submissions against the C
files become legible, etc.

Make aio_dio_bugs test use this new mechanism.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@511 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
rofilers.py
est.py
de04a9c53a088cd39c0bae9cdcf6bd74352cdf2d 13-Mar-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel_config: fix typo


git-svn-id: http://test.kernel.org/svn/autotest/trunk@506 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_config.py
66cc4f6fa41280ee6f02985bcf56ab8672f30e9e 12-Mar-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> harness: check for and load a local static kernel configuration set

If we find $AUTODIR/configs assume this is a kernel configuration
set and load this into the job configuration.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@505 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
2366d9985aa185845476cce600d0c3487124cc61 12-Mar-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel config: add initial support for config sets

Add support for a kernel config sets. A series of versioned
configuration files from which we will select one config based on
the version of the kernel which we are building.

We define a set via the job configuration:

job.config_set('kernel.default_config_set',
[ 'http://somethere.or.other/configs/',
'2.6.1', '2.6.10', '2.6.8', '2.6.8-mm1' ])

Now when we select a kernel by version number the nearest preceeding
configuration will be selected.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@504 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
ernel_config.py
ernel_versions.py
4726b0988a5270b0ece3584aae937dcfaa043881 12-Mar-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> ensure we call the general harness initialiser

We should be calling the general harness initialiser to get our
job mapping etc and any other base initialisation. Used in a later
patch to load the default configuration set.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@503 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
arness_ABAT.py
arness_simple.py
5a7335cf124fa231c2b8b82d9b07aebd71c964fa 12-Mar-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> job: run_test allow a specified tag of None

It is much simpler to handle optional tags in helpers if we can
always pass in a tag, but that if that tag is None we ignore it.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@502 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
7b44c5d4115deb52dceb90aa82ac717abd401a11 12-Mar-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel_config: report the kernel config in use

When we configure the kernel report the config file we used to help
diagnose issues after the fact.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@501 592f7852-d20e-0410-864c-8624ca9c26a4
ernel_config.py
e084b80e62ad6bb457f2bcf4d462739819e31c98 06-Mar-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> client: move to unbuffered io for stdio

We want the output and error from the client to be as up to date
as possible as we are potentially triggering destructive testing.
To this end we want the output and error to be unbuffered. Request
this on the she-bang line and when we cross exec versions of python.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@497 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
heck_version.py
510398f754a486b6495557fb72c1ecdd3d926dab 06-Mar-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> job: record a job error as an abort on the job

A job error indicates that the whole job is being stopped as a result
of that error. Record this in the status as an ABORT status so we
know that is what occured.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@496 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
cd23dcca818f9034d8fc69725df44a08037d8abf 04-Mar-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> ABAT: include the command status in the summary

We need to include the command status in the summary as this
makes the server summary pretty much match the client side
one and makes the lines more useful. They are easily
distinguishable from legacy ones.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@495 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
55dc5bd5a02ae67d45e0d77a36689c2b2185bfcd 04-Mar-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> ABAT: handle adding the root device to the kernel command line

When booting we need to tell the kernel where root is. When
booting a new kernel this will always be the current root device.
Discover and add this when booting a kernel.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@494 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
1cd22443c201b1c15446a8d2f397047927ff70f4 02-Mar-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> filesystem: allow specification of mount options

Allow specification of additional mount options when mounting
a test filesystem.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@493 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
892d37f0699444063348913675d5428f1886c699 01-Mar-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Be careful not to do a sys.exit() inside a try/except block

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@492 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
c898a1f220266a2b7ab9d06168a0906ce0cdea00 28-Feb-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel: add initrd support for Debian and Ubuntu

Add mkinitrd/mkinitramfs support for both Debian and Ubuntu distros.
Pick whichever is installed, both have compatible command lines.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@491 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
39f9cac86babcf828c81c17650bda85e2ef4c1c3 28-Feb-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> get_os_vendor: add support recognising Debian

Add support to get_os_vendor() for Debian based distros.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@490 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
7d40038495acc5cdc3ccbe01a40e1f17aa4b4280 28-Feb-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> ABAT: add support for reading free partition specifications

Add support for reading the autobench.conf free disks specifications.
Use this to load the free disk partitions into the job configuration.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@489 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
e9b59d62c11bafca0639df0c0bc2410e43f7e10f 28-Feb-2007 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> filesystem: add support for a free test partitions list

Add support for 'generic' names for local machine partition lists.
Uses the filesystem.partitions variable to define a list of available
partitions. These are then exposed via the pseudo devices "partN".

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@488 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
e80ff5a7ae2600b9ddffc2724764854c6a721101 26-Feb-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make print_to_tty() just open /dev/tty directly, not call system, just to do
echo ... ewwww.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@487 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
91cc1f5fc24c6d6de38808d440476d7bcae4687c 26-Feb-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Clean up tee_redirect

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@486 592f7852-d20e-0410-864c-8624ca9c26a4
d_stack.py
fbfb77df9fe515b5dc9ba93de1f48eceb8e87570 15-Feb-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix error handling if results dir does not exist

Make autotest_client check the python version.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@481 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_client
ob.py
8eca3a98728afabc7fc761c08dbb8e91260c7de4 03-Feb-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Updates to cpusets

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@475 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
puset.py
094870c4fe2f849add1d11e81c453cf9823fd0a0 03-Feb-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> broken ;-)



git-svn-id: http://test.kernel.org/svn/autotest/trunk@474 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
444b8b028fbbf2e5112cde918922c4ea347d2954 03-Feb-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add non-working version of cpuset code



git-svn-id: http://test.kernel.org/svn/autotest/trunk@473 592f7852-d20e-0410-864c-8624ca9c26a4
puset.py
264cd8f4889cea73fa5fb7873e3243c1c770a1bc 03-Feb-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add human_format printer from Peter Dahl's code

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@472 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
26e8ccbb075747d444d1b175d4381077dd64f5e4 28-Jan-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Change tee_redirect to append, not truncate

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@466 592f7852-d20e-0410-864c-8624ca9c26a4
d_stack.py
c6998a4ec8330f328124ac837835f16ef21de05b 28-Jan-2007 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up sysinfo commands that take arguments, remove lshw



git-svn-id: http://test.kernel.org/svn/autotest/trunk@465 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
9061a273dfd2e522c15f6dd77cfed1e2815e4e9e 28-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Update linus_stress to autocalculate memory



git-svn-id: http://test.kernel.org/svn/autotest/trunk@454 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
78bc05e2adca012bc15b7d26d86ba89aeba2d6ea 25-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up the kernel commandline handling to avoid repeated elements

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@452 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
ernel.py
49d43bfd6df2087fa3afaa635c004c5eab88dd81 25-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Record /proc/cmdline

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@450 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
61a6c1adf99442aa52e513d671c15344a335cdd6 25-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> There was no ABORT function when the job went wrong.
Tried to fix this up.

Also removed the status arg to job_complete, as it was unused.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@447 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
arness_ABAT.py
arness_simple.py
ob.py
595186479f4fa2ff366f9dc27215922e98d0d6cb 22-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Revert previous change from /bin/sh to /bin/bash

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@442 592f7852-d20e-0410-864c-8624ca9c26a4
elf-test/test
elf-test/tests/NNN-filter
d2a54fb93a1b93ec76837b4f20315250864475b7 22-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Change shell scripts to point to /bin/bash interpreter

Furthermore, it's a generally accepted preferred practice to specify the
exact shell interpreter one wants rather than relying on the /bin/sh
symlink.

This patch affects only a couple of files in autotest whose interpreter
was specified as /bin/sh. Note that this action is preemptive, as I
haven't seen any explicit problems with these scripts executing in dash
yet. Also note that there may be other Autotest dependencies (LTP
tarballs and the like whose projects should also probably make these
changes where sensible).

Signed-off-by: Dustin Kirkland <dustin.kirkland@us.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@441 592f7852-d20e-0410-864c-8624ca9c26a4
elf-test/test
elf-test/tests/NNN-filter
51fb6491c92e56bc3c8e05d13f23ffeae8ce25b4 19-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix sysinfo (lshw, actually) not to spew crap all over stderr.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@435 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
e65acfb10873a7a6134403cbfba89300aaa893ce 19-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add check_python_version to sysinfo



git-svn-id: http://test.kernel.org/svn/autotest/trunk@434 592f7852-d20e-0410-864c-8624ca9c26a4
ysinfo.py
be666737eb72ab1ae5fcd1be2d1c6a1be8077062 19-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move check_python_version() code out into separate file.

So that ReallyCrusty(tm) versions of Python can still bootstrap us.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@433 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
utotest_utils.py
heck_version.py
f25cde1a150d7a8f6110f082fbfb144118d94aa5 18-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Cleanup pass through xen.py

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@432 592f7852-d20e-0410-864c-8624ca9c26a4
en.py
ede4af6eed565a126f898725c05442eb8e1b2c8f 18-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for adding Xen entries into bootloader conf files using
boottool.pl rev 628

Should apply to the version mentioned (628). Playing with this version
of boottool I noticed that the xenhyper arg didn't lose its /boot
prefix where kernels and initrds did. This fixes it.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@430 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
8baa2ea4c794349eb217203e2464e5406eaeb355 18-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> This patch adds a new class derived from the kernel class to build and install
the Xen hypervisor, build a Xen guest kernel, and the user-space tools.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@429 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ernel.py
en.py
72b88fcd890b50ca93396fc1b65dfa437e43e5d3 16-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Clean up white-space in files touched by xen build/install.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>




git-svn-id: http://test.kernel.org/svn/autotest/trunk@428 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
ob.py
ernel.py
678823fac49ff4227e3c42c563c725276f63a96c 07-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up cross-compiler to work properly



git-svn-id: http://test.kernel.org/svn/autotest/trunk@422 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
b449c7d5444534fee5de25294564b1fdc4198b64 05-Dec-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel: allow the user to request the real defconfig

Although we want to have a per machine default config, we do have
a real need to get to a defconfig configuration. Expose this via
a new defconfig parameter such that we have the following options:

kernel.config(defconfig=True) - make defconfig
kernel.config() - default config or defconfig
kernel.config('myconfig') - my configuration

Convert kernbench over to it.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@419 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
ernel_config.py
220b59544cdc922eb9698b754fc3b6f2154feb81 05-Dec-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel: make the default config a default parameter

Currently you configure a kernel using the kernel config method.
This allows you to supply a base config file. If this file is ''
then a defconfig is generated and used. This leads to the following
construction:

testkernel = job.kernel('2.6.18')
testkernel.config('')

It seems senseless to mandate the parameter and yet take '' as
meaning default. This patch makes this parameter default to ''.
Allowing the following:

testkernel = job.kernel('2.6.18')
testkernel.config()

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@418 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
c30cbd3511791acbaa95f0713b3d26402766fee5 05-Dec-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel: add a default config via the job configuration

Add a new job configuration option kernel.default_config and use that
to seed the kernel configuration where it is not already specified.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@417 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
ernel_config.py
e7a170fb097da48af81ca598e29643f3e7cca584 05-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add bash_shared_mapping test

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@416 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
c273bfb897d1eda2509fa42838425d2417e65542 04-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> fix stupid typo in filesystems



git-svn-id: http://test.kernel.org/svn/autotest/trunk@408 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
a33a7f4245ddea4e2ff9f39650352d9ae37193fb 04-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add explicit fs type on mount, else ext2 vs ext3 gets confused



git-svn-id: http://test.kernel.org/svn/autotest/trunk@407 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
b15f9634163ed5504212bf68ec0a875961e831bb 04-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix filesystem class to log status.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@406 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
ob.py
cf3aadcecd449f1413113de73733c5f35b723c23 04-Dec-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> add force for xfs mkfs



git-svn-id: http://test.kernel.org/svn/autotest/trunk@404 592f7852-d20e-0410-864c-8624ca9c26a4
ilesystem.py
935903e789b4f894eb3d805a5e90184862a612fc 01-Dec-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> ABAT: initialise boot loader parameters after bootloader init

We need to wait for the bootloader to be initialised before we
can use it to determine the default bootloader configuration.
Move initialisation out to run_start now that that really is
the start of the run.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@403 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
90154afdc5c54633689c7759d9626c18aa6cab19 01-Dec-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> boottool: allow the specification of the executable through the config

We want to be able to specify a harness specific wrapper. Use the
job configuration to specify the initial executable.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@402 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
357f50fbbcf6957fde8c8cb79407cb14d8407b10 01-Dec-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> harness: hold off run_start till everything is initialised

Currently harness initialisation and run_start are one and the
same. By moving this to the end of job initialisation we
ensure the harness gets a chance to modify the environment
when the job truly is ready to start.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@401 592f7852-d20e-0410-864c-8624ca9c26a4
arness.py
ob.py
d27e55f46743f4310d70db5504f321a987aac6c1 01-Dec-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> harness: ensure the configuration is initialised

The harness is very likely to want to modify the job configuration.
It needs a chance to update the configuration before anyone uses it.
We could add a new 'config_ready' style hook, but the configuration
is entirly passive at this time so we can simply initialise it
before the harness.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@400 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
e68a713ffe1c1f66b7e28224b0d6985b808651fa 01-Dec-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> job: document the harness_type parameter

We now may optionally pass in a server harness name. Document this
in the object description.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@399 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
1f22fe6567a7f5e9f6352a787057e8e1cd2dd521 28-Nov-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> check_version: search for a local copy of python2.4

Check for a version of python2.4 in /usr/local/bin before giving
up on it.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@398 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
9a61c5bc31955fb13b1de55c34cbf0a4c3da1e4c 28-Nov-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> ppc64: must boot vmlinux else initrd will not be loaded

When we install a kernel for ppc64 we must actually use the vmlinux
to boot. If we do not the initrd will be ignored and the kernel
boot will fail. When we use a compressed image use vmlinuz-autotest
else vmlinux-autotest.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@397 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
a6fe2011811599f3ae27602fac29e0bf391df78b 28-Nov-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> ABAT: default boot.default_args to the args from our autobench entry

ABAT uses the autobench entry to hold the default boot args.
Find this entry and extract the current arguments. Set those as
the default boot-args in the job configuration.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@396 592f7852-d20e-0410-864c-8624ca9c26a4
arness_ABAT.py
cbe325760274672a27af5e40f6f562ecdb0dd35c 28-Nov-2006 apw <apw@592f7852-d20e-0410-864c-8624ca9c26a4> kernel: add boot.default_args from the job configuration

Allow the job configuration override the default boot args
for this machine.

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@395 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
d9223fce1053996b9cba2bb9b1b85e8611cc7969 26-Nov-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> A few small cleanups to job.py

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@391 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
570e93e712f838aa8044760b8810add7ebaf8ba4 26-Nov-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add simple server harness support to autotest client

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@388 592f7852-d20e-0410-864c-8624ca9c26a4
utotest
utotest_client
arness_simple.py
ob.py
d016ecce0b5b990569e0ecca6f9f4f399c16e5c1 25-Nov-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Modify runtest to make tag argument optional



git-svn-id: http://test.kernel.org/svn/autotest/trunk@385 592f7852-d20e-0410-864c-8624ca9c26a4
ob.py
ernel.py
elf-test/tests/080-sequencer
elf-test/tests/085-test-exception
elf-test/tests/087-test-output
est.py
2e398bf37f66dffb7619d48331601323ec50e7e1 24-Nov-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up spacing in test.py



git-svn-id: http://test.kernel.org/svn/autotest/trunk@384 592f7852-d20e-0410-864c-8624ca9c26a4
est.py
1e8858e6f825fb9eba4a87b921911c6f398ca727 24-Nov-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix up kernel build class

We need to actually store the results of the kernel build in a sensible place,
not just lob everything in a temporary directory. Break out the paramaters
of kernel.build() so we can specify separately where the different parts go.
Fix up all callers.

Also added a new test (kernelbuild) that utilizes the new functionality (and
is the simplest test yet ;-)).

Eliminate requirement to specify the tmpdir to kernel.build(), as most people
won't care, and it's just confusing. This is now an optional parameter.

When we do a kernel.build() from a control file, make sure we create a build
directory to store the results in in the results directory. Locate appropriate
build output in there. I'm not copying patches in there yet, will do that later

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@383 592f7852-d20e-0410-864c-8624ca9c26a4
utotest_utils.py
ob.py
ernel.py
c49af7b20fa93f96ca6f7ab818133db337d84d52 24-Nov-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix kernel build to be out of dir 'linux' and remove some hardcoded cruft

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



git-svn-id: http://test.kernel.org/svn/autotest/trunk@382 592f7852-d20e-0410-864c-8624ca9c26a4
ernel.py
b12c4d13b70c4d882265026d9829c524ace337b7 24-Nov-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> revert dummy argument



git-svn-id: http://test.kernel.org/svn/autotest/trunk@381 592f7852-d20e-0410-864c-8624ca9c26a4
oottool.py
9453ed5b27261ed817617c7da6aa52983a71c6d3 23-Nov-2006 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Move bin directory under client/



git-svn-id: http://test.kernel.org/svn/autotest/trunk@375 592f7852-d20e-0410-864c-8624ca9c26a4
ODO
utotest
utotest.py
utotest_utils.py
arrier.py
oottool.py
onfig.py
rror.py
d_stack.py
ilesystem.py
rub.py
arness.py
arness_ABAT.py
ob.py
ernel.py
ernel_config.py
s_dep.py
arallel.py
rofiler.py
rofilers.py
elf-test/README
elf-test/extract_tarball_to_dir
elf-test/test
elf-test/test_logfile.stderr
elf-test/test_logfile.stdout
elf-test/test_redirect
elf-test/tests/010-basic-output
elf-test/tests/010-basic-output-out
elf-test/tests/015-exception-output
elf-test/tests/015-exception-output-out
elf-test/tests/017-system-exception
elf-test/tests/017-system-exception-out
elf-test/tests/020-parallel-basic
elf-test/tests/020-parallel-basic-out
elf-test/tests/030-stepper-basic
elf-test/tests/030-stepper-basic-out
elf-test/tests/031-stepper-chain
elf-test/tests/031-stepper-chain-out
elf-test/tests/032-stepper-list-order
elf-test/tests/032-stepper-list-order-out
elf-test/tests/033-stepper-parameters
elf-test/tests/033-stepper-parameters-out
elf-test/tests/034-stepper-iterate
elf-test/tests/034-stepper-iterate-out
elf-test/tests/040-stepper-boot-chain
elf-test/tests/040-stepper-boot-chain-out
elf-test/tests/042-stepper-boot-list-order
elf-test/tests/042-stepper-boot-list-order-out
elf-test/tests/043-stepper-boot-parameters
elf-test/tests/043-stepper-boot-parameters-out
elf-test/tests/044-stepper-boot-iterate
elf-test/tests/044-stepper-boot-iterate-out
elf-test/tests/080-sequencer
elf-test/tests/080-sequencer-out
elf-test/tests/085-test-exception
elf-test/tests/085-test-exception-out
elf-test/tests/087-test-output
elf-test/tests/087-test-output-out
elf-test/tests/100-barrier-2x-master-first
elf-test/tests/100-barrier-2x-master-first-out
elf-test/tests/101-barrier-2x-slave-first
elf-test/tests/101-barrier-2x-slave-first-out
elf-test/tests/102-barrier-2x-master-only
elf-test/tests/102-barrier-2x-master-only-out
elf-test/tests/103-barrier-2x-slave-only
elf-test/tests/103-barrier-2x-slave-only-out
elf-test/tests/105-barrier-5x-master-middle
elf-test/tests/105-barrier-5x-master-middle-out
elf-test/tests/110-barrier-unordered-10x
elf-test/tests/110-barrier-unordered-10x-out
elf-test/tests/111-barrier-unordered-20x
elf-test/tests/111-barrier-unordered-20x-out
elf-test/tests/112-barrier-unordered-40x
elf-test/tests/112-barrier-unordered-40x-out
elf-test/tests/113-barrier-unordered-100x
elf-test/tests/113-barrier-unordered-100x-out
elf-test/tests/NNN-filter
ysinfo.py
est.py