summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ILTest/XST/XOrgConfDriver.pm18
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");
}