Commit ddcf83b3 authored by anonym's avatar anonym
Browse files

Reintroduce Sikuli for pinentry interaction.

This partially reverts commit 9d82539e.

The reason is that Dogtail (or rather the a11y/AT-SPI stack it builds
on) has issues with pinentry. E.g. accerciser simply cannot see it,
and everything else experiences a long delay => the tests take much
longer to run.
parent dc484819
......@@ -45,12 +45,13 @@ end
def maybe_deal_with_pinentry
begin
# Dogtail doesn't support the password entry field for some reason
# but when this label is shown it should always be ready, and then
# we fallback to Sikuli for typing.
Dogtail::Application.new('pinentry').child('Passphrase').wait
@screen.wait_and_click("PinEntryPrompt.png", 10)
# Without this sleep here (and reliable visual indicators) we can sometimes
# miss keystrokes by typing too soon. This sleep prevents this problem from
# coming up.
sleep 5
@screen.type(@passphrase + Sikuli::Key.ENTER)
rescue ExecutionFailedInVM
rescue FindFailed
# The passphrase was cached or we wasn't prompted at all (e.g. when
# only encrypting to a public key)
end
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment