diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2011-08-02 14:47:55 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-08-02 15:10:22 +1000 |
commit | 026aba0b37a714586b3ff9aad22d84984750497f (patch) | |
tree | fbc7a594a32f1ea2bb9486ae88d90e45a1f74d7d | |
parent | 68fe69fac9ad98f2a678290b3920ac93701f8c4e (diff) |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | ILTest/XST/XOrgConfDriver.pm | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/ILTest/XST/XOrgConfDriver.pm b/ILTest/XST/XOrgConfDriver.pm index e50263c..d86a0e5 100644 --- a/ILTest/XST/XOrgConfDriver.pm +++ b/ILTest/XST/XOrgConfDriver.pm @@ -52,6 +52,7 @@ use ILTest::Error; use XOrg::xorgconf; use XOrg::xorglog; +use XOrg::xinput; use warnings; use strict; @@ -98,8 +99,11 @@ sub pre { sub run { my $self = shift; - my $log = XOrg::xorglog->new(file=> "/var/log/Xorg.0.log"); + my $xinput = XOrg::xinput->new(); + my @xinput_devices = $xinput->get_devices; + + my $log = XOrg::xorglog->new(file=> "/var/log/Xorg.0.log"); my $server = $log->server; my $driver = $self->{driver}; my $identifier = $self->{identifier}; @@ -119,13 +123,19 @@ sub run { for (@devices) { $self->iltest->println(8, "Found device '".$_->name."' present: ". $_->present); next if $_->name ne $identifier; - next if not $_->present; - $found = 1; + for my $dev (@xinput_devices) { + next if $dev->name ne $_->name; + if (not $_->present) { + $self->iltest->error(1, "Parsing bug: Log says '". $_->name ."' not present, xinput shows it is\n"); + $_->present = 1; + } + $found = 1; + } + last; } - if (not $found) { return ILTest::Error->new(msg => "Could not find device '$identifier' in log\n"); } |