From the time you click Test, you have 10 seconds to insert the key. Unfortunately, this also includes the time necessary for the system to recognize the key, load the proper drivers and mount the key. In some cases (such as a new key, fresh boot, fresh install, etc) it's quite possible to exceed the 10 second time limit while waiting for the system to initialize the key and register the event that the test is looking for.
The behaviour of the test is to watch for the insert event to occur and exit immediately on detection OR exit after 10 seconds if no detection occurred, I think a safe solution would be to bump the default up to 20 seconds. That way we should be guaranteed to get the events for even slow systems that trigger false failures without extending test time appreciably since the test is supposed to exit as soon as it registers the event.
Just to document this, here are two passing and failing insert and remove tests using removable_storage_watcher. Note that the passing tests are obvious and the failing tests take just a shade over 10 seconds of real time.
bladernr@klaatu:~$ time /usr/share/checkbox/scripts/removable_storage_watcher insert usb
Expected device usb inserted
Expected device usb inserted
real 0m4.429s
user 0m0.112s
sys 0m0.024s
bladernr@klaatu:~$ time /usr/share/checkbox/scripts/removable_storage_watcher insert usb
10 seconds have expired waiting for the device to be inserted.
real 0m10.470s
user 0m0.040s
sys 0m0.012s
bladernr@klaatu:~$ time /usr/share/checkbox/scripts/removable_storage_watcher remove usb
10 seconds have expired waiting for the device to be inserted.
real 0m10.309s
user 0m0.048s
sys 0m0.008s
bladernr@klaatu:~$ time /usr/share/checkbox/scripts/removable_storage_watcher remove usb
Removable storage device has been removed
From the time you click Test, you have 10 seconds to insert the key. Unfortunately, this also includes the time necessary for the system to recognize the key, load the proper drivers and mount the key. In some cases (such as a new key, fresh boot, fresh install, etc) it's quite possible to exceed the 10 second time limit while waiting for the system to initialize the key and register the event that the test is looking for.
The behaviour of the test is to watch for the insert event to occur and exit immediately on detection OR exit after 10 seconds if no detection occurred, I think a safe solution would be to bump the default up to 20 seconds. That way we should be guaranteed to get the events for even slow systems that trigger false failures without extending test time appreciably since the test is supposed to exit as soon as it registers the event.
Just to document this, here are two passing and failing insert and remove tests using removable_ storage_ watcher. Note that the passing tests are obvious and the failing tests take just a shade over 10 seconds of real time.
bladernr@klaatu:~$ time /usr/share/ checkbox/ scripts/ removable_ storage_ watcher insert usb
Expected device usb inserted
Expected device usb inserted
real 0m4.429s checkbox/ scripts/ removable_ storage_ watcher insert usb
user 0m0.112s
sys 0m0.024s
bladernr@klaatu:~$ time /usr/share/
10 seconds have expired waiting for the device to be inserted.
real 0m10.470s checkbox/ scripts/ removable_ storage_ watcher remove usb
user 0m0.040s
sys 0m0.012s
bladernr@klaatu:~$ time /usr/share/
10 seconds have expired waiting for the device to be inserted.
real 0m10.309s checkbox/ scripts/ removable_ storage_ watcher remove usb
user 0m0.048s
sys 0m0.008s
bladernr@klaatu:~$ time /usr/share/
Removable storage device has been removed
real 0m0.972s
user 0m0.072s
sys 0m0.008s