Test suite fails to enable persistence in "Persistent browser bookmarks"
#11585 @fragile Scenario: Persistent browser bookmarks # features/torified_browsing.feature:155 Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in # features/step_definitions/snapshots.rb:172 And all persistence presets are enabled # features/step_definitions/usb.rb:365 And all persistent filesystems have safe access rights # features/step_definitions/usb.rb:470 And all persistence configuration files have safe access rights # features/step_definitions/usb.rb:481 And all persistent directories have safe access rights # features/step_definitions/usb.rb:500 When I start the Tor Browser in offline mode # features/step_definitions/common_steps.rb:376 And I add a bookmark to eff.org in the Tor Browser # features/step_definitions/common_steps.rb:418 And I warm reboot the computer # features/step_definitions/common_steps.rb:554 And the computer reboots Tails # features/step_definitions/common_steps.rb:259 And I enable persistence # features/step_definitions/usb.rb:352 FindFailed: can not find TailsGreeterPersistencePassphrase.png in S(0)[0,0 1024x768] Line 2171, in file Region.java (RuntimeError) features/torified_browsing.feature:165:in `And I enable persistence'
I see 4 chars already in the persistence passphrase field which explains the resulting behavior. Never seen that outside of the test suite. Seen that on feature/stretch and #5630. Interestingly, I've never seen this happen in other scenarios that use persistence, which might help identify the root cause :)
I strongly suspect that we're hit by the QXL "graphics buffers from previous boot strike again" issue, and try to interact with a Greeter that's not there yet, but is merely a picture of something that happens during the previous boot.
I've seen it again and here's what happens:
- Tails boots and eventually the Greeter appears, with 4 chars already typed in the persistence passphrase field; I think that might be a QXL problem. This makes "the computer reboots Tails" pass so the test suite starts looking for
- The screen goes black for a while.
- I see the fade in via grey to a new Greeter which does have the expected
Between step 1 and step 3, about 30 seconds have passed so
@screen.wait_and_click('TailsGreeterPersistencePassphrase.png', 10) has timeout'ed for a while already, hence the test failure. I'll bump this timeout.
- Status changed from Confirmed to In Progress
- % Done changed from 0 to 10
I'll bump this timeout.
That's 0e2e266343547c9657d562325444f0a4f59f550f, pushed straight to stable (I can't push to testing right now because it's currently at the 3.9-rc1 tag, and it would be sad to have this only on the devel branch for months).