New issue
Advanced search Search tips

Issue 754190 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

factory: Simplify Finalize test

Project Member Reported by hungte@chromium.org, Aug 10 2017

Issue description

Per recent discussion, we think the finalize test should be simplified:

 - Remove argument 'waive_tests' because waived items should be handled by test list now.
 - Remove untested_tests and and RunPreflight since we don't need to check test states now. It's better done in Barrier.
 - Change Barrier to support "fail if any previous tests, even in parent groups were not succeeded (or waived)".


Additionally, I think we can
 - Remove CheckDevSwitch because all Chromebook today use virtual dev, so no need to check at finalization test (will be verified in gooftool verify).
 - Remove CheckWriteProtect because all Chromebooks today do not have an easy way to flip WP pin.

That implies UpdateState is also not needed. So there's also no need to support the 'F' on 'SPACE' check.

Meanwhile, we can try to update the realtime output of gooftool execution on UI.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/a4d08c901a7e99e3739dbdab6a857c2666b47456

commit a4d08c901a7e99e3739dbdab6a857c2666b47456
Author: Hung-Te Lin <hungte@chromium.org>
Date: Wed Aug 16 11:03:23 2017

pytests: Add 'include_parents' to 'summary' test.

The new 'include_parents' allow test 'summary' to check "all previous
tests", not just inside same group", to have been passed.

This is similar and more flexible than the prefligh check in 'finalize'
test. A new 'AllCheckPoint' test has been defined that will run summary
with include_parents=True.

BUG= chromium:754647 , chromium:754190 
TEST=make test

Change-Id: I23e2b1097c25b1ef10b6ce7f7473c13924f7b9b4
Reviewed-on: https://chromium-review.googlesource.com/615065
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Pi-Hsun Shih <pihsun@chromium.org>

[modify] https://crrev.com/a4d08c901a7e99e3739dbdab6a857c2666b47456/po/zh-CN.po
[modify] https://crrev.com/a4d08c901a7e99e3739dbdab6a857c2666b47456/py/test/test_lists/generic_common.test_list.json
[modify] https://crrev.com/a4d08c901a7e99e3739dbdab6a857c2666b47456/py/test/pytests/summary/summary.py
[modify] https://crrev.com/a4d08c901a7e99e3739dbdab6a857c2666b47456/py/test/test_lists/generic_grt.test_list.json

Project Member

Comment 2 by bugdroid1@chromium.org, Aug 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/5384f0e55df962de711aa477e0d8cf281f98e7ad

commit 5384f0e55df962de711aa477e0d8cf281f98e7ad
Author: Wei-Han Chen <stimim@google.com>
Date: Thu Aug 17 06:37:53 2017

pytests: summary: make status table scrollable

If the pytest is showing too many test statuses, the status table will
be too long, and cannot fit into the screen.
Make the table scrollable in this CL.

BUG= chromium:754647 , chromium:754190 
TEST=manual

Change-Id: I578990e464d4d5b09abe2fa122e4ff4dd67e21b6
Reviewed-on: https://chromium-review.googlesource.com/616407
Commit-Ready: Wei-Han Chen <stimim@chromium.org>
Tested-by: Wei-Han Chen <stimim@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>

[modify] https://crrev.com/5384f0e55df962de711aa477e0d8cf281f98e7ad/py/test/pytests/summary/summary.py

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/27eaf63d802f9e7a459260cd801713d39a256582

commit 27eaf63d802f9e7a459260cd801713d39a256582
Author: Hung-Te Lin <hungte@chromium.org>
Date: Thu Aug 17 06:37:56 2017

pytests: Simplify 'finalize' flow and arguments.

The 'finalize' test can be simplified by the recent improvements in test
list.

- waive_tests and untested_tests should be provided by testlist options.
- test states should be ensured by AllCheckPoint(summary).
- Preflight can be reduced because (1) Modern Chromebooks use virtual
  switches (2) Gooftool still will check those values
- allow_force_finalize and related messages are no longer needed.

BUG= chromium:754190 
TEST=make test

Change-Id: I46557c7fa0923362f11e7f30abef7f214d6d9fb3
Reviewed-on: https://chromium-review.googlesource.com/615066
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>

[modify] https://crrev.com/27eaf63d802f9e7a459260cd801713d39a256582/po/zh-CN.po
[modify] https://crrev.com/27eaf63d802f9e7a459260cd801713d39a256582/py/test/pytests/finalize/finalize.py
[modify] https://crrev.com/27eaf63d802f9e7a459260cd801713d39a256582/py/test/test_lists/generic_grt.test_list.json

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/1c2e803bba30ce3fc93e1d6d1264b63cb19fd0af

commit 1c2e803bba30ce3fc93e1d6d1264b63cb19fd0af
Author: Hung-Te Lin <hungte@chromium.org>
Date: Fri Aug 25 14:49:19 2017

test_lists: Easier to re-test GRT tests.

It is very often that projects may fail to finish Finalize test and need
to re-run several times, and current GRT is a huge AutomatedSequence
group so it takes a long time to retry, also reproducing lots of useless
logs.

In order to simplify the flow, we should change GRT from
AutomatedSequence to TestGroup. However, Finalize should still be
protected by CheckPoint, and we should set CheckPoint to
action_on_failure=STOP so even if the operator clicked "Mark Failed" in
engineering mode, Goofy won't start Finalization automatically.

BUG= chromium:754647 , chromium:754190 
TEST=manually run GRT group.

Change-Id: I8da67e47fea3c3d9cb1666b98aafc2e78efc7073
Reviewed-on: https://chromium-review.googlesource.com/634790
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>

[modify] https://crrev.com/1c2e803bba30ce3fc93e1d6d1264b63cb19fd0af/py/test/test_lists/generic_common.test_list.json
[modify] https://crrev.com/1c2e803bba30ce3fc93e1d6d1264b63cb19fd0af/py/test/test_lists/generic_grt.test_list.json

Comment 5 by hungte@chromium.org, Sep 21 2017

Owner: hungte@chromium.org
Status: Verified (was: Untriaged)

Sign in to add a comment