summary refs log tree commit diff
path: root/nixos/lib/test-driver/Machine.pm
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2015-05-22 07:14:00 +0200
committeraszlig <aszlig@redmoonstudios.org>2015-05-22 07:21:58 +0200
commit8be00dc71dbe409447feddc42d26bdfaf38703a4 (patch)
treeed1958593655e40907c4bd17232bae98c3a50ecc /nixos/lib/test-driver/Machine.pm
parentefd4fcbebc09d2c40713913de40786d8cb31ed9c (diff)
downloadnixpkgs-8be00dc71dbe409447feddc42d26bdfaf38703a4.tar
nixpkgs-8be00dc71dbe409447feddc42d26bdfaf38703a4.tar.gz
nixpkgs-8be00dc71dbe409447feddc42d26bdfaf38703a4.tar.bz2
nixpkgs-8be00dc71dbe409447feddc42d26bdfaf38703a4.tar.lz
nixpkgs-8be00dc71dbe409447feddc42d26bdfaf38703a4.tar.xz
nixpkgs-8be00dc71dbe409447feddc42d26bdfaf38703a4.tar.zst
nixpkgs-8be00dc71dbe409447feddc42d26bdfaf38703a4.zip
nixos/test-driver: Make tesseract OCR optional.
By default this is now enabled, and it has to be explicitely enabled
using "enableOCR = true". If it is set to false, any usage of
getScreenText or waitForText will fail with an error suggesting to pass
enableOCR.

This should get rid of the rather large dependency on tesseract which
we don't need for most tests.

Note, that I'm using system("type -P") here to check whether tesseract
is in PATH. I know it's a bashism but we already have other bashisms
within the test scripts and we also run it with bash, so IMHO it's not a
problem here.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'nixos/lib/test-driver/Machine.pm')
-rw-r--r--nixos/lib/test-driver/Machine.pm3
1 files changed, 3 insertions, 0 deletions
diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm
index d149634e9e6..824f23bcc4b 100644
--- a/nixos/lib/test-driver/Machine.pm
+++ b/nixos/lib/test-driver/Machine.pm
@@ -499,6 +499,9 @@ sub screenshot {
 sub getScreenText {
     my ($self) = @_;
 
+    system("type -P tesseract &> /dev/null") == 0
+        or die "getScreenText used but enableOCR is false";
+
     my $text;
     $self->nest("performing optical character recognition", sub {
         my $tmpbase = Cwd::abs_path(".")."/ocr";