New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 648829 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Nov 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

FAFT: Use eventlog to check recovery reasons instead of crossystem

Project Member Reported by aaboagye@chromium.org, Sep 21 2016

Issue description

Recently, 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. 
 
I started working on a solution, but I found that if I manually set a recovery request using crossystem (I tried 0xc1 and 0xff), and then I physically press esc+refresh+power, when the device reaches the recovery screen the recovery reason is 0x2 (button pressed). I reproduced this behavior both for kevin and sentry.

I'm waiting to hear if this is expected behavior or not.

Comment 2 by waihong@google.com, Sep 21 2016

Did you press esc+refresh+power in the broken screen?
Status: Started (was: Assigned)
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.

Comment 4 by waihong@google.com, 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
Summary: FAFT: Use eventlog to check recovery reasons instead of crossystem (was: servod: power_state:rec breaks certain FAFT tests.)
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.

Comment 6 by dchan@chromium.org, 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.
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.

Comment 8 by dchan@chromium.org, 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.
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.

Comment 10 by dchan@chromium.org, 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
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. 
Project Member

Comment 12 by bugdroid1@chromium.org, 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

Comment 13 by dchan@google.com, Dec 15 2016

Cc: shchen@chromium.org
+shchen, any update on this ?

Cc: jwer...@chromium.org
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?
Cc: aaboagye@chromium.org
Owner: shchen@chromium.org
Assigning to shchen@ since she's started working on this.
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.
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?
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

Owner: tgillella@chromium.org
Hi,  what platform are you using to test the CL on?

Comment 20 by dchan@google.com, Jan 31 2017

test failed on any glados or kunimitsu devices - caroline, chell, asuka, lars, sentry

Comment 21 by dchan@google.com, Jan 31 2017

Owner: shchen@chromium.org
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.
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.
Project Member

Comment 24 by bugdroid1@chromium.org, 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

Status: Verified (was: Started)
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.
Status: Fixed (was: Verified)

Comment 27 by dchan@google.com, Feb 7 2017

Cc: andychanyan@chromium.org venkatar...@chromium.org tgillella@chromium.org twreid@chromium.org

Comment 28 by lhui@google.com, Feb 22 2017

Cc: lhui@chromium.org

Comment 29 by lhui@google.com, Feb 22 2017

Status: Verified (was: Fixed)
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=


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.

Comment 31 by lhui@google.com, Feb 22 2017

Status: Fixed (was: Verified)
Ok, I will reopen this bug then.  Put back to fixed.

Comment 33 by dchan@google.com, Mar 6 2017

+tgillella, to save everyone time, can you provide some log snippet here ?
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%)

Comment 35 by dchan@google.com, 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 ?
Owner: tgillella@chromium.org
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?
Status: Verified (was: Assigned)
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