FAFT: Use eventlog to check recovery reasons instead of crossystem |
|||||||||||||||||
Issue descriptionRecently, I fixed a race condition that was preventing certain platforms from entering recovery mode reliably ( issue 606062 ). However, it seems that this breaks FAFT tests where the recovery reason code is what is under test. My change causes the system to clobber this reason in order to enter recovery mode reliably. The root of the problem is that the warm_reset control is edge sensitive instead of level sensitive for these chipsets. (BDW, SKL) Furthermore, there's a "new" recovery flow. If the device needs recovery, it will boot to the new BROKEN screen. From the BROKEN screen, the user must explicitly request recovery (Esc+Refresh+Power) in order to enter recovery mode and the INSERT screen is shown. The old flow would just boot into recovery mode and show the INSERT screen if the device needed recovery. I *could* ... add a new "rec" command to the driver which could handle this case, but it would only work if the device would boot to the BROKEN screen. I really dislike that though as it's ugly and assumes some state of the device. But I'm not sure if there's anything else that can be done. :c (yay, more complexity...) In order for the new "rec" to succeed, there would have to be a recovery reason already set.
,
Sep 21 2016
Did you press esc+refresh+power in the broken screen?
,
Sep 22 2016
re c#2, no I had done that from the OS. It also turns out that if the device is in dev mode, the BROKEN screen is not displayed and the device goes directly to the INSERT screen. I also talked with dnojiri@ and he said that what I experienced in c#1 would be expected. The broken screen needs to be displayed such that the recovery_reason gets saved as the subreason. When the three finger salute is then performed, FW should detect that and restore the subreason as the recovery_reason on the next boot. Today, I added a "power_state:rec_flakey" which would only perform 1 boot, but the recovery_reason still seemed to be "button pressed". I'll continue debugging tomorrow.
,
Sep 22 2016
Re c#3, it is expected that in the dev mode it directly boots into the USB image without showing a broken screen. Check the flow charts in https://docs.google.com/document/d/1Hsj32d0-CZGNoY0ccrXanDrUQ1vZgQ-epBQky9rRmBU/edit
,
Sep 27 2016
So I believe I have figured out why with my testing it shows up as button pressed. Again, it comes down to the warm reset control being edge sensitive instead of level sensitive. Basically, in the time between releasing cold_reset and issuing "reboot ap-off" (to hold the AP in reset), the AP has already booted far enough and cleared the recovery_request. When we then try to set the recovery_request thru the EC, it shows up as button pressed (0x02). The AP just boots too quickly before we can turn it off and hold it in reset. I talked with rspangler@ and he had the great idea that the tests should use the eventlog instead of crossystem to check the recovery reason. Especially now with the new recovery flow, this will be more robust than relying on crossystem to check the recovery_reason. An added bonus is that we get some history of the boot flow as well. Therefore, I will leave the power state driver as is. It needs to reliably get the DUT into recovery mode. Tests that care about the recovery reason need to not use crossystem but instead use mosys to view the eventlog. I haven't checked the code, but I think this will be all contained in FAFTCheckers.
,
Oct 8 2016
There are couple of issue here 1- power_state:rec presses the power button twice. Should this be fixed regardless ? 2- all our test uses crossystem to check for various status and will needs to be rework to check event log instead. We will need help to rework the test cases to check event log. The test will need to check for new updated events only.
,
Oct 8 2016
1. No, I don't think so. Note that this should be only for boards that have an edge sensitive warm reset and a PD MCU. In my opinion, power_state:rec is not the analog of press esc+refresh+power, but is instead get the device into recovery mode (no matter what it takes). This needs to be reliable. 2. Yes, perhaps I'll scope out what's needed and come up with a design document.
,
Oct 9 2016
Thanks if power_state:rec != esc+refresh+power, we might need some way to simulate the 3 key press. I assume we can call keypress follow by key release would do it.
,
Oct 10 2016
That won't do it. Keypress and key-release are handled by the EC. The refresh+power combo is handled by dedicated hardware (e.g. Silego chip). To get into recovery, reboot ap-off hostevent set 0x4000 powerbtn On some of the newer platforms where the power button is directly handled by a PMIC, you may need to simulate pressing it via dut-control.
,
Nov 16 2016
Thanks. We really need this fix, a few FAFT test call power_state:rec and check crossystem for recovery reason and is now failing. Testing them manually is very time consuming. looks like we have a few options 1- follow what rspangler@ in c#9 (would that sequence works for all boards ?) 2- check eventlog instead of crossystem I think #2 is more reliable
,
Nov 16 2016
Yes, with the influx of reports, this is high on my todo list. I've already started draft of a very lightweight design doc that will describe what changes. This is mainly to communicate and ensure I'm not overlooking anything. What rspangler@ mentioned in c#9 is what the power state driver already does. (See https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/master/servo/drv/cros_ec_softrec_power.py and https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/master/servo/drv/cros_ec_pd_softrec_power.py). #2 is the necessary fix.
,
Dec 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/mosys/+/20f916b529b7130c3292e746b84d81ef38a85c57 commit 20f916b529b7130c3292e746b84d81ef38a85c57 Author: Shelley Chen <shchen@chromium.org> Date: Wed Nov 30 20:24:59 2016 mosys: Add recovery code for all recovery entries in eventlog Currently, mosys only returns a string description for recovery entries in the event log. Appending the code as well. This will make going through the recovery entries easier in autotest. BUG= chromium:648829 BRANCH=None TEST=run "mosys eventlog list" and ensure that recovery reason code is printed out. Change-Id: I2aaaa79be8542d1917a26e6f33227fb8abb33248 Signed-off-by: Shelley Chen <shchen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/415221 Reviewed-by: Julius Werner <jwerner@chromium.org> [modify] https://crrev.com/20f916b529b7130c3292e746b84d81ef38a85c57/lib/eventlog/elog.c
,
Dec 15 2016
+shchen, any update on this ?
,
Dec 15 2016
Aseda and I are trying to figure out if the best way to fix this is by using the event log or try to fix this in the FW. According to Aseda, this flow doesn't really reflect what the user is going to see, and is an artifact of the power_state:rec changes he made for x86. If that's the case it seems not very helpful that we're modifying the test to test a flow that will never be seen in the wild?
,
Dec 16 2016
Assigning to shchen@ since she's started working on this.
,
Dec 17 2016
Just to put my concerns in writing again: I don't think using the eventlog here is a great idea. The eventlog is often one of the last things we get working and right now is only probed by a single faft_lv3 test. Requiring it for everything that uses recovery reason in some way will just lead to a lot more failed tests in early bring-up and make it harder to figure out the real reason. Each individual test should try to test as little as possible, and conflating the eventlog into so many of them sounds like a bad idea. Also, eventlog isn't supported on older boards so you'd have to special-case two different ways of getting that recovery reason. I'm not familiar with the details of power_state:rec (I know it needs a lot of weird quirks to work around crap), but shouldn't this basically work on all EC-using devices?: reboot ap-off hostevent <set recovery flag> powerbtn I know we're using a bunch of cold_reset and warm_reset fidgeting right now, but I don't think we really *need* to? At least as long as the EC is not hosed in some way, which should hopefully be very rare and not happen during FAFT (the driver could still fall back to a cold_reset if the EC console isn't reacting to input). If this doesn't work any other way, I think the best solution might be changing vboot to preserve the recovery reason longer (via the subcode field, as it already does). I think it would make sense and wouldn't really hurt anything else if a recovery reason stayed valid (and wouldn't be overridden by explicitly pressing the recovery combination) until the device boots at least once in normal mode again.
,
Dec 22 2016
Thanks Julius; your comment caused me to see the light. Asserting cold_reset doesn't seem necessary and was causing this complex solution. Removing that makes things a lot better. See my proposed CL here: https://chromium-review.googlesource.com/c/423211/ My only question now is, is NOT asserting cold_reset okay? I mean, we do a `reboot ap-off` anyways and that seems to clear the EC_IN_RW latch and I *think* that's all recovery mode cares about?
,
Jan 9 2017
Cherry pick the CL : https://chromium-review.googlesource.com/c/423211/ Run below listed commands from chroot: --'cros_workon --host start hdctools' --'sudo emerge hdctools' Seen similar issue what we saw earlier without this CL 11:59:01 INFO | autoserv| Expected recovery boot and restore the OS image. 11:59:01 INFO | autoserv| -[FAFT]-[ start stepstate_checker ]---------- 11:59:01 INFO | autoserv| calling <bound method FAFTCheckers.crossystem_checker of <autotest_lib.server.cros.faft.utils.faft_checkers.FAFTCheckers object at 0x7fd806b3ec10>> with args ({'recovery_reason': ('72', '91'), 'mainfw_type': 'recovery'},) 11:59:01 INFO | autoserv| Expected 'recovery_reason' values ('72', '91') but got '2' 11:59:01 INFO | autoserv| Expected 'mainfw_type' value 'recovery' == real value 'recovery' ... ... ... ... /tmp/test_that_results_w6ca3C/results-1-firmware_CorruptBothKernelAB [ FAILED ] /tmp/test_that_results_w6ca3C/results-1-firmware_CorruptBothKernelAB FAIL: Not succeed: calling <bound method FAFTCheckers.crossystem_checker of <autotest_lib.server.cros.faft.utils.faft_checkers.FAFTCheckers object at 0x7fd806b3ec10>> with args ({'recovery_reason': ('72', '91'), 'mainfw_type': 'recovery'},) returning False /tmp/test_that_results_w6ca3C/results-1-firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.normal [ FAILED ] /tmp/test_that_results_w6ca3C/results-1-firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.normal FAIL: Not succeed: calling <bound method FAFTCheckers.crossystem_checker of <autotest_lib.server.cros.faft.utils.faft_checkers.FAFTCheckers object at 0x7fd806b3ec10>> with args ({'recovery_reason': ('72', '91'), 'mainfw_type': 'recovery'},) returning False
,
Jan 30 2017
Hi, what platform are you using to test the CL on?
,
Jan 31 2017
test failed on any glados or kunimitsu devices - caroline, chell, asuka, lars, sentry
,
Jan 31 2017
,
Feb 2 2017
I just tested out aseda's patch on cave and chell running firmware_CorruptBothKernelAB and they both passed. I think that it's safe for the fix can go through.
,
Feb 2 2017
Regarding c#17, I asked rspangler@ if recovery mode cares about the EC_IN_RW and he said it does not. The only thing that cares about that signal is the normal to dev transition. Therefore, not asserting cold_reset should be fine for entering recovery mode.
,
Feb 3 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/9291fb6606ba0845ea9f08069258ade935170789 commit 9291fb6606ba0845ea9f08069258ade935170789 Author: Aseda Aboagye <aaboagye@google.com> Date: Fri Feb 03 07:31:11 2017 cros_ec_pd_softrec_power: Fix rec mode (again). My previous solution to the power_state:rec issue was a bit complex and caused certain FAFT tests to fail (such as firmware_CorruptBothFwSigAB). The reason for my previous fix was that there was a race from releasing cold_reset and issuing the command to the EC to reboot and keep the AP off. However, it seems that asserting the cold_reset line isn't actually necessary and by removing that part, the solution becomes a lot simpler and the whole "double recovery boot to clear EC SW Sync failures" is totally unnecessary. BUG= chromium:648829 BRANCH=None TEST=Run firmware_CorruptBothFwSigAB against chell and verify that it passes with a servo v2. TEST=Run platform_ServoPowerStateController_USBPluggedin against chell and verify that it passes with a servo v2. TEST=Run platform_ServoPowerStateController_USBUnplugged against samus and verify that it passes with a servo v2. TEST=Repeat the above tests on a servo v3 and verify that they pass. Change-Id: Ia987c084280c2e69702fe29683b6da8584d9b2d8 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/423211 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-by: Shelley Chen <shchen@chromium.org> [modify] https://crrev.com/9291fb6606ba0845ea9f08069258ade935170789/servo/drv/cros_ec_pd_softrec_power.py
,
Feb 3 2017
This *should* be fixed and was verified locally in c#22. Note, that we did not end up using the eventlog to check the recovery reason.
,
Feb 7 2017
,
Feb 7 2017
,
Feb 22 2017
,
Feb 22 2017
Verified fix. Ran FAFT_EC and FAFT_BIOS, all tests passed running on kevin. Here's the hardware profile: Type of hardware : kevin PVT3 Chrome OS Version : 9000.89.0 (Official Build) dev-channel kevin test BIOS VERSION : Google_Kevin.8785.94.7 / Google_Kevin.8785.157.0 EC Version : kevin_v1.10.120-90210ee / kevin_v1.10.169-1cffa00 PD Version : N/A CPU arch : aarch64 CPU model : ARMv8 Processor rev 2 (v8l) CPU speed : 1512.0000 Total Memory : 3904964 kB Memory Type : 1-78: Samsung | 00000000 | K4E6E304EB-EGCF MMC Model : 500073 MMC Firmware : 0x0300000000000000 VPD info: PBA_SN=NDX7PVHAM00240 mlb_serial_number=NDX7PVHAM00240 rlz_brand_code=SMAJ customization_id=SAMSUNG-KEVIN1 serial_number=0MAG91ZHA00054R Product_S/N=0MAG91ZHA00054 shipping_country=US initial_locale=en-US keyboard_layout=xkb:us::eng initial_timezone=America/Los_Angeles region=us hdcp_key_v1_4=
,
Feb 22 2017
Not sure why kevin was used to verify this, as it was never affected. If you're formally verifying, you'd want to use one of the glados derivatives.
,
Feb 22 2017
Ok, I will reopen this bug then. Put back to fixed.
,
Mar 4 2017
Ran faft_bios and faft_ec tests on cave(glados family), listed tests are failed with recovery issue. Test logs are uploaded. firmware_CorruptBothFwBodyAB.normal firmware_CorruptBothFwSigAB.normal firmware_CorruptBothKernelAB.normal firmware_LegacyRecovery.normal firmware_RollbackFirmware.normal firmware_RollbackKernel.normal firmware_UserRequestRecovery.normal firmware_UserRequestRecovery.ec_wp https://storage.googleapis.com/chromiumos-test-logs/bugfiles/crosp/648829/firmware_CorruptBothKernelAB_normal.tar.gz https://storage.googleapis.com/chromiumos-test-logs/bugfiles/crosp/648829/firmware_RollbackFirmware_normal.tar.gz https://storage.googleapis.com/chromiumos-test-logs/bugfiles/crosp/648829/firmware_RollbackKernel_normal.tar.gz https://storage.googleapis.com/chromiumos-test-logs/bugfiles/crosp/648829/firmware_CorruptBothFwSigAB_normal.tar.gz https://storage.googleapis.com/chromiumos-test-logs/bugfiles/crosp/648829/firmware_CorruptBothFwBodyAB_normal.tar.gz https://storage.googleapis.com/chromiumos-test-logs/bugfiles/crosp/648829/firmware_UserRequestRecovery_normal.tar.gz https://storage.googleapis.com/chromiumos-test-logs/bugfiles/crosp/648829/firmware_LegacyRecovery_normal.tar.gz https://storage.googleapis.com/chromiumos-test-logs/bugfiles/crosp/648829/firmware_UserRequestRecovery.ec_wp.tar.gz
,
Mar 6 2017
+tgillella, to save everyone time, can you provide some log snippet here ?
,
Mar 6 2017
Log snippet from debug/autoserv.DEBUG file for firmware_CorruptBothKernelAB.normal test:
03/03 18:36:16.100 INFO |firmware_CorruptBo:0069| Expected recovery boot and restore the OS image.
03/03 18:36:16.101 INFO | firmware_test:1143| -[FAFT]-[ start stepstate_checker ]----------
03/03 18:36:16.101 INFO | firmware_test:1065| calling <bound method FAFTCheckers.crossystem_checker of <autotest_lib.server.cros.faft.utils.faft_checkers.FAFTCheckers object at 0x7f78b3198750>> with args ({'recovery_reason': ('72', '91'), 'mainfw_type': 'recovery'},)
03/03 18:36:16.150 INFO | faft_checkers:0105| Expected 'recovery_reason' values ('72', '91') but got '2'
03/03 18:36:16.151 INFO | faft_checkers:0105| Expected 'mainfw_type' value 'recovery' == real value 'recovery'
03/03 18:36:16.152 DEBUG| test:0389| Test failed due to Not succeed: calling <bound method FAFTCheckers.crossystem_checker of <autotest_lib.server.cros.faft.utils.faft_checkers.FAFTCheckers object at 0x7f78b3198750>> with args ({'recovery_reason': ('72', '91'), 'mainfw_type': 'recovery'},) returning False. Exception log follows the after_iteration_hooks.
03/03 18:36:16.152 DEBUG| test:0392| starting after_iteration_hooks
03/03 18:36:16.152 DEBUG| test:0395| after_iteration_hooks completed
03/03 18:36:16.152 WARNI| test:0615| The test failed with the following exception
Traceback (most recent call last):
File "/build/cave/usr/local/build/autotest/client/common_lib/test.py", line 609, in _exec
_call_test_function(self.execute, *p_args, **p_dargs)
File "/build/cave/usr/local/build/autotest/client/common_lib/test.py", line 817, in _call_test_function
return func(*args, **dargs)
File "/build/cave/usr/local/build/autotest/client/common_lib/test.py", line 470, in execute
dargs)
File "/build/cave/usr/local/build/autotest/client/common_lib/test.py", line 347, in _call_run_once_with_retry
postprocess_profiled_run, args, dargs)
File "/build/cave/usr/local/build/autotest/client/common_lib/test.py", line 380, in _call_run_once
self.run_once(*args, **dargs)
File "/build/cave/usr/local/build/autotest/server/site_tests/firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.py", line 72, in run_once
'recovery_reason': recovery_reason,
File "/build/cave/usr/local/build/autotest/server/cros/faft/firmware_test.py", line 1144, in check_state
self._call_action(func, check_status=True)
File "/build/cave/usr/local/build/autotest/server/cros/faft/firmware_test.py", line 1070, in _call_action
(error_msg, info_msg, str(ret)))
TestFail: Not succeed: calling <bound method FAFTCheckers.crossystem_checker of <autotest_lib.server.cros.faft.utils.faft_checkers.FAFTCheckers object at 0x7f78b3198750>> with args ({'recovery_reason': ('72', '91'), 'mainfw_type': 'recovery'},) returning False
03/03 18:36:16.154 DEBUG| test:0620| Running cleanup for test.
03/03 18:36:16.272 INFO | faft_checkers:0105| Expected 'mainfw_type' values ('normal', 'developer') but got 'recovery'
03/03 18:36:16.272 INFO |firmware_CorruptBo:0033| Recover the disk OS by running chromeos-install...
Test status from console messages:
--------------------------------------------------------------------------------------------------------------------
/tmp/test_that_results_JWYdOr/results-1-firmware_CorruptBothKernelAB [ FAILED ]
/tmp/test_that_results_JWYdOr/results-1-firmware_CorruptBothKernelAB FAIL: Not succeed: calling <bound method FAFTCheckers.crossystem_checker of <autotest_lib.server.cros.faft.utils.faft_checkers.FAFTCheckers object at 0x7f78b3198750>> with args ({'recovery_reason': ('72', '91'), 'mainfw_type': 'recovery'},) returning False
/tmp/test_that_results_JWYdOr/results-1-firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.normal [ FAILED ]
/tmp/test_that_results_JWYdOr/results-1-firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.normal FAIL: Not succeed: calling <bound method FAFTCheckers.crossystem_checker of <autotest_lib.server.cros.faft.utils.faft_checkers.FAFTCheckers object at 0x7f78b3198750>> with args ({'recovery_reason': ('72', '91'), 'mainfw_type': 'recovery'},) returning False
/tmp/test_that_results_JWYdOr/results-1-firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.normal 03/03 18:36:11.688 ERROR| base_utils:0280| [stderr] mux_client_request_session: read from master failed: Broken pipe
/tmp/test_that_results_JWYdOr/results-1-firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.normal 03/03 18:36:11.726 ERROR| base_utils:0280| [stderr] Warning: Permanently added '100.96.48.221' (RSA) to the list of known hosts.
/tmp/test_that_results_JWYdOr/results-1-firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.normal 03/03 18:40:07.579 ERROR| base_utils:0280| [stderr] mux_client_request_session: read from master failed: Broken pipe
/tmp/test_that_results_JWYdOr/results-1-firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.normal 03/03 18:40:07.647 ERROR| base_utils:0280| [stderr] Warning: Permanently added '100.96.48.221' (RSA) to the list of known hosts.
/tmp/test_that_results_JWYdOr/results-1-firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.normal 03/03 18:40:33.285 ERROR| base_utils:0280| [stderr] mux_client_request_session: read from master failed: Broken pipe
/tmp/test_that_results_JWYdOr/results-1-firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.normal 03/03 18:40:33.349 ERROR| base_utils:0280| [stderr] Warning: Permanently added '100.96.48.221' (RSA) to the list of known hosts.
--------------------------------------------------------------------------------------------------------------------
Total PASS: 0/2 (0%)
,
Mar 6 2017
+shelly looks like the problem of recovery image reason cannot be retain for cave. +tgillella, can you check your repo to ensure changes in c#24 is in your repo ?
,
Mar 6 2017
It looks like your servod version is out of date. You can check the version that you're using in test_that.DEBUG: 03/03 18:32:20.326 INFO | test_runner_utils:0198| autoserv| 'servod_version': 'servod 0.0.1-d485f3f'} that seems to be from before the fix landed (which was shaw 9291fb6): https://chromium.googlesource.com/chromiumos/third_party/hdctools/ Can you please update your hdctools and make sure that you have the correct commit and retry the tests listed?
,
Nov 22 2017
Type of hardware : cave PVT SKU1
Chrome OS Version : 10149.0.0 (Official Build) dev-channel cave test
BIOS Version : Google_Cave.7820.197.0 / Google_Cave.7820.347.0
EC Version : cave_v1.9.282-23fe579 / cave_v1.9.391-20baa93
PD Version : cave_pd_v1.9.282-23fe579 / cave_pd_v1.9.391-20baa93
CPU arch : x86_64
CPU model : Intel(R) Core(TM) m3-6Y30 CPU @ 0.90GHz
CPU speed : 2200.0000
Total Memory : 3938904 kB
Memory Type : 1-78: Samsung | 55000000 | K4E8E324EB-EGCF
MMC Model : HBG4a2
MMC Firmware : 0xa400000000000000
VPD info:
customization_id=ASUS-CAVE
mlb_serial_number=QCC0Q50TA64900055
initial_locale=en-US
initial_timezone=America/Los_Angeles
keyboard_layout=xkb:us::eng
region=us
rlz_brand_code=ASUL
serial_number=GCN0CX07486449F
in_accel_x_lid_calibbias=-364
in_accel_y_lid_calibbias=319
in_accel_z_lid_calibbias=396
in_accel_x_base_calibbias=218
in_accel_y_base_calibbias=-801
in_accel_z_base_calibbias=-417
LV1:
-------------------------------------------------------------------------------------------------------------
/tmp/test_that_results_bM3t_0/results-1-firmware_FMap [ PASSED ]
/tmp/test_that_results_bM3t_0/results-1-firmware_FMap/firmware_FMap.normal [ PASSED ]
/tmp/test_that_results_bM3t_0/results-2-firmware_TryFwB.dev [ PASSED ]
/tmp/test_that_results_bM3t_0/results-2-firmware_TryFwB.dev/firmware_TryFwB.dev [ PASSED ]
/tmp/test_that_results_bM3t_0/results-3-firmware_TPMVersionCheck [ PASSED ]
/tmp/test_that_results_bM3t_0/results-3-firmware_TPMVersionCheck/firmware_TPMVersionCheck.normal [ PASSED ]
/tmp/test_that_results_bM3t_0/results-4-firmware_TryFwB [ PASSED ]
/tmp/test_that_results_bM3t_0/results-4-firmware_TryFwB/firmware_TryFwB.normal [ PASSED ]
/tmp/test_that_results_bM3t_0/results-5-firmware_FWtries.dev [ PASSED ]
/tmp/test_that_results_bM3t_0/results-5-firmware_FWtries.dev/firmware_FWtries.dev [ PASSED ]
/tmp/test_that_results_bM3t_0/results-6-firmware_TPMVersionCheck.dev [ PASSED ]
/tmp/test_that_results_bM3t_0/results-6-firmware_TPMVersionCheck.dev/firmware_TPMVersionCheck.dev [ PASSED ]
/tmp/test_that_results_bM3t_0/results-7-firmware_FWtries [ PASSED ]
/tmp/test_that_results_bM3t_0/results-7-firmware_FWtries/firmware_FWtries.normal [ PASSED ]
/tmp/test_that_results_bM3t_0/results-8-firmware_Mosys [ PASSED ]
/tmp/test_that_results_bM3t_0/results-8-firmware_Mosys/firmware_Mosys.normal [ PASSED ]
/tmp/test_that_results_bM3t_0/results-9-firmware_DevMode [ FAILED ]
/tmp/test_that_results_bM3t_0/results-9-firmware_DevMode FAIL: Setting 'power_state' to 'rec' :: [Errno 11] Resource temporarily unavailable
/tmp/test_that_results_bM3t_0/results-9-firmware_DevMode/firmware_DevMode.normal [ FAILED ]
/tmp/test_that_results_bM3t_0/results-9-firmware_DevMode/firmware_DevMode.normal FAIL: Setting 'power_state' to 'rec' :: [Errno 11] Resource temporarily unavailable
-------------------------------------------------------------------------------------------------------------
Total PASS: 16/18 (88%)
--------------------------------------------------------------------------------------------
/tmp/test_that_results_Y7oqA_/results-1-firmware_DevMode [ PASSED ]
/tmp/test_that_results_Y7oqA_/results-1-firmware_DevMode/firmware_DevMode.normal [ PASSED ]
--------------------------------------------------------------------------------------------
Total PASS: 2/2 (100%)
LV2:
---------------------------------------------------------------------------------------------------------------------------------------
/tmp/test_that_results_AA18Tt/results-01-platform_ServoPowerStateController_USBPluggedin [ PASSED ]
/tmp/test_that_results_AA18Tt/results-01-platform_ServoPowerStateController_USBPluggedin/platform_ServoPowerStateController [ PASSED ]
/tmp/test_that_results_AA18Tt/results-02-firmware_TPMExtend [ PASSED ]
/tmp/test_that_results_AA18Tt/results-02-firmware_TPMExtend/firmware_TPMExtend [ PASSED ]
/tmp/test_that_results_AA18Tt/results-03-firmware_RecoveryButton.dev [ PASSED ]
/tmp/test_that_results_AA18Tt/results-03-firmware_RecoveryButton.dev/firmware_RecoveryButton.dev [ PASSED ]
/tmp/test_that_results_AA18Tt/results-04-firmware_UserRequestRecovery [ PASSED ]
/tmp/test_that_results_AA18Tt/results-04-firmware_UserRequestRecovery/firmware_UserRequestRecovery.normal [ PASSED ]
/tmp/test_that_results_AA18Tt/results-05-firmware_DevBootUSB [ PASSED ]
/tmp/test_that_results_AA18Tt/results-05-firmware_DevBootUSB/firmware_DevBootUSB.dev [ PASSED ]
/tmp/test_that_results_AA18Tt/results-06-firmware_TPMNotCorruptedDevMode [ PASSED ]
/tmp/test_that_results_AA18Tt/results-06-firmware_TPMNotCorruptedDevMode/firmware_TPMNotCorruptedDevMode.dev [ PASSED ]
/tmp/test_that_results_AA18Tt/results-07-firmware_FAFTSetup [ PASSED ]
/tmp/test_that_results_AA18Tt/results-07-firmware_FAFTSetup/firmware_FAFTSetup [ PASSED ]
/tmp/test_that_results_AA18Tt/results-08-firmware_DevTriggerRecovery [ PASSED ]
/tmp/test_that_results_AA18Tt/results-08-firmware_DevTriggerRecovery TEST_NA: This test is only valid in physical buttoncontrolled dev mode firmware.
/tmp/test_that_results_AA18Tt/results-08-firmware_DevTriggerRecovery/firmware_DevTriggerRecovery.normal [ PASSED ]
/tmp/test_that_results_AA18Tt/results-08-firmware_DevTriggerRecovery/firmware_DevTriggerRecovery.normal TEST_NA: This test is only valid in physical buttoncontrolled dev mode firmware.
/tmp/test_that_results_AA18Tt/results-09-firmware_SelfSignedBoot [ PASSED ]
/tmp/test_that_results_AA18Tt/results-09-firmware_SelfSignedBoot/firmware_SelfSignedBoot.dev [ PASSED ]
/tmp/test_that_results_AA18Tt/results-10-firmware_RecoveryButton [ PASSED ]
/tmp/test_that_results_AA18Tt/results-10-firmware_RecoveryButton/firmware_RecoveryButton.normal [ PASSED ]
/tmp/test_that_results_AA18Tt/results-11-firmware_UserRequestRecovery.dev [ PASSED ]
/tmp/test_that_results_AA18Tt/results-11-firmware_UserRequestRecovery.dev/firmware_UserRequestRecovery.dev [ PASSED ]
---------------------------------------------------------------------------------------------------------------------------------------
Total PASS: 22/22 (100%)
LV3:
----------------------------------------------------------------------------------------------------------------------
/tmp/test_that_results_WTiILr/results-01-firmware_CorruptFwBodyA.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-01-firmware_CorruptFwBodyA.dev/firmware_CorruptFwBodyA.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-02-firmware_RONormalBoot.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-02-firmware_RONormalBoot.dev/firmware_RONormalBoot.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-03-firmware_CorruptKernelA.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-03-firmware_CorruptKernelA.dev/firmware_CorruptKernelA.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-04-firmware_CorruptFwSigA [ PASSED ]
/tmp/test_that_results_WTiILr/results-04-firmware_CorruptFwSigA/firmware_CorruptFwSigA.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-05-firmware_CorruptFwBodyB [ PASSED ]
/tmp/test_that_results_WTiILr/results-05-firmware_CorruptFwBodyB/firmware_CorruptFwBodyB.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-06-firmware_CorruptKernelB.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-06-firmware_CorruptKernelB.dev/firmware_CorruptKernelB.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-07-firmware_CorruptBothFwSigAB.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-07-firmware_CorruptBothFwSigAB.dev/firmware_CorruptBothFwSigAB.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-08-firmware_CorruptFwBodyA [ PASSED ]
/tmp/test_that_results_WTiILr/results-08-firmware_CorruptFwBodyA/firmware_CorruptFwBodyA.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-09-firmware_CorruptBothFwSigAB [ PASSED ]
/tmp/test_that_results_WTiILr/results-09-firmware_CorruptBothFwSigAB/firmware_CorruptBothFwSigAB.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-10-firmware_CorruptBothFwBodyAB [ PASSED ]
/tmp/test_that_results_WTiILr/results-10-firmware_CorruptBothFwBodyAB/firmware_CorruptBothFwBodyAB.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-11-firmware_CorruptFwBodyB.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-11-firmware_CorruptFwBodyB.dev/firmware_CorruptFwBodyB.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-12-firmware_RollbackFirmware.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-12-firmware_RollbackFirmware.dev/firmware_RollbackFirmware.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-13-firmware_CorruptFwSigB [ PASSED ]
/tmp/test_that_results_WTiILr/results-13-firmware_CorruptFwSigB/firmware_CorruptFwSigB.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-14-firmware_CorruptKernelB [ PASSED ]
/tmp/test_that_results_WTiILr/results-14-firmware_CorruptKernelB/firmware_CorruptKernelB.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-15-firmware_TPMKernelVersion [ FAILED ]
/tmp/test_that_results_WTiILr/results-15-firmware_TPMKernelVersion FAIL: Not succeed: calling crossystem_checker with args ({'kernkey_vfy': 'hash'},) returning False
/tmp/test_that_results_WTiILr/results-15-firmware_TPMKernelVersion/firmware_TPMKernelVersion [ FAILED ]
/tmp/test_that_results_WTiILr/results-15-firmware_TPMKernelVersion/firmware_TPMKernelVersion FAIL: Not succeed: calling crossystem_checker with args ({'kernkey_vfy': 'hash'},) returning False
/tmp/test_that_results_WTiILr/results-16-firmware_RollbackKernel.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-16-firmware_RollbackKernel.dev/firmware_RollbackKernel.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-17-firmware_CorruptBothKernelAB [ PASSED ]
/tmp/test_that_results_WTiILr/results-17-firmware_CorruptBothKernelAB/firmware_CorruptBothKernelAB.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-18-firmware_RollbackKernel [ PASSED ]
/tmp/test_that_results_WTiILr/results-18-firmware_RollbackKernel/firmware_RollbackKernel.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-19-firmware_CorruptFwSigB.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-19-firmware_CorruptFwSigB.dev/firmware_CorruptFwSigB.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-20-firmware_CorruptKernelA [ PASSED ]
/tmp/test_that_results_WTiILr/results-20-firmware_CorruptKernelA/firmware_CorruptKernelA.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-21-firmware_RollbackFirmware [ PASSED ]
/tmp/test_that_results_WTiILr/results-21-firmware_RollbackFirmware/firmware_RollbackFirmware.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-22-firmware_RONormalBoot [ PASSED ]
/tmp/test_that_results_WTiILr/results-22-firmware_RONormalBoot/firmware_RONormalBoot.normal [ PASSED ]
/tmp/test_that_results_WTiILr/results-23-firmware_CorruptBothFwBodyAB.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-23-firmware_CorruptBothFwBodyAB.dev/firmware_CorruptBothFwBodyAB.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-24-firmware_CorruptFwSigA.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-24-firmware_CorruptFwSigA.dev/firmware_CorruptFwSigA.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-25-firmware_CorruptBothKernelAB.dev [ PASSED ]
/tmp/test_that_results_WTiILr/results-25-firmware_CorruptBothKernelAB.dev/firmware_CorruptBothKernelAB.dev [ PASSED ]
----------------------------------------------------------------------------------------------------------------------
Total PASS: 48/50 (96%)
-------------------------------------------------------------------------------------------------------
/tmp/test_that_results_JkxfTU/results-1-firmware_TPMKernelVersion [ PASSED ]
/tmp/test_that_results_JkxfTU/results-1-firmware_TPMKernelVersion/firmware_TPMKernelVersion [ PASSED ]
-------------------------------------------------------------------------------------------------------
Total PASS: 2/2 (100%)
LV4:
---------------------------------------------------------------------------------------------------------------
/tmp/test_that_results_jsELjL/results-1-firmware_FwScreenCloseLid [ PASSED ]
/tmp/test_that_results_jsELjL/results-1-firmware_FwScreenCloseLid/firmware_FwScreenCloseLid.dev [ PASSED ]
/tmp/test_that_results_jsELjL/results-2-firmware_FwScreenPressPower [ PASSED ]
/tmp/test_that_results_jsELjL/results-2-firmware_FwScreenPressPower/firmware_FwScreenPressPower.dev [ PASSED ]
/tmp/test_that_results_jsELjL/results-3-firmware_EventLog [ PASSED ]
/tmp/test_that_results_jsELjL/results-3-firmware_EventLog/firmware_EventLog [ PASSED ]
/tmp/test_that_results_jsELjL/results-4-firmware_DevScreenTimeout [ PASSED ]
/tmp/test_that_results_jsELjL/results-4-firmware_DevScreenTimeout/firmware_DevScreenTimeout.dev [ PASSED ]
/tmp/test_that_results_jsELjL/results-5-firmware_LegacyRecovery [ PASSED ]
/tmp/test_that_results_jsELjL/results-5-firmware_LegacyRecovery/firmware_LegacyRecovery.normal [ PASSED ]
/tmp/test_that_results_jsELjL/results-6-firmware_InvalidUSB [ PASSED ]
/tmp/test_that_results_jsELjL/results-6-firmware_InvalidUSB/firmware_InvalidUSB.normal [ PASSED ]
---------------------------------------------------------------------------------------------------------------
Total PASS: 12/12 (100%)
LV5:
-------------------------------------------------------------------------------------------------------------------------------
/tmp/test_that_results_pOR_Hl/results-1-firmware_UpdateKernelDataKeyVersion [ PASSED ]
/tmp/test_that_results_pOR_Hl/results-1-firmware_UpdateKernelDataKeyVersion/firmware_UpdateKernelDataKeyVersion.dev [ PASSED ]
/tmp/test_that_results_pOR_Hl/results-2-firmware_UpdateFirmwareDataKeyVersion [ PASSED ]
/tmp/test_that_results_pOR_Hl/results-2-firmware_UpdateFirmwareDataKeyVersion/firmware_UpdateFirmwareDataKeyVersion [ PASSED ]
/tmp/test_that_results_pOR_Hl/results-3-firmware_UpdateKernelSubkeyVersion [ PASSED ]
/tmp/test_that_results_pOR_Hl/results-3-firmware_UpdateKernelSubkeyVersion/firmware_UpdateKernelSubkeyVersion.dev [ PASSED ]
/tmp/test_that_results_pOR_Hl/results-4-firmware_UpdateKernelVersion [ PASSED ]
/tmp/test_that_results_pOR_Hl/results-4-firmware_UpdateKernelVersion/firmware_UpdateKernelVersion.dev [ PASSED ]
/tmp/test_that_results_pOR_Hl/results-5-firmware_UpdateFirmwareVersion [ PASSED ]
/tmp/test_that_results_pOR_Hl/results-5-firmware_UpdateFirmwareVersion/firmware_UpdateFirmwareVersion [ PASSED ]
-------------------------------------------------------------------------------------------------------------------------------
Total PASS: 10/10 (100%)
faft_ec:
--------------------------------------------------------------------------------------------------------------------------
/tmp/test_that_results_lj9cSU/results-01-firmware_RONormalBoot.ec_wp [ PASSED ]
/tmp/test_that_results_lj9cSU/results-01-firmware_RONormalBoot.ec_wp/firmware_RONormalBoot.ec_wp [ PASSED ]
/tmp/test_that_results_lj9cSU/results-02-firmware_ECWriteProtect [ PASSED ]
/tmp/test_that_results_lj9cSU/results-02-firmware_ECWriteProtect/firmware_ECWriteProtect.normal [ PASSED ]
/tmp/test_that_results_lj9cSU/results-03-firmware_ECLidSwitch [ PASSED ]
/tmp/test_that_results_lj9cSU/results-03-firmware_ECLidSwitch/firmware_ECLidSwitch [ PASSED ]
/tmp/test_that_results_lj9cSU/results-04-firmware_DevMode.ec_wp [ PASSED ]
/tmp/test_that_results_lj9cSU/results-04-firmware_DevMode.ec_wp/firmware_DevMode.ec_wp [ PASSED ]
/tmp/test_that_results_lj9cSU/results-05-firmware_UserRequestRecovery.ec_wp [ PASSED ]
/tmp/test_that_results_lj9cSU/results-05-firmware_UserRequestRecovery.ec_wp/firmware_UserRequestRecovery.ec_wp [ PASSED ]
/tmp/test_that_results_lj9cSU/results-06-firmware_ECPeci [ PASSED ]
/tmp/test_that_results_lj9cSU/results-06-firmware_ECPeci TEST_NA: Nothing needs to be tested on this device
/tmp/test_that_results_lj9cSU/results-06-firmware_ECPeci/firmware_ECPeci [ PASSED ]
/tmp/test_that_results_lj9cSU/results-06-firmware_ECPeci/firmware_ECPeci TEST_NA: Nothing needs to be tested on this device
/tmp/test_that_results_lj9cSU/results-07-firmware_ECKeyboardReboot [ PASSED ]
/tmp/test_that_results_lj9cSU/results-07-firmware_ECKeyboardReboot/firmware_ECKeyboardReboot [ PASSED ]
/tmp/test_that_results_lj9cSU/results-08-firmware_ECWriteProtect.dev [ PASSED ]
/tmp/test_that_results_lj9cSU/results-08-firmware_ECWriteProtect.dev/firmware_ECWriteProtect.dev [ PASSED ]
/tmp/test_that_results_lj9cSU/results-09-firmware_ECCharging [ PASSED ]
/tmp/test_that_results_lj9cSU/results-09-firmware_ECCharging/firmware_ECCharging [ PASSED ]
/tmp/test_that_results_lj9cSU/results-10-firmware_ECPowerButton [ PASSED ]
/tmp/test_that_results_lj9cSU/results-10-firmware_ECPowerButton/firmware_ECPowerButton [ PASSED ]
/tmp/test_that_results_lj9cSU/results-11-firmware_SoftwareSync [ PASSED ]
/tmp/test_that_results_lj9cSU/results-11-firmware_SoftwareSync/firmware_SoftwareSync.normal [ PASSED ]
/tmp/test_that_results_lj9cSU/results-12-firmware_TPMVersionCheck.ec_wp [ PASSED ]
/tmp/test_that_results_lj9cSU/results-12-firmware_TPMVersionCheck.ec_wp/firmware_TPMVersionCheck.ec_wp [ PASSED ]
/tmp/test_that_results_lj9cSU/results-13-firmware_ECSharedMem [ PASSED ]
/tmp/test_that_results_lj9cSU/results-13-firmware_ECSharedMem/firmware_ECSharedMem [ PASSED ]
/tmp/test_that_results_lj9cSU/results-14-firmware_ECBattery [ PASSED ]
/tmp/test_that_results_lj9cSU/results-14-firmware_ECBattery/firmware_ECBattery [ PASSED ]
/tmp/test_that_results_lj9cSU/results-15-firmware_TryFwB.ec_wp [ PASSED ]
/tmp/test_that_results_lj9cSU/results-15-firmware_TryFwB.ec_wp/firmware_TryFwB.ec_wp [ PASSED ]
/tmp/test_that_results_lj9cSU/results-16-firmware_ECKeyboard [ PASSED ]
/tmp/test_that_results_lj9cSU/results-16-firmware_ECKeyboard/firmware_ECKeyboard [ PASSED ]
/tmp/test_that_results_lj9cSU/results-17-firmware_ECThermal [ PASSED ]
/tmp/test_that_results_lj9cSU/results-17-firmware_ECThermal TEST_NA: Nothing needs to be tested on this device
/tmp/test_that_results_lj9cSU/results-17-firmware_ECThermal/firmware_ECThermal [ PASSED ]
/tmp/test_that_results_lj9cSU/results-17-firmware_ECThermal/firmware_ECThermal TEST_NA: Nothing needs to be tested on this device
/tmp/test_that_results_lj9cSU/results-18-firmware_ECPowerG3 [ PASSED ]
/tmp/test_that_results_lj9cSU/results-18-firmware_ECPowerG3/firmware_ECPowerG3 [ PASSED ]
/tmp/test_that_results_lj9cSU/results-19-firmware_SoftwareSync.dev [ PASSED ]
/tmp/test_that_results_lj9cSU/results-19-firmware_SoftwareSync.dev/firmware_SoftwareSync.dev [ PASSED ]
/tmp/test_that_results_lj9cSU/results-20-firmware_ECUsbPorts [ PASSED ]
/tmp/test_that_results_lj9cSU/results-20-firmware_ECUsbPorts TEST_NA: Nothing needs to be tested on this device
/tmp/test_that_results_lj9cSU/results-20-firmware_ECUsbPorts/firmware_ECUsbPorts [ PASSED ]
/tmp/test_that_results_lj9cSU/results-20-firmware_ECUsbPorts/firmware_ECUsbPorts TEST_NA: Nothing needs to be tested on this device
/tmp/test_that_results_lj9cSU/results-21-firmware_ECLidShutdown [ PASSED ]
/tmp/test_that_results_lj9cSU/results-21-firmware_ECLidShutdown/firmware_ECLidShutdown [ PASSED ]
/tmp/test_that_results_lj9cSU/results-22-firmware_ECWatchdog [ PASSED ]
/tmp/test_that_results_lj9cSU/results-22-firmware_ECWatchdog/firmware_ECWatchdog [ PASSED ]
/tmp/test_that_results_lj9cSU/results-23-firmware_ECWakeSource [ FAILED ]
/tmp/test_that_results_lj9cSU/results-23-firmware_ECWakeSource FAIL: Unhandled ConnectionError: DUT is still down unexpectedly
/tmp/test_that_results_lj9cSU/results-23-firmware_ECWakeSource/firmware_ECWakeSource [ FAILED ]
/tmp/test_that_results_lj9cSU/results-23-firmware_ECWakeSource/firmware_ECWakeSource FAIL: Unhandled ConnectionError: DUT is still down unexpectedly
/tmp/test_that_results_lj9cSU/results-23-firmware_ECWakeSource/firmware_ECWakeSource 11/21 15:37:52.277 ERROR| mode_switcher:0614| wait_for_client() timed out.
/tmp/test_that_results_lj9cSU/results-24-firmware_ECHash [ PASSED ]
/tmp/test_that_results_lj9cSU/results-24-firmware_ECHash/firmware_ECHash [ PASSED ]
/tmp/test_that_results_lj9cSU/results-25-firmware_ECBootTime [ PASSED ]
/tmp/test_that_results_lj9cSU/results-25-firmware_ECBootTime/firmware_ECBootTime [ PASSED ]
/tmp/test_that_results_lj9cSU/results-26-firmware_RecoveryButton.ec_wp [ PASSED ]
/tmp/test_that_results_lj9cSU/results-26-firmware_RecoveryButton.ec_wp/firmware_RecoveryButton.ec_wp [ PASSED ]
--------------------------------------------------------------------------------------------------------------------------
Total PASS: 50/52 (96%)
-----------------------------------------------------------------------------------------------
/tmp/test_that_results_R3BdiX/results-1-firmware_ECWakeSource [ PASSED ]
/tmp/test_that_results_R3BdiX/results-1-firmware_ECWakeSource/firmware_ECWakeSource [ PASSED ]
-----------------------------------------------------------------------------------------------
Total PASS: 2/2 (100%)
|
|||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||
Comment 1 by aaboagye@chromium.org
, Sep 21 2016